case WM_COMMAND:
switch(wParam){
case MAKELONG(EDIT_ID, EN_CHANGE):
...
break;
}
break;
WinAPI: как создать кнопки??
Проблема: неизвестно как создать в окне кнопки с использованием API функций. Есть некая функция InitCommonControlsEx(Type), которая грузит из DLL'ки разные контролы, но с ней нужно использовать функцию CreateWindowEx, которой, судя по примеру, вторым параметром нужно передавать некую строку. Для контрола UpDown эта строка выглядит так: "msctls_updown32", а как для других???
Все необходимое обнаружил в заголовочном файле commctls.h. Теперь нужно только узнать как писать функции-обработчики для этих элементов??...
Цитата:
Originally posted by mmr
Все необходимое обнаружил в заголовочном файле commctls.h. Теперь нужно только узнать как писать функции-обработчики для этих элементов??...
Все необходимое обнаружил в заголовочном файле commctls.h. Теперь нужно только узнать как писать функции-обработчики для этих элементов??...
контролы посылают родительскому окну notification messages. Каждый контрол - сообщения разного типа, так что смотри в MSDN
switch(message)
{ .
.
case EN_CHANGE:
наш код
break;
.
.
}
Так или нет? Если так, то сразу говорю, что пробовал... не работает. :{
Цитата:
Originally posted by Easy Coder
MSDN у меня нет, но, как я понял, если для EditBox'а существует такое notofication message как EN_CHANGE (найдено в winuser.h), то в функцию обработки сообщений главного окна нужно писать:
switch(message)
{ .
.
case EN_CHANGE:
наш код
break;
.
.
}
Так или нет? Если так, то сразу говорю, что пробовал... не работает. :{
MSDN у меня нет, но, как я понял, если для EditBox'а существует такое notofication message как EN_CHANGE (найдено в winuser.h), то в функцию обработки сообщений главного окна нужно писать:
switch(message)
{ .
.
case EN_CHANGE:
наш код
break;
.
.
}
Так или нет? Если так, то сразу говорю, что пробовал... не работает. :{
конкретно EditBox работает через WM_COMMAND:
Код:
в lParam лежит HWND контрола
И лично от меня: хочешь писать на WinAPI - раздобудь MSDN