Создаю приложение на основе немодального диалогового окна. Программа не отвечает на события мыши системного и оконного меню. Хотя менюшные шоткаты работают. В чем может быть проблема? Что можно почитать по этому поводу?
Здравствуйте, Henry Twilight.
Может, код в студию?
Хоть что-нибудь
Здравствуйте, anvaka, Вы писали:
A>Здравствуйте, Henry Twilight.
A>Может, код в студию?
A>Хоть что-нибудь
/*
Создание основного диалога
*/
LONG dialUnits = 0;
dialUnits = GetDialogBaseUnits();
tpl.style = WS_CAPTION | WS_SYSMENU | WS_BORDER | WS_MINIMIZEBOX;
tpl.x = MulDiv( 300, 4, LOWORD(dialUnits) );
tpl.y = MulDiv( 200, 8, HIWORD(dialUnits) );
tpl.cx = MulDiv( 500, 4, LOWORD(dialUnits) );
tpl.cy = MulDiv( 500, 8, HIWORD(dialUnits) );
hWnd = CreateDialogIndirect(hInst, &tpl, 0, (DLGPROC)WndProc);
/*
Обработка сообщений
*/
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
IsDialogMessage(hWind, &msg);
}
}
/*
Инициализация диалога
*/
case WM_INITDIALOG:
{
HMENU menu;
menu = LoadMenu(hInst, MAKEINTRESOURCE(IDC_CHAT));
SetMenu(hWnd, menu);
}
SetWindowText(hWnd, "Client");
[skipped...]
hBut = CreateWindow("button", "&Send", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_GROUP
| BS_PUSHBUTTON | BS_FLAT,
0, 0, 0, 0,
hWnd, (HMENU)IDC_BUT, hInst, NULL);
EnableWindow(hBut, false);
[skipped...]
return true;
Здравствуйте, Henry Twilight, Вы писали:
HT>Здравствуйте, anvaka, Вы писали:
A>>Здравствуйте, Henry Twilight.
A>>Может, код в студию?
A>>Хоть что-нибудь
HT>HT>/*
HT> Обработка сообщений
HT>*/
HT> while (GetMessage(&msg, NULL, 0, 0))
HT> {
HT> if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
HT> {
HT> IsDialogMessage(hWind, &msg);
HT> }
HT> }
Я делаю так:
while (GetMessage (&msg, NULL, 0, 0))
{
if (!TranslateAccelerator (hDlg, hAccel, &msg))
if (!IsDialogMessage (hDlg, &msg))
{
TranslateMessage (&msg);
DispatchMessage (&msg);
}
}
Здравствуйте, McQwerty, Вы писали:
MQ>Здравствуйте, Henry Twilight, Вы писали:
HT>>Здравствуйте, anvaka, Вы писали:
A>>>Здравствуйте, Henry Twilight.
A>>>Может, код в студию?
A>>>Хоть что-нибудь
MQ>Я делаю так:
MQ>MQ> while (GetMessage (&msg, NULL, 0, 0))
MQ> {
MQ> if (!TranslateAccelerator (hDlg, hAccel, &msg))
MQ> if (!IsDialogMessage (hDlg, &msg))
MQ> {
MQ> TranslateMessage (&msg);
MQ> DispatchMessage (&msg);
MQ> }
MQ> }
MQ>
Я тоже так делал. Не полегчало