Button neu platzieren



  • Hi

    Wie kann ich wärend dem, dass die Applikation läuft, die Position eines Buttons verändern?

    z.B von der Position 100,100 auf 200,100....

    (möchte dass die Buttons sich an die Bildschirmgrösse anpassen...)



  • button.MoveWindow([...]);

    müsste dein problem lösen



  • Hi

    Das mit dem platzieren funktioniert irgendwie nicht so ganz!
    Ich habe folgenden Code in die Funktion onPaint() eingefügt:

    CRect rect; 
    	GetWindowRect(&rect); 
             y=rect.Height();
    	//Buttons platzieren
    	CRect button;
    	button.left=150;
    	button.top=y/574*30;
    	button.right=408;
    	button.bottom=button.top+30;
    	b_auslesen.MoveWindow(&button);
    

    Das 1. mal werden die Buttons richtig platziert!
    Wenn ich aber die grösse des Fensters ändere, bleiben die Buttons am gelichen Ort! Wieso das?
    Ich möchte, dass wenn das Fenster grösser wird, die Buttons das Fenster ausfüllen! (Einfach die Zwischenräume grösser werden) aus diesem Grund rechne ich y/574*30 wobei der Button bei der Fenstergrösse 574pix bei 30Pix beginnen soll... Was mache ich falsch? I glaube die Buttons verändern sich überhaupt nicht!!!!! 😕

    Kann mir jemand helfen?

    Danke!



  • Vielleicht interpretiert dein Rechner das intern als y/(574*30), also y/17220
    -> so ziemlich immer ein kleiner Wert
    -> der Button ist immer ganz oben...
    Probier mal (y/574)*30 aus. Vielleicht ist das schon besser.



  • Vielleicht musst du die rect-Koordinaten erst mal in Client-Koordinaten umwandeln. Mehr dazu in der MSDN ...

    Gruß
    :: NoName ::



  • Hallo er Fehler war, dass es ein Int war! es gab 1,9.... und int hat 1 daraus gemacht! Dach drum dass der Int nur das Resultat auf ganze Zahlen rundet?!?!?


Anmelden zum Antworten