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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2010, 20:44   #1
Crudelis
Пользователь
 
Аватар для Crudelis
 
Регистрация: 05.04.2010
Сообщений: 56
По умолчанию Не отрабатывается WK_KEYDOWN

Код:
#include "TetrisClass.h"
Tetris* Tetris::ptr = NULL;
Tetris::Tetris()
{
	ptr=this;
}
//---------------------------------/
BOOL Tetris::Cls_OnInitDialog(HWND hwnd, HWND hwnFocus, LPARAM lParam){
	//получим дескры
	////////////////
	hDialog = hwnd;
	hOchki = GetDlgItem(hDialog,IDC_OCHKI);
	//установим иконку
	///////////////////
	HICON hHad = LoadIcon(GetModuleHandle(0),MAKEINTRESOURCE(IDI_ICON1));
	SetClassLong(hDialog,GCL_HICON,(LONG)hHad);
	hImg = LoadBitmap(GetModuleHandle(0),MAKEINTRESOURCE(IDB_ELEM));
	///////////////////
	//заполним матрицу нулями
	/////////////////////////
	for(int i=0;i<15;i++){
		for(int j=0;j<10;j++)
			massPole[i][j]=0;
	}
	CreateElem();
	//////////////////////////
	return 1;

}
//--------------СОЗДАИНЕ ЭЛЕМЕНТА--/
void Tetris::CreateElem(){
..................................
..................................
.................................
}
//--------------ПРОВЕРКА МАТРИЦЫ--/
void Tetris::Verify(){


}
//-------------------------------/
void Tetris::Cls_OnClose(HWND hwnd){

	EndDialog(hDialog,0);

}
//----------------------------------/
void Tetris::Cls_OnCommand(HWND hwnd, int id, HWND hwndCtrl, UINT codeNotify){



}
//-------------------------------/
void Tetris::Cls_OnKey(HWND hwnd, UINT vk, BOOL fDown, int cRepeat, UINT flags)
{
	if(vk==VK_DOWN)
	{
		RECT rect;
		GetWindowRect(hObject[0],&rect);
		MoveWindow(hObject[0],rect.left+30,rect.top+30,25,25,1);
	}

}
//--------------------------------/
void Tetris::Cls_OnTimer(HWND hwnd, UINT id){


}
//----------------------------------/
BOOL CALLBACK Tetris::DlgProc(HWND hwnd, UINT mess, WPARAM wParam, LPARAM lParam){
	switch(mess)
	{
		HANDLE_MSG(hwnd,WM_CLOSE,ptr->Cls_OnClose);
		HANDLE_MSG(hwnd,WM_INITDIALOG,ptr->Cls_OnInitDialog);
		HANDLE_MSG(hwnd,WM_KEYDOWN,ptr->Cls_OnKey);
		HANDLE_MSG(hwnd,WM_COMMAND,ptr->Cls_OnCommand);
		HANDLE_MSG(hwnd,WM_TIMER,ptr->Cls_OnTimer);
		
	}
	return 0;
}
Есть диалоговое окно, в коде прописаны распаковщики, при нажатии на кнопку VK_DOWN Элемент должен двигаться вниз, а у меня ничего не работает, помогите разобраться пожалуйста
сout<<"Изучаю программирование" точка с запятой
Crudelis вне форума Ответить с цитированием
Ответ


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