Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Wie Aktiviere ich den Fokus bei Formularen (https://www.delphipraxis.net/68532-wie-aktiviere-ich-den-fokus-bei-formularen.html)

poterp 1. Mai 2006 09:31


Wie Aktiviere ich den Fokus bei Formularen
 
Hallo,
(Habe noch kein groß erfahrung mit programmieren, deswegen bitte ich um hilfe)
Ich habe ein Problem usw, ich habe eine Applikation mit 3 Formularen ein Hauptformular und 2 unter formularen. Von den Hauptformularen(F1) kann ich die erste Unterformular wählen (F2) oder der 2te Unterformular(F3), jetzt kommt das problem, wenn ich zb von hauptformular zu den erst unterformular gehe und will zurück in hauptformular kommt immer ein fehler meldung "Diese Formular erhält kein Fokus".
Meine Frage wie kann ich den Fokus aktivieren????

Danke in Voraus
poter

fkerber 1. Mai 2006 09:32

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Hi!

Ohne Code, wie du die Formulare aufrufst, wird es schwierig dir zu helfen.
Evtl. hilft dir Delphi-Referenz durchsuchenSetFocus weiter?


Ciao Frederic

EDatabaseError 1. Mai 2006 09:37

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Bsp. Edit1:
Delphi-Quellcode:
Edit1.SetFocus;

poterp 1. Mai 2006 09:42

Re: Wie Aktiviere ich den Fokus bei Formularen
 
so rufe ich den formular:

procedure TForm1.Button1Click(Sender: TObject);
begin

Form2.ShowModal;

end;

EDatabaseError 1. Mai 2006 09:44

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Zitat:

Zitat von poterp
so rufe ich den formular:

procedure TForm1.Button1Click(Sender: TObject);
begin

Form2.ShowModal;

end;

Also so zeigst du das Form2 Modal an. Modal heißt soweit ich weiß du kannst in deiner Anwendung nur noch was auf dem Form machen bis es geschlossen ist.

mkinzler 1. Mai 2006 09:48

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Wenn du Form2 modal aus Form1 geöffnet hast, kannst du nur zurück zu Form1, wenn du Form2 schließt.

EDatabaseError 1. Mai 2006 09:49

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Zitat:

Zitat von mkinzler
Wenn du Form2 modal aus Form1 geöffnet hast, kannst du nur zurück zu Form1, wenn du Form2 schließt.

sag ich ja :cheers:

Wenn du aber in beiden forms gleichzeitig arbeiten willst musst du Form2 nur mit Form2.Show; öffnen

mkinzler 1. Mai 2006 09:50

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Zitat:

Zitat von EDatabaseError
Zitat:

Zitat von mkinzler
Wenn du Form2 modal aus Form1 geöffnet hast, kannst du nur zurück zu Form1, wenn du Form2 schließt.

sag ich ja :cheers:

Wenn du aber in beiden forms gleichzeitig arbeiten willst musst du Form2 nur mit Form2.Show; öffnen

Sorry, Antworten haben sich überschnitten ;-)

poterp 1. Mai 2006 10:01

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Nicht so ganz, die Hauptform muss immer offenbleiben gilt als steuerform und wenn ich form1 zu form2 gehe mit From2.ShowModal; funktioniert prima und von Form2 zu Form3 mit Form3.ShowModal; funktioniert aber wenn ich von Form3 zu Form2 zurückkehre mit Form3.Close; From2.Showmodal;
dann kommt die fehler melden wegen den Fokus.
es ist bestimmt ein syntax fehler oder?

mkinzler 1. Mai 2006 10:04

Re: Wie Aktiviere ich den Fokus bei Formularen
 
das From2.Showmodal ist zuviel, da Form2 noch modal geöffnet ist!

fkerber 1. Mai 2006 10:05

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Hi!

Also du machst folgendes:

Form1 (HauptFormular) --> Form2.ShowModal --> Form3.ShowModal --> Form3.Close?
Dann solltest du ohne weitere Aktionen immer noch Form2 sehen...


Ciao Frederic

EDatabaseError 1. Mai 2006 10:06

Re: Wie Aktiviere ich den Fokus bei Formularen
 
wie machst du das...

Aus F1 : Form2.ShowModal;
Aus F2 : Form3.ShowModal;
Aus F3 : Form3.Close;

Dann ist F2 Modal sichtbar bis du es schließst sollte eigentlich genauso gehen oder versteh ich was falsch?

[menno jetzt wast du schneller]

poterp 1. Mai 2006 10:09

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Danke jungs Funktioniert, ich glaube daß problem lag bei ShowModal.
ich habe jetzt Show geschrieben und es kommt kein meldung

Viel Danke :dance:

poterp 1. Mai 2006 10:16

Re: Wie Aktiviere ich den Fokus bei Formularen
 
