?
Schande über mich. Ich habe meinen Fehler entdeckt, und zwar hab ich die Events der Dialogbox falsch abgefangen, siehe die ausgeschaltete Zeile:
LRESULT CALLBACK EH_User_Options_DLG(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){
switch (message){
case WM_INITDIALOG:
Init_Options(hWnd);
Init_TreeSelect(hWnd);
SetActiveWindow(GetDlgItem(hWnd, OP_SELECT_TREE));
break;
case WM_CLOSE:
EndDialog(hWnd, 0);
return 1;
case WM_DESTROY:
EndDialog(hWnd, 0);
return 1;
case WM_COMMAND:{
switch(LOWORD(wParam)){
case OP_DISCARD:
PostMessage(hWnd, WM_CLOSE, 0, 0);
break;
case OP_ACCEPT:
PostMessage(hWnd, WM_CLOSE, 0, 0);
break;
case OP_CANCEL:{
PostMessage(hWnd, WM_CLOSE, 0, 0);
break;
}
case OP_OK:{
PostMessage(hWnd, WM_CLOSE, 0, 0);
break;
}
}
}
// default: return DefWindowProc(hWnd, message, wParam, lParam); //das hier war der Fehler, ohne diese Zeile läufts einwandfrei
}
return 0;
}