Здравствуйте, Wasilij, Вы писали:
W>Чтобы Вам помочь, нужно для начала знать, как вы добились того, чтобы при нажатии Ctrl+A не выделялся весь текст в Edit контроле. Потому как при нажатии Ctrl+A весь текст в Edit конроле выделяется по умолчанию, т.е. в процедуре обработки событий по умолчанию для оконного класса Edit.
Мм, точно по умолчанию?
//стандартный цикл выборки сообщений
while ( ( iGetOk = GetMessage( &msg, NULL, 0, 0 ) ) != 0 ) // цикл сообщений
{
if ( iGetOk == -1 ) return 3; // если GetMessage вернул ошибку - выход
TranslateMessage( &msg );
DispatchMessage( &msg );
}
//wndproc:
LRESULT CALLBACK WndProc(HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam )
{
switch ( message )
{
default:
return DefWindowProc( hWnd, message, wParam, lParam );
}
return 0;
}
//edit создаю так:
CreateWindow( L"edit", NULL, WS_CHILD | WS_BORDER | WS_VISIBLE | WS_VSCROLL | WS_HSCROLL |
ES_AUTOHSCROLL| ES_AUTOVSCROLL | ES_MULTILINE, x, y, w, h,
hWnd, (HMENU) ID_EDIT, hInstance, NULL);
там поди еще и Ctrl-Backspace не работает?
Здравствуйте, Аноним, Вы писали:
А>там поди еще и Ctrl-Backspace не работает?
Ага, не работает
Здравствуйте, SilverGhost, Вы писали:
SG>Как заставить при нажатии Ctrl+A выделяться весь текст в Edit контроле?
SG>На данный момент не знаю, как отследить нажатие Ctrl+A в Edit контроле.
Использовать акселераторы? (CreateAcceleratorTable + TranslateAccelerator)
Здравствуйте, Carc, Вы писали:
C>Использовать акселераторы? (CreateAcceleratorTable + TranslateAccelerator)
Ага, спасиб, заработало!