So möchte ich es haben:

F1->F2 (F1 ist da auf) und F2->F1 (im F2 habe ein Button mit Close;)
F1->F2->F3(Von F2 kann ich F3 Aufrufen mit Show;) F3-> F2(Habe close; bei F3)

folgendes problem konnte auf mich zukommen und ich weisse es nicht wie ich es lösen kann?

ich kann von F1->F3 und wenn ich von F3 zu F2 gehen will, ist dann F2 nicht Aktiv, ist es möglich ein Funktion zu schreiben, das überprüft ob das fenster auf, wenn ja hin gehen und wenn nein erstmal fenster erstmal auf machen????

danke in voraus

fkerber 1. Mai 2006 10:18

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Hi!

Vielleicht hilft dir die Visible-Eigenschaft weiter?


Ciao Frederic

poterp 1. Mai 2006 10:23

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Visible-eigentschaft??

wie kann ich mir es synthax-massig vorstellen?

fkerber 1. Mai 2006 10:24

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Hi!

Delphi-Quellcode:
if Form2.Visible then....
Bin mir aber nicht sicher, ob das klappt, wenn Form3 Modal geöffnet ist....


Ciao Frederic

mkinzler 1. Mai 2006 10:27

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Dürfte bei modalen Formularen nicht funktionieren. Das Programm wäre dann ja nicht meher richtig bedienbar.

poterp 1. Mai 2006 10:30

Re: Wie Aktiviere ich den Fokus bei Formularen
 
wenn ich von F3 zu F2 gehen möchte so ein Procedure kann prüfen ob F2 aktiv ist?

procedure TForm1.ButtonClick(Sender: TObject);

begin
if Form2.Visible = False then Form2.Visible := True;
Form2.BringToFront;

end;


Sollte ich dann Show statt ShowModal benutzen???

Danke Frederic

mkinzler 1. Mai 2006 10:32

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Ja, Grund siehe oben.
ShowModal stellt ja nur sicher das die Form geschlossen werden muß, bevor man weitere Änderungen an der "rufenden" Form ändern kann.

fkerber 1. Mai 2006 10:35

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Hi!

Du solltest keine Vergleich mit =false machen - das kann unliebsame Nebeneffekte haben. Prüfe auf if not ....


Ciao Frederic

poterp 1. Mai 2006 10:46

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Hallo frederic,
ich verstehe nicht so ganz was du meinst. Soll ich prüfen if not form1:= true????
oder wie soll ich es syntax-massig darstellen?

fkerber 1. Mai 2006 10:51

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Hi!

unabhängig vom restlichen Code:

Nie so:
Delphi-Quellcode:
if boolvar = true then ....

bzw.

if boolvar = false then ....
sondern:

Delphi-Quellcode:
if boolvar then ....

bzw.

if not boolvar then ....

Ciao Frederic

poterp 1. Mai 2006 11:04

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Danke jungs es funktioniert, ihr seid die Besten
Poter

fkerber 1. Mai 2006 11:05

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Hi!

Vielleicht kannst du ja noch Posten, wie du es gemacht hast.
Wenn dann nochmal jemand das Problem hat, dann findet er so vielleicht schneller eine Lösung...


Ciao Frederic

poterp 1. Mai 2006 12:26

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Hallo Frederic,

ich habe es doch einfach gelöst, da ich immer zwischen fromular navigieren musst. habe ich Formular.Show; benutze statt ShowModal und ein Button in jede Formular gebaut mit close;
Also von F1->F3(Show)F3->F2(mit Show, da F2 verschwindet in Hintergrund) oder F1->F2 und F2->F3.
Close befehl funktioniert bei F1 und F2 prima aber bei F3 kämpfe ich gerade damit Weil ich auch ein Button gebaut habe mit Close; bzw Form3.Close bekomme ich jetzt ein fehler wieder " deaktivierte Fenster erhalten kien Fokus " Ich habe auch Btbn eigenschaft Kind:BK Close verwendet aber der Fehler ist immer noch da.

hättest du ein tipp?

fkerber 1. Mai 2006 12:33

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Hi!

Ehrlich gesagt nicht. Kenne auch die Meldung nicht.
Wie genau sieht denn dein Code beim Schließen aus? Nur ein Form3.Close?


Ciao Frederic

poterp 1. Mai 2006 23:24

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Ich verstehe es auch nicht so

ich gehe von F1->F2->F3 alles mit Show; und Zurück F3->F2-F1 mit close geht prima
ich kann auch von F1->F3->F2 mit Show; aber wenn ich mit Close F2 und F3 schliessen will,dann habe ich den Rock n Roll

mkinzler 2. Mai 2006 05:49

Re: Wie Aktiviere ich den Fokus bei Formularen
 
Poste mal den entsprechenden Code der Akrtivierung und deines Close.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz