Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2012, 22:27   #1
Павел-ещераз-Павел
 
Регистрация: 28.03.2012
Сообщений: 5
Печаль Как корректно обработать кнопки

я создаю окно, у меня есть вот такой код:
Код:
#include <windows.h> 

bool done=false;
bool fullscreen=true;
bool keys[256]; 

HGLRC hRC=NULL; 
HDC hDC=NULL; 
HWND hWnd=NULL;
HINSTANCE hInstance;


LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

{

 switch (uMsg) 

 {

 case WM_ACTIVATE: 

 {

 if( !HIWORD( wParam ) ) 

 { active = true; } 

 else

 { active = false; } 


 case WM_SYSCOMMAND: 

 {

 switch ( wParam ) 

 {

 case SC_SCREENSAVE: 

 case SC_MONITORPOWER: 

 return 0; 

 }

 break; 

 }

 case WM_CLOSE: 

 {

 PostQuitMessage( 0 ); 

 return 0; 

 }

 /* case WM_KEYDOWN: 

 switch (wParam)
 {
 case keys[VK_LEFT]:

 {

 MessageBox(NULL, TEXT("dfgth"), TEXT("rthfc"), MB_OK);
 }
 break;

 }

 case WM_SIZE: 

 {

 ReSizeGLScene( LOWORD(lParam), HIWORD(lParam) ); 

 return 0; 

 }

 } 

 return DefWindowProc( hWnd, uMsg, wParam, lParam );

}

// -------тут я окно создаю и все что с ним всязано
// далее


int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) 
{
 MSG msg; 

 if(!CreateGLWindow("OpenGL структура", 1024, 768, 32, !fullscreen))
 {return 0;}
 while( !done ) 
 {

 if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) 
 {
 if( msg.message == WM_QUIT ) 
 {
 done = true; 
 }
 else
 {
 TranslateMessage( &msg ); 
 DispatchMessage( &msg ); 
 }
 }
 else 
 { if( active )
 {
 DrawGLScene(); 
 SwapBuffers( hDC ); 

 if(keys[VK_UP])
 { MessageBox(NULL, TEXT("dbg"), TEXT("dsfbv"), MB_OK);
 }
 } 

 }
 }

 KillGLWindow(); 

 return ( msg.wParam ); 
}
дело в том, что ни в обработчике сис сообщений нажатие при нажатии на кнопку ничего не происходить (более того пишет case expression not constant), ни в мэйне ничего не происходит....Подскажите плз, что делать в таком случае?

Последний раз редактировалось Stilet; 02.05.2012 в 22:59.
Павел-ещераз-Павел вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как корректно дописать программу??? Patutol Общие вопросы C/C++ 8 12.10.2011 07:19
Как в DBGrid обработать сообщение на кнопки прокрутки ArtInt БД в Delphi 4 12.03.2009 21:09
Помогите, пожалуйста, обработать кнопки скобок в калькуляторе Taisja Помощь студентам 2 04.10.2008 12:42
Как корректно завершить цикл? Iren Microsoft Office Excel 4 02.11.2007 09:58
как корректно остановить цикл. Alar Общие вопросы Delphi 0 29.10.2006 10:42