» Главная
eXcode.ru » Статьи » WinAPI
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 23





Каркас WinAPI приложения.




Разработка программ зачастую напоминает священный ритуал, построенный на произнесении ряда обязательных магических заклинаний. Особенно это касается Windows приложений. Windows-заклинания позволяют вывести графическое окно, обработать поступающие сообщения. Порядок их следования предопределен священными руководствами. Часто эти руководства заменяются шпаргалкой, кратко фиксирующей основной каркас:

<table class=code cellpadding=5 align=center width=98% border=1 bordercolor=#3B3B3B><tr><td>

// Каркасное приложение Windows 95

#include <windows.h>
LRESULT CALLBACK WindowFunc(HWND, UINT, WPARAM, LPARAM);
char szWinName[] = "SimpleWin";
int WINAPI WinMain (HINSTANCE hThisInst,HINSTANCE hPrevInst,
LPSTR lpszArgs,int nWinMode)
{
HWND hwnd;
MSG msg;
WNDCLASS wcl;

wcl.hInstance = hThisInst;
wcl.lpszClassName = szWinName;
wcl.lpfnWndProc = WindowFunc;
wcl.style = 0;
wcl.hIcon = LoadIcon (NULL,IDI_APPLICATION);
wcl.hCursor = LoadCursor (NULL, IDC_ARROW);
wcl.lpszMenuName = NULL;
wcl.cbClsExtra = 0;
wcl.cbWndExtra = 0;
wcl.hbrBackground= (HBRUSH)GetStockObject (WHITE_BRUSH);

if ( !RegisterClass (&wcl) )
return 0;

hwnd = CreateWindow (szWinName,
"Kаркас программы для Windows 95",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
HWND_DESKTOP,
NULL,
hThisInst,
NULL);

ShowWindow (hwnd,nWinMode);
UpdateWindow (hwnd);

while ( GetMessage (&msg, NULL,0,0) )
{
TranslateMessage (&msg);
DispatchMessage (&msg);
}

return msg.wParam;

}

// Оконная процедура
LRESULT CALLBACK WindowFunc(HWND hwnd,UINT message,
WPARAM wParam,LPARAM lParam)
{
switch (message)
{
case WM_DESTROY:
PostQuitMessage (0);
break;
default:
return DefWindowProc (hwnd,message,wParam,lParam);
}
return 0;
}

</td></tr></table>
Зачастую начинающие шаманы обходятся и без шпаргалок. Обратившись к волшебникам и мастерам, они получают нужный каркас и целую кучу дополнительных наворотов. Каждый из этих подходов имеет свои положительные и отрицательные стороны. И каждый из них постоянно совершенствется впитывая в себя последние достижения технологии программирования. Ряд этих подходов, как мне кажется являются достаточно интересными как для изучения, так и для практического использования.
К началу статьи





Добавил: MadvEXДата публикации: 2005-06-03 19:15:09
Рейтинг статьи:3.33 [Голосов 6]Кол-во просмотров: 18040

Комментарии читателей

Всего комментариев: 2

2010-12-28 14:03:08
Archelo
Дай что нибудь по существенее

2009-05-07 12:52:12
Archelo
Такие объяснения присутствуют в любой детской книжке, неужели нет чего нибудь по взрослее
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Какую P2P-сеть предпочитаете?
Kazaa
6% (7)
Shareaza
2% (3)
Ml'Donkey
9% (11)
BitTorrent
21% (27)
Другой
8% (10)
А что такое P2P?
21% (27)
Ничем не пользуюсь
28% (35)
Ненавижу P2P!!!
6% (7)

Проголосовало: 127
Компьютер - это устройство для упорядочивания, ускорения и автоматизации человеческих ошибок.
Рейтинг: 1/10 (1)
Посмотреть все анекдоты