AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fensterform bestimmen

Ein Thema von Mysterious Spirit · begonnen am 27. Okt 2004 · letzter Beitrag vom 29. Okt 2004
Antwort Antwort
Mysterious Spirit

Registriert seit: 26. Okt 2004
29 Beiträge
 
#1

Fensterform bestimmen

  Alt 27. Okt 2004, 21:46
Hallo, ich will das Formularfenster meines Programmes wie die Form eines bestimmten Bitmaps aussehen lassen. Dazu ahbe ich folgendes gefudnen

http://www.swissdelphicenter.ch/de/showcode.php?id=582

Schön und gut, funktioniert auch einwandfrei. Nur ich will bei dem programm nciht das Bitmap bei packen, deshalb ahbe ich es versucht in einer Imagelist zu hinterlegen, was aber das programm so groß amcht dass ich es weder speichern noch kompilieren lassne kann. Kann ich soetwas auch mit JPGs oder Gifs realisieren, da diese ja kleiner sind, oder gibt es einen Umweg wie ich ohne ein Bild immer zu laden die Fensterform bestimmen kann
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: Fensterform bestimmen

  Alt 28. Okt 2004, 04:07
mit diesem auch bei swissdelphicenter gefundenen code ( http://www.swissdelphicenter.ch/de/showcode.php?id=1774 ) lässt sich eine Grafik (TGraphic) in ein TBitmap umwandeln, daraus ergäbe sich dann (angelehnt an den link von dir) in etwa folgender code fürs FormCreate:
Delphi-Quellcode:
function GraphicToBMP(Graphic: TGraphic): TBitmap;
begin
  Result := TBitmap.Create;
  Result.Width := Graphic.Width;
  Result.Height := Graphic.Height;
  Result.Canvas.Draw(0,0,Graphic);
end;

procedure TForm1.FormCreate(Sender: TObject);
var Picture: TPicture;
begin
  Picture := TPicture.Create;
  try
    Picture.LoadFromFile('...'); {JPG- und BMP-Dateien, GIF sind in Delphi nicht standartmäßig implementiert}
    FRegion := CreateRegion( GraphicToBMP(Picture.Graphic) );
    SetWindowRgn(Handle,FRegion,True);
  finally
    Picture.Free;
  end;
end;
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Mysterious Spirit

Registriert seit: 26. Okt 2004
29 Beiträge
 
#3

Re: Fensterform bestimmen

  Alt 28. Okt 2004, 10:52
Ersteinmal danke für den Tipp, aber dann müsste ich das Bild immernoch extern laden oder kann man irgendwo eine TGrafik Datei hinterlegenen, TIMage und Timagelist sind ja halt, wie der Name schon sagt von einem anderen Typ
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#4

Re: Fensterform bestimmen

  Alt 28. Okt 2004, 10:58
Wenn du die Bitmaps nicht veränderst, könntest du doch aus den Outlines der Bitmap ein Array erstellen, dass die begrentenden Punkte enthält, und dann mit CreatePolygonRgn eine Window-Region erstellen.
Dann rufst du SetWindowRgn(DeineRgn) auf, und dein Problem sollte gelöst sein.

Die andere Möglichkeit wäre, die Bitmaps ZLib-komprimiert zu speichern und zu laden.

BtW: Sind deine Bitmaps monochrom?
  Mit Zitat antworten Zitat
Mysterious Spirit

Registriert seit: 26. Okt 2004
29 Beiträge
 
#5

Re: Fensterform bestimmen

  Alt 28. Okt 2004, 11:03
Ja die Bitmaps sind manochrom, da ich sie ja nur als Formvorlage brauche, wie komm ich den an das Array dran und dann an den dazu passenden Befehl?
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: Fensterform bestimmen

  Alt 28. Okt 2004, 18:48
Zitat von Mysterious Spirit:
Ersteinmal danke für den Tipp, aber dann müsste ich das Bild immernoch extern laden oder kann man irgendwo eine TGrafik Datei hinterlegenen, TIMage und Timagelist sind ja halt, wie der Name schon sagt von einem anderen Typ
ein TImage besitzt eine property Picture: TPicture die wiederum ihrerseits ein Graphic (TGraphic) objekt enthält, dementsprechend ist es nicht direkt ein anderer typ
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Mysterious Spirit

Registriert seit: 26. Okt 2004
29 Beiträge
 
#7

Re: Fensterform bestimmen

  Alt 29. Okt 2004, 13:29
Danke erstmal,d as ahbe ich auchgesehen, ich hatte den code an eienr stelle falsch angewandr. Jetzt funzt aber alles. Danke für eure Hilfe.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz