Okay, så nu har jeg et message loop der ser sådan ud:
while (0 != (ErrMark = GetMessage(&kMessage, NULL, 0, 0)))
{
if (-1 == ErrMark)
{
if (IDYES == MessageBox(g_hParentWnd, (NullStr + "An fatal unknown error appeared!\\nWould you like " + AppName + " to try and save your work as a backup?").c_str(), AppName.c_str(), MB_YESNO | MB_ICONERROR))
{
// Make backup if possible
}
break;
}
if ((g_hChildWnd.size() > 0) ? !IsDialogMessage(g_hChildWnd[g_CurChild], &kMessage) : true)
{
if (!IsDialogMessage(g_hParentWnd, &kMessage))
{
TranslateMessage(&kMessage);
DispatchMessage(&kMessage);
}
}
}
Og har tilføjet følgende til Parent-vinduets process:
case WM_PAINT:
{
PAINTSTRUCT ps;
RECT rect;
HDC hdc = BeginPaint(hWindow, &ps);
GetClientRect(hWindow, &rect);
EndPaint(hWindow, &ps);
} break;
Og følgende til Child-vinduets process:
case WM_PAINT:
{
ValidateRect(hWindow, 0);
} break;
Var det sådan du mente, for Child vinduerne bliver stadig ikke markeret når de bliver oprettet eller når man markerer dem. Og Jeg kan ikke bruge taster som CTRL+F4 osv.
// Your brain is your weapon, do not waste it!!
[Redigeret d. 11/12-05 16:22:55 af HAP]