OnInitDialog Prob

Stifthalter

Mitglied
Hi,

ich will mein Hauptfenster bevor es nach dem Start sichtbar ist an eine andere Stelle verschieben. Ich wollte das mit MoveWindow() machen. Aber wenn ich Movewindow() in OnInitDialog reinschreib passiert nix. Ich weiss nicht in welche Fkt. ich das MoveWindow reinschreiben muss damit es ausgeführt wird bevor das Fenster sichtbar ist....


Mfg,
JD
 

rockbaer

Mitglied
Hi, du kannst das so machen:

Code:
CRect* crnewPos = new CRect();

//erstmal die aktuelle Grösse/Lage des Dialogs In crnewPos abspeichern
GetWindowRect(crnewPos);
//dann verschieben wo 600 die x und 200 die y Koordinate ist
MoveWindow(600,200, crnewPos->Width(), crnewPos->Height());
 

Stifthalter

Mitglied
Nein, ich glaub ich hab meine Frage schlecht formuliert. Wie ich ein Fenster verschiebe oder dessen größe ändere is kein Problem.

Wenn mein Programm gestartet wird, dann will ich das das Fenster des Programms an eine andere Stelle geschoben wird bevor es zum ersten mal gezeichnet wird. Wenn ich aber MoveWindow() in die Funktion OnInitDialog() schreibe, dann passiert nichts. Bis jetzt hab ich es immer so gemacht. Ich hab nen timer erstelle der nach 100ms das Fenster verschiebt, das funktioniert dann.
 

rockbaer

Mitglied
Den obigenCode habe ich auch in der OninitDialog Funktion meiner Dialog Klasse, und er verschiebt das Fenster dahin wo ich es hin haben will (x =600, y=200)
paste doch mal deine OninitDialog Funktion
 

rockbaer

Mitglied
Oder ersetze das MoveWindow() hiermit:

SetWindowPos(&CWnd::wndTop, 600,200, crnewPos->Width(), crnewPos->Height(), SWP_SHOWWINDOW);

sollte auch gehen...
 

Stifthalter

Mitglied
Ichs habs nochmal versucht, passiert aber nix....

Hmm komisch. Warum gehts bei dir und bei mir nicht?

Ich probier nochmal ein bisschen rum.