|
0 / 0 / 0
Регистрация: 26.02.2008
Сообщений: 8
|
|
Перемещение по множеству EDITов26.02.2008, 22:08. Показов 1439. Ответов 6
Метки нет (Все метки)
Проблема такая:
У меня на окне(не диалог!) много EDITов, мне надо между ними перемещаться желательно стрелками и ENTER. Для этого мне нужно занать какие клавиши нажимаются во время ввода текста в EDIT, но сообщения WM_KEY... and WM_CHAR кудато уходят мимо моего switch(msg). На диалоговом окне хоть TAB работает но мне это неподходит. Подскажите где мне их ловить или другой способ.
0
|
|
| 26.02.2008, 22:08 | |
|
Ответы с готовыми решениями:
6
Заполнение Editов из Грида Как сделать чтобы картнка виднелась сверху MEmo и editов? Принадлежность множеству |
|
0 / 0 / 0
Регистрация: 26.02.2008
Сообщений: 8
|
|
| 27.02.2008, 23:51 [ТС] | |
|
Спасибо!
Сам бы никогда не нашел! Конечно с виду сложновато но поробую осилить.
0
|
|
|
0 / 0 / 0
Регистрация: 26.02.2008
Сообщений: 8
|
|
| 01.03.2008, 19:02 [ТС] | |
|
Покрутил я этот WM_GETDLGCODE и ничего уменя не получилось.
Может кто примерчик вышлет или более подробно.
0
|
|
|
|
|
| 06.03.2008, 23:02 | |
|
Мой первый ответ, похоже, был из другой оперы. Не разобрался сразу.
Вам надо подменить оконную функцию стандартного контрола своей, в ней написать нужную обработку сообщений от клавиатуры и закончить ее обращением к стандартной функцией. Вот фрагмент работающего проекта: typedef LRESULT (CALLBACK *PFNWP)(HWND, UINT, WPARAM, LPARAM); PFNWP pWinProc; LRESULT CALLBACK EditWindowProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam) { // Оконная функция для EDIT switch(Message) { case WM_KEYDOWN: MessageBox(0,'Нажато','',0); } return pWinProc(hWnd, Message, wParam, lParam); } LRESULT CALLBACK MainWindowProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam) { // Оконная функция для главного окна HWND ed1; switch(Message) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_CREATE: ed1=CreateWindow('EDIT','', ES_LEFT|WS_CHILD|WS_VISIBLE|WS_BORDER|WS _TABSTOP, 24,40,122,24,hWnd, (HMENU)101,hInstance,NULL); pWinProc=(PFNWP)SetWindowLong(ed1, GWL_WNDPROC, (long)EditWindowProc); break; } return DefWindowProc(hWnd, Message, wParam, lParam); } Здесь контрол создается вручную, но та же технология применима и при использовании диалога. С новым Годом.
0
|
|
|
0 / 0 / 0
Регистрация: 26.02.2008
Сообщений: 8
|
|
| 10.03.2008, 00:03 [ТС] | |
|
Огромное Спасибо!
Всех С Новым Годом!
0
|
|
|
|
|
| 13.03.2008, 19:08 | |
|
Я опять не вполне разобрался в вопросе. Оказывается, этот метод называется сабклассинг. Имеется специальный стандартный
тип WNDPROC для оконной функции, а для вызова оконной функции предназначена функция CallWindowProc. С учетом всего этого пример выглядит уже не таким самодельным: WNDPROC pWinProc; LRESULT CALLBACK EditWindowProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam) { switch(Message) { case WM_KEYDOWN: MessageBox(0,'Íàæ&ag rave;òî','',0); } return CallWindowProc(pWinProc, hWnd, Message, wParam, lParam); } LRESULT CALLBACK MainWindowProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam) { HWND ed1; switch(Message) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_CREATE: ed1=CreateWindow('EDIT','', ES_LEFT|WS_CHILD|WS_VISIBLE|WS_BORDER|WS _TABSTOP, 24,40,122,24,hWnd, (HMENU)101,hInstance,NULL); pWinProc=(WNDPROC)SetWindowLong(ed1, GWL_WNDPROC, (long)EditWindowProc); break; } return DefWindowProc(hWnd, Message, wParam, lParam); } Век живи - век учись (дураком помрешь)
0
|
|
| 13.03.2008, 19:08 | |
|
Помогаю со студенческими работами здесь
7
Принадлежность множеству
Принадлежит ли матрица множеству? Алгоритм поиск по множеству Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|