Fensterposition bestimmen
-
Du kannst es ja mal mit GetWindowInfo probieren. Aber ich könnte mir vorstellen das das intern die selben Mechamismen verwendet wie GetWindowRect. Aber vielleicht hilfts dir ja trozdem.
//edit: Ich bin einfach zu langsam heute bzw. eigentlich ist heute ja schon gestern. Ich muss mal lernen schneller zu Antworten

-
@Swordfish: Hats jetzt was gebracht ?
-
CodeFinder schrieb:
Nochwas: Nimm lieber WS_POPUPWINDOW ...
Nein, tu ich nicht
Ich brauch schon WS_POPUP.CodeFinder schrieb:
bzw prüf mal den Return-Wert von GetWindowRect ...falls nötig auch mit GetLastError
Das ist bei mir Standardforgehensweise bei der Fehlersuche...
CodeFinder schrieb:
...mist der 2. Post für 'heute' ^^ ...also gute Nacht.

Tja, so kann's gehen.
Hab' übrigens den Fehler inzwischen gefunden. Das Fenster wurde von einer abgeleiteten Klasse erstellt. Das Window-Handle war zu diesem Zeitpunkt in der Basisklasse noch nicht richtig initialisiert und war demnach immer ungültig. Ich habe heute den halben tag damit verbracht, diesen Fehler zu beheben

Greetz, Swordfish
-
Swordfish schrieb:
Das ist bei mir Standardforgehensweise bei der Fehlersuche...
Daran wollt ich ja auch nit zweifeln...du sollest mir nur (indirekter Apell
) den Return-Wert von GetLastError sagen.Swordfish schrieb:
Das Window-Handle war zu diesem Zeitpunkt in der Basisklasse noch nicht richtig initialisiert und war demnach immer ungültig. Ich habe heute den halben tag damit verbracht, diesen Fehler zu beheben

Hmm dann hätte dir aber doch GetLastError entsprechendes melden müssen und vllt. sogar der Return-Wert ein FALSE o.ä. gewesen sein... na egal...
Muhaha solche F*ck Fehler kenn ich auch...zeimlich nervig

-
CodeFinder schrieb:
Swordfish schrieb:
Das Window-Handle war zu diesem Zeitpunkt in der Basisklasse noch nicht richtig initialisiert und war demnach immer ungültig. Ich habe heute den halben tag damit verbracht, diesen Fehler zu beheben

Hmm dann hätte dir aber doch GetLastError entsprechendes melden müssen und vllt. sogar der Return-Wert ein FALSE o.ä. gewesen sein... na egal...
Tja, lieferte aber komischerweise immer != 0.
CodeFinder schrieb:
Muhaha solche F*ck Fehler kenn ich auch...zeimlich nervig

jup.
Greetz, Swordfish
-
Swordfish schrieb:
CodeFinder schrieb:
Swordfish schrieb:
Das Window-Handle war zu diesem Zeitpunkt in der Basisklasse noch nicht richtig initialisiert und war demnach immer ungültig. Ich habe heute den halben tag damit verbracht, diesen Fehler zu beheben

Hmm dann hätte dir aber doch GetLastError entsprechendes melden müssen und vllt. sogar der Return-Wert ein FALSE o.ä. gewesen sein... na egal...
Tja, lieferte aber komischerweise immer != 0.
"komischerweise" hat
GetLastErrornicht den Rückgabewert BOOL sondern DWORD (oder etwas ähnliches):
MSDN schrieb:
DWORD [...] dwGet = 37;
[...]
dwGet = GetLastError();(Quelle: http://msdn2.microsoft.com/de-de/library/yy0hww86.aspx)
Mit freundlichen Grüßen
Rhombicosidodecahedron
-
FormatMessage ...
-
Troll!
Rhombicosidodecahedron schrieb:
[...]
"komischerweise" hatGetLastErrornicht den Rückgabewert BOOL sondern DWORD (oder etwas ähnliches):
[...]Dir fehlt der Bezug meiner Frage und Swordfish's Antwort...Er hat sie verstanden!
...und dir werd ichs natürlich auch erklären
:
Die Funktion GetWindowRect liefert BOOL zurück (definiert als int)
Die Funktion GetLastError liefert DWORD zurück (definiert als unsigned long)
Ich hoffe jetzt leuchtet dir sowohl diese Aufforderung:CodeFinder schrieb:
[...]prüf mal den Return-Wert von GetWindowRect ...falls nötig auch mit GetLastError
als auch diese Antwort:
Swordfish schrieb:
Tja, lieferte aber komischerweise immer != 0.
ein.

Was du damit bezwecken willst:
Rhombicosidodecahedron schrieb:
DWORD [...] dwGet = 37;
[...]
dwGet = GetLastError();ist mir auch rästelhaft...du weißt der Variable vorm Aufruf von GetLastError
einen Wert zu, um diesen dann von GetLastError wieder überschreiben zu
lassen...Herzlichen Glückwunsch!PS_1:
Du solltest genauer lesen. 
PS_2:
'oder sowas ähnliches' [Ironie] ist natürlich auch sehr aussagekräftig. [/Ironie]
-
Ähm, Leute: Problem gelöst, lag woanders
macht nicht so viel Wind 
Ich weis sehr wohl, wie ich bei einer Funktion prüfe, ob sie einen Wert zurückgibt, welcher einen Fehler andeutet...
@(D)evil:
Danke, kenn ich und weis ich anzuwenden. Aber wenn ein WinAPI-Aufruf keinen einen Fehler andeutenden Wert zurückliefert, ruf' ich GetLastError( ) garnicht erst auf.
CodeFinder schrieb:
[...] du weißt der Variable vorm Aufruf von GetLastError
einen Wert zuWieso denn nicht? Ist doch nicht verboten

Greetz, Swordfish
-
Swordfish schrieb:
[...]
Wieso denn nicht? Ist doch nicht verboten
[...]Hm Nö
das stimmt
, aber wenn dann bitte so richtig effektiv, inner Schleife 