Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

программирование на API. Как нажать на кнопку.

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
jeon



Зарегистрирован: 22.10.2005
Сообщения: 1

СообщениеДобавлено: Сб Окт 22 2005 15:29    Заголовок сообщения: программирование на API. Как нажать на кнопку. Ответить с цитатой

Привет. Хочу просто сделать форму с кнопкой и чтобы при нажатии на кнопку что-нить делалось (все равно что) на чистом API. Форму я сделал и могу обрабатывать сообщения которые в неё поступают, у меня при нажатии на кнопку левой или правой кнопкой меняется текст окна и если открыт «Блокнот», то меняется и текст его заголовка окна. Добавил и кнопку на форму, но вот как обрабатывать сообщения для кнопки я не догоню!!! Собственно вот и вопрос – как сделать обработчик для кнопки. Вот код, который у меня получился:

<code>

#include <windоws.h>

LONG WINAPI WndProc(HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
{
HWND hwnd,bhwnd;
MSG msg;
WNDCLASS w;
memset(&w,0,sizeof(WNDCLASS));
w.style=NULL;
w.lpfnWndProc=WndProc;
w.hInstance=hInstance;
w.hbrbаскgrоund=(HBRUSH)COLOR_windоw;
w.lpszClassName="First";
w.hCursor=LoadCursor(NULL, IDC_ARROW);
RegisterClass(&w);
hwnd=Createwindоw("First","fucking windоw",WS_OVERLAPPEDwindоw,1,1,500,400,NULL,NULL,hInstance,NULL);
bhwnd=Createwindоw("BUTTON","OK",WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,10,10,100,100,hwnd,NULL,NULL,NULL);
Showwindоw(hwnd,nShowCmd);
Updatewindоw(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}


LONG WINAPI WndProc(HWND hwnd,UINT Message,WPARAM wparam,LPARAM lparam)
{
switch(Message)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_LBUTTONDOWN:
SetwindоwText(hwnd,"not fucking windоw");
break;
case WM_RBUTTONDOWN:
HWND hnd;
hnd=Findwindоw(NULL,"Áåçûìÿííûé - Áëîêíîò");
SetwindоwText(hnd,"jeon's soft - notepad");
SetwindоwText(hwnd,"its so scary in a world with peoples who are idiots");
break;
default:
return DefwindоwProc(hwnd,Message,wparam,lparam);
}
return 0;
}

</code>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
kashtan



Зарегистрирован: 28.10.2005
Сообщения: 3
Откуда: Санкт-Петербург

СообщениеДобавлено: Пт Окт 28 2005 17:02    Заголовок сообщения: Ответить с цитатой

Все просто:
Код:

LONG WINAPI WndProc(HWND hwnd,UINT Message,WPARAM wparam,LPARAM lparam)
{
switch(Message)
{
// ********************************************************
case WM_COMMAND:
      wmId    = LOWORD(wParam);
      wmEvent = HIWORD(wParam);
      switch (wmId)
      {
      case BN_CLICKED:
         if((HWND)lParam == bhwnd)
            MessageBox(0, "Button clicked!","Notify", MB_OK);
         break;
      }
      break;
// ********************************************************
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_LBUTTONDOWN:
SetwindоwText(hwnd,"not fucking windоw");
break;
case WM_RBUTTONDOWN:
HWND hnd;
hnd=Findwindоw(NULL,"Aacuiyiiue - Aeieiio");
SetwindоwText(hnd,"jeon's soft - notepad");
SetwindоwText(hwnd,"its so scary in a world with peoples who are idiots");
break;
default:
return DefwindоwProc(hwnd,Message,wparam,lparam);
}
return 0;
}


Вместо MessageBox ставь свой обработчик нажатия на клавишу...
_________________
Здесь все не просто, а очень просто...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...