![]() |
FormStyle
Hallo,
Ich habe eine Frage zur FormStyle: Ich habe folgenden Code, der zum speichern von Einstellungen zuständig ist.
Delphi-Quellcode:
Mein Problem:
if checkbox2.Checked=true then
begin ini02.WriteString('x','y','true'); form1.FormStyle:=fsstayontop; //das geht end else begin ini02.WriteString('x','y','false'); form1.FormStyle:=fsnormal; //das geht nicht end; Wenn die Form jetzt im Vordergrund ist, und ich den Hacken wieder aus der Checkbox rausnehme, bleibt die Form im Vordergrund, jedoch wird die Einstellung an sich abgespeichert. Warum? Stimmt das "fsnormal" nicht? :gruebel: //Edit: Textformatierung geändert :wink: |
Re: FormStyle
Das simmt schon so (ausser die Textformatierung ;) ). Du hast im OI die Eigenschaft
FormStyle auf fsStayOnTop stehen ? Dann setze sie mal auf fsNormal das sollte helfen. |
Re: FormStyle
Ich habe im OI nichts geändert. Sinn der Sache ist, dass wenn der Benutzer einen Hacken in die checkbox macht, und dann auf den übernehmen button drück, dass das form in den vordergrund kommt. Und wenn der Hacken wieder rausgemacht wird, dass das Form dann wieder normal wird, aber das geht halt nicht.
Oder hab ich da jetzt wa falsch verstanden... |
Re: FormStyle
Ich weise einfach mal ganz dezent darauf hin, dass es im Deutschen auch Haken gibt...
Bei mir funktioniert der Code wunderbar. Wenn die Checkbox aktiviert ist, dann kann ich das Formular nicht minimieren, wenn kein Haken da ist, schon. Willst du, dass das Formular minimiert wird? Nebenbei bemerkt: Man sollte nicht if Checkbox2.checked=true schreiben. if Checkbox2.checked reicht vollkommen aus und vermeidet Fehler. |
Re: FormStyle
Also,
um mein Problem nochmal genauer zu beschreiben. Ich habe auf meinem Formular eine Checkbox. Und wenn die aktiviert ist (also der Haken :wink: gesetzt ist) soll die Anwendung in den Vordergrund und auch dort bleiben. Das geht ja auch. Aber wenn ich den Haken aus der Checkbox wieder entferne geht die Anwendung nicht wieder aus dem Vordergrund raus, d.h. sie kann nicht von anderen Fenster überdeckt werden, wie im Normalzustandt. Und meine Frage ist jetzt: Woran kann das liegen? :gruebel: |
Re: FormStyle
Dann lies mal in der Hilfe:
Zitat:
![]() |
Re: FormStyle
Zitat:
OK werde ich mir mal angucken, kann aber sein, dass ich dazu noch eine Frage habe... |
Re: FormStyle
Aja...das war ein guter Tipp...danke
jetzt gehts, ich verwende das hier: Für Top:
Delphi-Quellcode:
Und für Normal:SetWindowPos(Self.Handle ,HWND_TOPMOST,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
Delphi-Quellcode:
SetWindowPos(Self.Handle ,HWND_NOTOPMOST,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
|
Re: FormStyle
Also so langsam zweifel ich an meinem Verstand... :gruebel:
Ich benutze jetzt die beiden oben genannten Befehle. Die klappen auch, habs getestet. Einen Button mit den Befehl für Top belegt und einen mit dem Befehl für wieder normal belegt. Das hat funktioniert! Aber in meinem eigentlichen Projekt steuer ich die Fensterposition meines Hauptforms über ein kleines Einstellungsfenster. Un wenn ich da jetzt die Befehle verwende -natürlich statt self.handle formname.handle- geht mein Mainform auch in den Vordergrund, aber das Problem ist, dass es nicht mehr aus dem Vordergrund rausgeht? Warum ? In meinem Testproject hats ja auch geklappt...oder muss ich wegen dem Fensterübergreifenden steuren etwas beachten :?: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:56 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