Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi zwei Forms für den gleichen button verwenden? (https://www.delphipraxis.net/59069-zwei-forms-fuer-den-gleichen-button-verwenden.html)

Arnulf 16. Dez 2005 21:28


zwei Forms für den gleichen button verwenden?
 
Hi
Wiedermal eine frage für neulinge :)
Ich wollte mein kleines programm als minni version zur verfügung stellen.
Also Form1 ist groß und Form2 ist eine minni version mit ein paar buttons.
Form2 hat keine titelleiste und nur buttons mit einem panel.
Jetzt kann ich zwar aus form1 die form2 aufrufen und form1 verstecken, aber ich kann ja schlecht von Form2 aus buttons auf der form1 drücken.

wie macht man sowas?

Danke
Arnulf

TheReaper 16. Dez 2005 21:40

Re: zwei Forms für den gleichen button verwenden?
 
Grüße!

Doch, du kannst kannst in einem nich aktiven Form auf Buttons "klicken" indem du in einem Button in dem zweiten Form die Procedure aus dem Form1-Button schreibst. Also so:
Delphi-Quellcode:

...

uses Unit1;

...

procedure TForm2.Button1Click(Sender: TObject)
begin
  Form1.Button1click(nil);
end;
Besser wäre aber wenn du den Code in eine Prozedur schreibst und diese in beiden Buttons aufrufst.
Achja. :wall: Noch besser wäre aber im Form 2 button im OnClick ereignis die deklaration vom ersten button einträgst. Das einfachste immer zuletzt :oops:

Arnulf 16. Dez 2005 21:48

Re: zwei Forms für den gleichen button verwenden?
 
aaaaahhhh.
Jetzt versteh ich garnichts mehr :)
Ich hab die frage gestellt, weil ich das problem schon einmal hatte und es einfach umgangen hab.

ich trag ja in unit1 " uses unit2;" ein
damit konnte ich damals zumindestens bei unit2 "uses unit1" garnicht mehr verwenden.
Bei meinem jetztigen versuch scheint es aber zu funktionieren ????
Jetzt bin ich verwirrt - ansonsten hätte ich das garnicht gefragt - komisch

jedenfalls Danke
Arnulf

tomsel 16. Dez 2005 21:59

Re: zwei Forms für den gleichen button verwenden?
 
Verstehe ich richtig:

Du hast ein "normales" Form und dazu einen platzsparenden "Zwilling", der aber im Grunde das Gleiche macht. Aus dem großen Form soll man in das kleinere wechseln können und umgekehrt.

Wie wärs, wenn du beides in einem Form realisieren würdest. Dazu könnte man zwei Panels auf das Form legen, von denen jeweils nur eines sichtbar ist. Das Form muss seine Größe dabei an das sichtbare Panel anpassen. Mit Align = alTop richten sich die Panels automatisch am oberen Rand des Forms aus. Die Titelzeile kann mann mit Borderstyle = bsNone / bsSizeable ein- und ausblenden.

Arnulf 16. Dez 2005 22:21

Re: zwei Forms für den gleichen button verwenden?
 
ja das hab ich mir auch vorher schon als notlösung überlegt.
aber ich hab noch recht viel debug zeug invisible auf der form1 und ich wollt mir den stress ersparen da jedesmal herumzublenden und dann noch für das release die debug memos zu entfernen.

ansonsten ist das vermutlich die bessere lösung.
nachdem ich ja nur buttons drück auf der form2 werd ich das letzt endlich vielleicht so machen.
aber fürs erste scheint es zu funktionieren gegenseitig die units einzutragen - was mich jetzt etwas gewundert hat.

Arnulf

tomsel 16. Dez 2005 22:28

Re: zwei Forms für den gleichen button verwenden?
 
Zitat:

fürs erste scheint es zu funktionieren gegenseitig die units einzutragen - was mich jetzt etwas gewundert hat.
Das geht, wenn nicht beide Units im Interface-Abschnitt eingebunden sind. Aber auch so kann sich der Compiler verhaspeln. Er bringt dann manchmal einen internen Fehler L470 (oder so ähnlich), zumindest bei meinen großen Projekten ist das so.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:40 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