...
void YourDlg::OnCancel()
{
//сделай вот так(убери эту строчку)
//CDialog::OnCancel();
}
...
Как не дать окну закрытся ?
Как зделать так чтобы при нажатие на кнопку [COLOR="Red"]Esc[/COLOR] в диологовом окне программа не закрывалась ?
Код:
Цитата: ViToBrother
Как зделать так чтобы при нажатие на кнопку [COLOR="Red"]Esc[/COLOR] в диологовом окне программа не закрывалась ?
Можно не нажимать "Esc" или заклеить его скотчем, выковырять его на крайний случай))) Или просто забить кнопку "Esc"
Код:
BOOL RegisterHotKey(
HWND hWnd, // window to receive hot-key notification
int id, // identifier of hot key
UINT fsModifiers, // key-modifier flags
UINT vk // virtual-key code
);
BOOL UnregisterHotKey(
HWND hWnd, // window associated with hot key
int id // identifier of hot key
);
HWND hWnd, // window to receive hot-key notification
int id, // identifier of hot key
UINT fsModifiers, // key-modifier flags
UINT vk // virtual-key code
);
BOOL UnregisterHotKey(
HWND hWnd, // window associated with hot key
int id // identifier of hot key
);
Цитата: _ZaliZo
Можно не нажимать "Esc" или заклеить его скотчем, выковырять его на крайний случай))) Или просто забить кнопку "Esc"
Код:
BOOL RegisterHotKey(
HWND hWnd, // window to receive hot-key notification
int id, // identifier of hot key
UINT fsModifiers, // key-modifier flags
UINT vk // virtual-key code
);
BOOL UnregisterHotKey(
HWND hWnd, // window associated with hot key
int id // identifier of hot key
);
HWND hWnd, // window to receive hot-key notification
int id, // identifier of hot key
UINT fsModifiers, // key-modifier flags
UINT vk // virtual-key code
);
BOOL UnregisterHotKey(
HWND hWnd, // window associated with hot key
int id // identifier of hot key
);
Я думаю что CilCatblack дал исчерпуюший ответ :) !
Догадаешься почему?
Самый лучший способо это сделать обработчик сообщения WM_CLOSE и в нём просто возвращать FALSE, или можно WM_QUIT с тем же возвратом)
Цитата: Rexulnik
Самый лучший способо это сделать обработчик сообщения WM_CLOSE и в нём просто возвращать FALSE, или можно WM_QUIT с тем же возвратом)
тогда окно нельзя будет закрыть вообще, кроме как послать ему WM_DESTROY
надо OnCancel переопределить и не вызывать родительский обработчик. заморачиться с хот кеями нет резона абсолютно!
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg){
if(pMsg->message==256 && pMsg->wParam==27)
return false;
return CDialog::PreTranslateMessage(pMsg);
}