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

    GetLastError
    

    nicht 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" hat

    GetLastError
    

    nicht 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 😉

    @Rhombicosidodecahedron:

    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 zu

    Wieso 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 😃


Anmelden zum Antworten