x und y Position eines Controls ändern
-
Hallo,
wie kann ich die x und y Position eines CEdit
per Programmcode ändern ?Danke und Gruß,
Oliver
-
GetClientRect()
-
Wie funktioniert das mit GetClientRect ?
-
so in etwa.. MSDN lesen hilft
int bottom, top, left, right; CButton button; CRect rect; button.GetClientRect(&rect); bottom = rect.bottom; top = rect.top; left = rect.left; right = rect.right;
-
lass dich nicht verarschen. nimm MoveWindow
-
Oder beides kombinieren
Mit GetClientRect() bekomsmt du die Koordinaten eines Steuerelementes mit MoveWindow() kannst du sie dann setzen.
-
Noch ne Methode mit Windowplacements:
WINDOWPLACEMENT pl; WINDOWPLACEMENT setpl; GetWindowPlacement(&pl); // Import Button // In diesem Fall wird das ganze noch an die aktuelle Fenstergröße angepasst // (wird unten rechts festgemacht sozusagen) //m_btnImport ist der Control auf einen Button m_btnImport.GetWindowPlacement(&setpl); // du kannst anstatt "pl.rcNormalPosition.bottom -70" auch einen absoluten wert // angeben setpl.rcNormalPosition.top = pl.rcNormalPosition.bottom -70; setpl.rcNormalPosition.bottom = pl.rcNormalPosition.bottom - 47; setpl.rcNormalPosition.left = pl.rcNormalPosition.right - 96; setpl.rcNormalPosition.right = pl.rcNormalPosition.right - 21; m_btnImport.SetWindowPlacement(&setpl);
-
Das ganze nochmal in der einfachen Version:
WINDOWPLACEMENT setpl; //m_btnImport ist der Control auf einen Button m_btnImport.GetWindowPlacement(&setpl); //Hier mit absoluten Werten setpl.rcNormalPosition.top = 0; setpl.rcNormalPosition.bottom = 25; setpl.rcNormalPosition.left = 0; setpl.rcNormalPosition.right = 100; m_btnImport.SetWindowPlacement(&setpl);