Autor |
Beitrag |
canada
Hält's aus hier
Beiträge: 5
|
Verfasst: Sa 06.03.04 20:24
Erstmal Hi!,
Ich habe schon gesucht obs hier etwas zu diesem Thema gab, hab aber nichts gefunden Poste es jetzt mal, nebenbei, es gibt hier gute Infos  Ich habe in der letzten Zeit schon etwas selbst rum expandiert, habs trotzdem bis jetzt net selbst hin bekommen deswegen mal die Frage an euch, ob Ihr es vielleicht wisst wie das geht??
Ich möchte gerne so ein Fenster in mein Proggi haben
mitglied.lycos.de/robertpuegner/db_2.jpg
mitglied.lycos.de/robertpuegner/db_3.jpg (naturlich ohne den Inhalt  )
einzigster Unterschied ist, das ich das auf einen Button legen will:
mitglied.lycos.de/robertpuegner/db_1.jpg (der Impressum)
kurz, wenn ich auf den Button drücke (Impressum), sich so ein Fenster öffnet.
nutze Delphi 7
schon mal thx!
Moderiert von Tino: IMG-Tags entfernt; Titel geändert; Topic verschoben.
|
|
grayfox
      
Beiträge: 800
win98, winXP
D4 Standard; D6 Personal
|
Verfasst: So 07.03.04 00:08
hallo canada!
ich bin mir nicht ganz sicher, ob ich deine frage richtig verstanden habe. kann es sein, dass du so etwas suchst?
Delphi-Quelltext 1: 2: 3: 4:
| begin Form2.ShowModal; Form2.Free end |
diese 2 zeilen trägst du in den OnClickEvent deines buttons und schon wird die form geöffnet.
oder du erstellst die form zur laufzeit, dann sieht das so aus:
aber nicht drauf vergessen, form2 aus der liste der selbständig erzeugten formulare zu entfernen.
Delphi-Quelltext 1: 2: 3: 4: 5:
| begin Form2:= TForm.Create(self); Form2.ShowModal; Form2.Free end |
Zitat: | einzigster Unterschied ist, das ich das auf einen Button legen will |
was willst auf einen button legen?
mf, stefan
Moderiert von Peter Lustig: Code- durch Delphi-Tags ersetzt
|
|
obbschtkuche
Gast
Erhaltene Danke: 1
|
Verfasst: So 07.03.04 00:11
|
|
canada 
Hält's aus hier
Beiträge: 5
|
Verfasst: So 07.03.04 10:58
ich mein das so,
wenn ich zb. Beispiel, wie auf den ersten beiden Bildern zusehen ist, auf "About" klicke sich das Fenster "About Web Browser" öffnet, soweit klar?!
Jetzt möchte ich aber so etwas in mein Proggi einbauen, nähmlich wenn ich den Button "Impressum" (Bild 3) anklicke, sich auch so ein Fenster öffnet (Bild 2), jetzt verständlich erklärt??
thx
|
|
rokdd
      
Beiträge: 329
Win XP
D6
|
Verfasst: So 07.03.04 11:13
hallo canada,
der source dafür wurde doch schon oben gepostet... was gibts denn da noch für ein Problem?
Rokdd
|
|
grayfox
      
Beiträge: 800
win98, winXP
D4 Standard; D6 Personal
|
Verfasst: So 07.03.04 14:45
hallo obbschtkuche!
sorry, bei meinem ersten code-schnippsel ist das FREE natürlich zuviel des guten, sonst findet beim nächsten mal öffnen delphi kein formular mehr
Zitat: | beim zweiten must du es beim schliesen des programmes einfügen (OnClose) ! |
das wäre aber ganz ungeschickt, wenn du die form erst beim schliessen des programmes free'st. denn es wäre ja denkbar, dass der user sich das formular öfters anzeigen lässt, und somit räumst du nur die letzte instanz aus dem speicher.
Zitat: | und Form2:= TForm.Create(self); muss bei OnCreate rein |
und so würde ich es gar nicht machen - denn dann würde das formular erstellt, auch wenn der user den button nicht klickt.
mit deinem vorschlag kannst die form gleich in der liste der beim programmstart zu erzeugenden formularen belassen. das macht nämlich genau dasselbe...
und dass man eine unit, die man verwenden will, einbindet, hatte ich aber schon vorausgesetzt 
|
|
grayfox
      
Beiträge: 800
win98, winXP
D4 Standard; D6 Personal
|
Verfasst: So 07.03.04 15:03
hallo canada!
dann versuch ich mal licht ins dunkel zu bringen, denn ich habs ja auch verursacht
- du erstellt das formular, das zu anzeigen willst
- gibst ihm den namen 'AboutDlg'
- speicherst es unter 'AboutFrm.pas' ab
- in deinem programm wählst mit [File] - [use Unit] 'AboutFrm' aus
- und verschiebst es in [Project] - [Options] von 'auto-create forms' nach 'available forms'
so weit, so gut.
danach doppelklickst du den 'ImpressumBtn' und trägst in seinen OnClickEvent folgendes ein
Delphi-Quelltext 1: 2: 3:
| AboutDlg:= TAboutDlg.Create(self); AboutDlg.ShowModal; AboutDlg.Free; |
[für fortgeschrittene]
Delphi-Quelltext 1: 2: 3: 4:
| with TAboutDlg.Create(self) do begin ShowModal; Free end; |
somit wird dir dein formuar auf buttonclick angezeigt. dabei ist es völlig egal, mit welchem button du es öffnest - du brauchst ihm nur in seinen OnClickEvent mitteilen, was er zu tun hat
ich hoffe, dass es nun taghell geworden ist
mfg, stefan
Moderiert von Motzi: Code- durch Delphi-Tags ersetzt.
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: So 07.03.04 15:26
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
grayfox
      
Beiträge: 800
win98, winXP
D4 Standard; D6 Personal
|
Verfasst: So 07.03.04 17:45
hallo motzi!
danke fürs tags-ersetzen! du machst das echt super!
setzt du beim anzeigen von aboutboxen wirklich schutzblöcke? normalerweise sollte ja das programm dort nicht abstürzen, da nur etwas angezeigt und nichts eingegeben oder berechnet wird, das zu fehlern bzw programmabstürzen führen könnte.
mfg, stefan
|
|
canada 
Hält's aus hier
Beiträge: 5
|
Verfasst: So 07.03.04 19:19
ertsmal danke, danke, ...
desweiteren ist mein Problem/ Frage geklärt, habs mit der Variante gemacht und es geht:
Delphi-Quelltext 1: 2: 3:
| begin Form2.ShowModal; end |
und ein neus Form und Unit genommen, ...
Moderiert von Motzi: Quote- durch Delphi-Tags ersetzt.
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: So 07.03.04 21:26
grayfox hat folgendes geschrieben: | setzt du beim anzeigen von aboutboxen wirklich schutzblöcke? normalerweise sollte ja das programm dort nicht abstürzen, da nur etwas angezeigt und nichts eingegeben oder berechnet wird, das zu fehlern bzw programmabstürzen führen könnte. |
Mach ich (soweit möglich) eigentlich immer in allen Fällen in denen ich Objekte erzeuge oder zur Laufzeit Speicher reserviere..! Einfach für den Fall, dass auch alles korrekt wieder freigegeben wird wenn ein Fehler auftritt, und das kann so ziemlich immer passieren (welcher Natur auch immer)...
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|