Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование на WinApi, C++Builder, Visual C++


Информационный Канал Subscribe.Ru


Выпуск № 25-2003 BCBDEV.RU

Здравствуйте уважаемые подписчики!

Перед вами очередной выпуск рассылки "Программирование на WinApi"
Переводы многих функций Win32API, которые часто используются в данной рассылке, вы можете получать, подписавшись на дружественную рассылку "WinAPI на русском".
Справочник по функциям Win32API вы можете посмотреть на сайте BcbDev.ru в разделе MSDN по-русски.

Минимальная программа на Win32API
Порой необходима программа, для быстрой проверки какого либо кода.
Следующий код содержит минимальный набор инструкций по созданию окна.
Порой довольно удобно вставить в оконную процедуру то,  что необходимо проверить, без нудного набора стандартного кода.
Собсна сам код...
#include <windows.h>
#define ClassName "Win Class"

HWND hwnd;

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
 switch(msg)
 {
  case WM_LBUTTONUP: 
    MessageBox(hwnd, "Нажата левая кнопка мышки!", "Тест", MB_OK); 
    break;
  case WM_DESTROY: 
    PostQuitMessage(0); 
    break;
 }
 return(DefWindowProc(hwnd, msg, wparam, lparam)); // Пускай эта функция обработает то, что не обработали мы...
}
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow)
{
 MSG msg;
 WNDCLASS wc;
 wc.style = CS_VREDRAW | CS_HREDRAW;
 wc.cbClsExtra = 0;
 wc.cbWndExtra = 0;
 wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); // WHITE_BRUSH...
 wc.hCursor = LoadCursor(NULL, IDC_ARROW); // IDC_CROSS...
 wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
 wc.hInstance = hinstance;
 wc.lpfnWndProc = WndProc;
 wc.lpszClassName = ClassName;
 wc.lpszMenuName = NULL;
 RegisterClass(&wc);
 hwnd = CreateWindow(ClassName, "Задров! Мир!", WS_OVERLAPPEDWINDOW, 50, 50, 250, 150, NULL, NULL, hinstance, NULL);
 ShowWindow(hwnd, ncmdshow);
 //Инициализация здесь!
 while(1)
 {
  if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
  {
   if (msg.message == WM_QUIT) break;
   TranslateMessage(&msg);
   DispatchMessage(&msg);
  }
 }
 // Завершение здесь!
 return(msg.message);
}

Удачи Вам в Ваших делах Куковинец Андрей aka Juggernaut

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное