GetWindowsRect und MoveWindow



  • Hallo,

    ich weiss, es ist schon viel darüber geschrieben worden und ich hab vieles Versucht, aber es will einfach nicht klappen:
    Ich habe eine MDI-Anwendung mit CFormView. Auf der View ist u.a. ein CStatic in dem ein Bild angezeigt wird.
    Nun möchte ich die Maße des CStatic auf die Proportionen des Bildes ändern und es verkleinern. Die linke, obere Ecke soll aber bleiben wo sie ist.
    Das Problem bei mir ist, das ich die Position nicht so ermittelt bekomme, das sie mit MoveWindow die Gleiche ist.
    Ich denke, eigentlich müsste es so funktionieren

    GetWindowRect(&rectLogo);	//relativ zum Bildschirm (oben links)
    ScreenToClient(&rectLogo); //relativ zum parent?
    MoveWindow(rectLogo.left, rectLogo.top, iwidth, iHeigth);
    

    Dabei wird das Logo etwas weiter nach rechts unten verschoben. Ich habe auch schon diverse andere Funktionen (Set/GetWindowPos()) versucht, alle ohne Erfolg
    Was mache ich falsch?

    Micha



  • Hast du schon einmal SetWindowPos mit den Flags SWP_NOMOVE und ggf. SWP_NOZORDER|SWP_NOACTIVATE probiert?
    http://msdn.microsoft.com/en-us/library/ms633545%28VS.85%29.aspx



  • Die Flags bei SetWindowPos sind mir nicht aufgefallen. Sehr nützlich. Es klappt jetzt. Danke!


Anmelden zum Antworten