Controls verscheiben mix aus absoult und relativ koordinaten ??
-
Hallo
Ich möchte zwei Controls verschieben bzw deren Größe anpassen.
Dabei ist das eine vom anderen abhängig. Nun gut.
Ich dachte eigentlich dass das ganze ganz leicht mit GetWindowRect(..) zu ereldigen ist.
Blöderweise gibt mir GetWindowRect(..) Die Koordinaten absolut vom Bildschirm aus wärend SetWindowPos(...)
relativ Korrdianten möchte ...
Hab ich das richtig verstande ? Wozu das denn ? egal ... Gibt es eine einfach Möglichkeit das zu äää ja keine AhnungAlso ich dachte eigentlich das so.
Rect rect1;
m_Control1.SetWindowPos(NULL,0,0,neuW,neuH,SWP_NOMOVE);
m_Control1.GetWindowRect(&rect1);
m_Control2.SetWindowPos(NULL,rect.right1 +3,rect1.top,neuW2,neuH2,NULL);so in etwa ...
Ich könnte mit GetWindowInfo arbeiten .. .Aber geht das nicht einfacher ??... ich wollte nicht in den WinApi strukturen
herum fummelnOder hab ichs nicht gecheckt ???
Grüße Martin
-
Hi nur zu Info ..
Also ganz versteh ich denn Sinn nicht vielleicht hat ja von euch jemand eine Idee ...
jedenfalls kann man mit ScreenToClient(..) und ClientToScreen(..)
sich die Koordinaten umrechnen lassen ...grüße
Martin
-
Die internen Koordinaten sind immer relativ zur Client Area.
Deswegen werden Koordinaten für Kindfenster auch in Client Koordinaten des Parents umgerechen.
Entsprechend gibt es noch die absoluten Fenster Koordinaten.
-
Hallo
Ja ok ... Aber was ich nicht versteh. Warum bekomme ich wenn ich
m_Control1.GetWindowRect(&rect1); nutze Relativ Koordinaten vom "Screen".
Arbeite aber bei SetWindowPos mit relativ Koordinaten von der "Client Area".Ok hab ich akzeptiert
... Aber ich meine der praktische (bzw meiste genutzte) Anwendungs-Fall ist doch dass man in seinem
"Fenster" arbeitet. Umrechen Falls man doch vom Screen braucht kann man ja immer noch.Oder gibts so viele Anwendungsfälle wo man doch mit der Variente so viel Vorteile hat ?
Mir fällt jetzt nicht soviel dazu ein ...
Oder ist wohl eeher philosophischer Natur ???Grüß
-
Der häufisgte Anwendungsfall ist wohl ein Fenster zu erzeugen.
Wen interessieren die Fenster Koordinaten eines Childs?
Niemand, denn die Childs werden ja immer mit dem Parent verschoben...Man hätte eine dritte Kategorie von Funktionen einfügen müsssen (Position reltiv zum Parent), und eine Umrechnung hätte man immer noch gebraucht, bzw. die absoluten Korrdinaten. Und wen man Fenster absolut benötigt, dann machen relative Koordinaten keinen Sinn.
Und intern im Windows werden mit Sicherheit Absolute Koordinaten etwas häufiger verwendet.Ruf bei MS an und eröffne eine Supportanfrage
oder stell die Frage TheOldNewThing...
-
Jo intern aus der Sicht schon
Da hast du schon recht.
Dachte halt es funktioniert so wie bei den meisten anderen Frameworks ...
Bin ja der Nutzer...
Hab die Nummer nicht ... ne Scherz
Nun in meinem Kopf waren halt ein paar Funktionen falsch definiert