Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 04:34

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Aug 16, 2008 02:16 
Offline
DGL Member

Registriert: Sa Jan 13, 2007 18:39
Beiträge: 15
hallo :)

ich habe ein buch, in dem folgendes beispiel aufgeführt wird:

1.
Code:
  1. procedure TForm1.Button1Click(Sender: TObject); //Form2.Show
  2. begin
  3.   if Form2=nil then Form2:=TForm.Create(Application);
  4.   Form2.Show;
  5. end;
  6. procedure TForm1.Button2Click(Sender: TObject); //Form2.Release
  7. begin
  8.   if Form2<>nil then begin
  9.     Form2.Release;
  10.     Form2:=nil;
  11. end;


2.
Code:
  1. procedure TForm2.CreateParams(var Params: TCreateParams);
  2. begin
  3.   inherited CreateParams(Params);
  4.   with Params do begin
  5.     Style:=Style or WS_CHILD;
  6.     WndParent:=Application.MainForm.Handle;
  7.   end;
  8. end;


3.
Code:
  1. private
  2.   procedure WMEraseBkGnd(var Msg: TMessage); message WM_ERASEBKGND;
  3. ..
  4.  
  5. procedure TForm2.WMEraseBkGnd;
  6. var rec: TRect;
  7. newBr: THandle;
  8. Image: TBitmap;
  9. begin
  10.   rec.Left:=0;
  11.   rec.top:=0;
  12.   rec.Right:=clientwidth;
  13.   rec.Bottom:=Clientheight;
  14.   Image:=TBitMap.Create;
  15.   Image.LoadFromFile('..bmp');
  16.   newBr:=CreatePatternBrush(Image.Handle);
  17.   FillRect(Self.Canvas.Handle, rec, newBr);
  18.   DeleteObject(newBr);
  19.   Image.Free;
  20.   Msg.Result:=0;
  21. end;


was ich machen will, ist ein eigenen formulartyp zu erstellen TClientForm, abgeleitet von TForm..
diese sollen folgender maßen aufgerufen werden:

Code:
  1. procedure TClientForm.Initialisate(Owner: TComponent; Image: TBitmap=nil); overload;
  2. procedure TClientForm.Initialisate(Owner: TComponent; Path: String); overload;
  3.  
  4. var Form: TClientForm;
  5.  
  6. Form.Initialisate(Application.MainForm, 'Bild.bmp');


also quasi soll man als parameter übergeben, welches formular das clientform als parent haben soll und wenn gewünscht ein hintergrund bild, dass mit WMEraseBkGnd gezeichnet werden soll, falls nicht die procedure mit Image=nil aufgerufen wurde..
beim aufruf der prozedur soll folgendes gesehen: formular wird erzeugt, als client eingerichtet, der hintergrund wird evtl verändert, dann soll es quasi als normales formular fungieren.. beim schließen soll es dann freigegeben werden und die referenz auf nil gesetzt werden, damit es beim erneuten aufrufen keine probleme gibt..

ich hoffe es wird klar, was gemeint ist, sonst fragt einfach nach^^

es wäre sehr nett, wenn mir jemand mal die klassendeklaration hier posten könnte, da ich hier am rumraten bin, aber es nicht funktioniert wie es soll :(

ps: später möchte ich noch das die images wahlweise gestreckt oder wie normal nebeneinander gezeichnet werden.. geht das strecken auch mit dieser prozedur? und kann man das formular auch als normales formular verwenden, wie das unter Datei->Neu->Formular, sodass es auch in der entwurfszeit zur verfügung steht?^^

vielen dank schonmal :)
mfg lord of the universe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 16, 2008 09:17 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
In wieweit unterscheiden sich deine Anforderungen von dem was Delphi mit MDI ohnehin bereits bietet?

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 17, 2008 12:07 
Offline
DGL Member

Registriert: Sa Jan 13, 2007 18:39
Beiträge: 15
keine ahnung, ich hab noch nie was mit mdi gemacht :(
das wäre natürlich praktisch, wenn das schon alles so funktioniert :)
aber kann man das nich auch selbst programmieren?


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]