Форум программистов, компьютерный форум CyberForum.ru

Перемещение по множеству EDITов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как работать с ГРИДОМ в VC++ http://www.cyberforum.ru/cpp-beginners/thread465647.html
Подскажите основные функции Grid
C++ Недопустимая операция при выполнении оператора delete[] Проблема у меня такая. Есть функция. Кусок ее кода выглядит примерно так: //... получам M и N float *pArr1 = new float ; int *pArr2 = new int ; int *pArr3 = new int ; int *pArr4 = new int ; //... что то делаем с массивами delete pArr1; delete pArr2; delete pArr3; http://www.cyberforum.ru/cpp-beginners/thread465635.html
Как блокировать клавиши в MFC? Visual C++
Подскажите, как блокировать ALT. Или придумать другой способ того, чтобы прога не вырубалась CTRL+ALT+DEL'ом и ALT+TAB'ом. С ALT+F4 уже разобрался... Заранее thanks. UraN
Как убрать запуск консоли (conagent-а)? C++
Подскажите пжлста - как убрать запуск консоли если, например, в визарде vc++ создается консольное приложение и пишется opengl программка - запускается и желаемое окно и этот текстовый довесок?... Спросить боле неукого где ета хренова галочка находиться :(
C++ Где взять библиотеки к метафайлам? http://www.cyberforum.ru/cpp-beginners/thread465608.html
Где взять библиотеки по сабжу? Запарился я писать свою. Эта векторная, чтоб ее черти побрали. В Кореле делаешь метафайл, экспортируешь, потом, скажем, во FreeHand-е импортируешь - мама мия, совсем всё по другому. А мне писать код, чтоб в любом векторнике подготовленная, эта дрянь отображалась корректно! Я трёхнусь скоро. В MFC все ограничено проигрыванием, больше заготовок нет. Беда.
C++ Как поместить строки в .dll ?? Как туда поместить функции я разобрался ... А вот строки и другие ресурсы - никак. подробнее

Показать сообщение отдельно
palva
2511 / 1733 / 229
Регистрация: 08.06.2007
Сообщений: 6,806
Записей в блоге: 4
13.03.2008, 19:08     Перемещение по множеству EDITов
Я опять не вполне разобрался в вопросе. Оказывается, этот метод называется сабклассинг. Имеется специальный стандартный
тип WNDPROC для оконной функции, а для вызова оконной функции предназначена функция CallWindowProc.

С учетом всего этого пример выглядит уже не таким самодельным:

WNDPROC pWinProc;

LRESULT CALLBACK EditWindowProc(HWND hWnd, UINT Message,
WPARAM wParam, LPARAM lParam) {
switch(Message) {
case WM_KEYDOWN:
MessageBox(0,'Íàæàòî','',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);
}

Век живи - век учись (дураком помрешь)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru