Ich habe ein Problem vom Typ kann gar nicht sein, vermutlich bin ich einfach nur zu blind für einen ganz simplen Fehler.
Zuerst erstelle ich ein MainWindow
Dann im WM_CREATE 2 weitere
Das Ganze erstmal völlig leer, nur der standard Windows-Rahmen drumrum.
Jetzt will ich Position und Grösse der Child Fenster setzen.
Das Ergebnis kann ich via Screenshot nachmessen.
Child1 ist genau wie gewünscht 366x388px gross.
Child2 ist 511x408, also 10 breiter und 10 höher als angegeben.
Was soll das?
Edit / Update:
Jetzt habe ich zumindest rausgefunden woran es liegt.
10px breiter und höher wird ein Child wenn das MainWindow im Style WS_OVERLAPPEDWINDOW hat, das Child aber nur WS_OVERLAPPED.
Dass Child1 trotzdem richtig war lag an was anderem.
Bleibt noch die Frage: Wieso macht Windows das Child 10px grösser, nur weil der Style verschieden ist?
Zuerst erstelle ich ein MainWindow
Code:
hwnd = CreateWindow(
MainClassName.c_str(),
MainWindowName.c_str(),
WS_OVERLAPPEDWINDOW|WS_CLIPCHILDREN|CS_DROPSHADOW,
0,0,736,488,
HWND_DESKTOP,0,hinstance,0
);
Dann im WM_CREATE 2 weitere
Code:
case WM_CREATE:
MyChild1 = CreateWindow(
"Child1Name","",
WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_CLIPCHILDREN|CS_DROPSHADOW,
0,0,0,0,
hWnd,0,hinstance,0
);
MyChild2 = CreateWindow(
"Child2Name","",
WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_CLIPCHILDREN|CS_DROPSHADOW,
0,0,0,0,
hWnd,0,hinstance,0
);
break;
Das Ganze erstmal völlig leer, nur der standard Windows-Rahmen drumrum.
Jetzt will ich Position und Grösse der Child Fenster setzen.
Code:
MoveWindow(MyChild1,0,0,366,388,1);
MoveWindow(MyChild2,0,0,501,398,1);
Das Ergebnis kann ich via Screenshot nachmessen.
Child1 ist genau wie gewünscht 366x388px gross.
Child2 ist 511x408, also 10 breiter und 10 höher als angegeben.
Was soll das?
Edit / Update:
Jetzt habe ich zumindest rausgefunden woran es liegt.
10px breiter und höher wird ein Child wenn das MainWindow im Style WS_OVERLAPPEDWINDOW hat, das Child aber nur WS_OVERLAPPED.
Dass Child1 trotzdem richtig war lag an was anderem.
Bleibt noch die Frage: Wieso macht Windows das Child 10px grösser, nur weil der Style verschieden ist?
Zuletzt bearbeitet: