AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FormStyle

Ein Thema von Z32 · begonnen am 4. Mai 2007 · letzter Beitrag vom 5. Mai 2007
Antwort Antwort
Z32
(Gast)

n/a Beiträge
 
#1

FormStyle

  Alt 4. Mai 2007, 17:51
Hallo,

Ich habe eine Frage zur FormStyle:

Ich habe folgenden Code, der zum speichern von Einstellungen zuständig ist.

Delphi-Quellcode:
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;
Mein Problem:

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?

//Edit: Textformatierung geändert
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: FormStyle

  Alt 4. Mai 2007, 19:15
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.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Z32
(Gast)

n/a Beiträge
 
#3

Re: FormStyle

  Alt 4. Mai 2007, 19:40
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...
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: FormStyle

  Alt 4. Mai 2007, 21:08
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.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Z32
(Gast)

n/a Beiträge
 
#5

Re: FormStyle

  Alt 5. Mai 2007, 13:12
Also,

um mein Problem nochmal genauer zu beschreiben.

Ich habe auf meinem Formular eine Checkbox. Und wenn die aktiviert ist (also der Haken 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?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: FormStyle

  Alt 5. Mai 2007, 13:26
Dann lies mal in der Hilfe:
Zitat:
Note: It is not advisable to change FormStyle at runtime.
Nimm statt dessen lieber MSDN-Library durchsuchenSetWindowPos.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Z32
(Gast)

n/a Beiträge
 
#7

Re: FormStyle

  Alt 5. Mai 2007, 13:49
Zitat von Luckie:
Dann lies mal in der Hilfe:
Zitat:
Note: It is not advisable to change FormStyle at runtime.
Nimm statt dessen lieber MSDN-Library durchsuchenSetWindowPos.

OK werde ich mir mal angucken, kann aber sein, dass ich dazu noch eine Frage habe...
  Mit Zitat antworten Zitat
Z32
(Gast)

n/a Beiträge
 
#8

Re: FormStyle

  Alt 5. Mai 2007, 14:08
Aja...das war ein guter Tipp...danke

jetzt gehts, ich verwende das hier:

Für Top:

Delphi-Quellcode:
 
SetWindowPos(Self.Handle ,HWND_TOPMOST,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
Und für Normal:

SetWindowPos(Self.Handle ,HWND_NOTOPMOST,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
  Mit Zitat antworten Zitat
Z32
(Gast)

n/a Beiträge
 
#9

Re: FormStyle

  Alt 5. Mai 2007, 14:36
Also so langsam zweifel ich an meinem Verstand...

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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:06 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