Flying Cow
Меню сайта
Вход:
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Категории раздела
Cтатьи наших пользователей [0]
Движки и конструкторы [35]
Наши игры [2]
Полезные статьи общего назначения [3]
Главная » Статьи » Полезные статьи общего назначения

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

Каркас приложения Windows для BCBuilder5, но он также потходит и для Visual C


#include <windows.h>

#include <string.h>

#include<stdio.h>

LRESULT CALLBACK WindowFunc(HWND,UINT,WPARAM,LPARAM);

char szwinname[] = "May Window";

int WINAPI WinMain(HINSTANCE hthisinst,

                   HINSTANCE hprevinst,

                   LPSTR lpszargs,

                   int nwinmode)

{

  HWND hwnd;  // дескриптор (заголовок) окна, т.е. номер,

               // единственным образом идентифицирующий окно

  MSG msg;     // сообщение состоит из HWND окна,

               // получающего сообщение, UINT (номер) сообщения

               // LPARAM, WPARAM, DWORD time, POINT pt -позиция курсора

  WNDCLASS wcl;

 

  wcl.hInstance = hthisinst; // дескриптор данного приложения

  wcl.lpszClassName = szwinname; // имя класса окна

  wcl.lpfnWndProc= WindowFunc;  // оконная функция

  wcl.style = 0; // стиль по умолчанию

  wcl.hIcon = LoadIcon (NULL, IDI_APPLICATION);//как exe - MSDOS

         // IDI_ASTERISK - перевернутый воскл знак (информация)

         // IDI_EXCLAMATION - внимание (воскл знак в желтом тр-ке)

         // ID_HAND - знак стоп (два скрещенных отрезка в красном круге)

         // IDI_QUESTION - вопрос в белом круге

  wcl.hCursor = LoadCursor(NULL,IDC_ARROW); // курсор выводится как стрелка

                  // CROSS (+), IBEAM (верт черта), (WAIT) пес часы

  wcl.lpszMenuName = NULL;

  wcl.cbClsExtra = 0;

  wcl.cbWndExtra = 0;

 

  // цвет окна белый

  wcl.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);

  if(!RegisterClass(&wcl))   // регистрация окна

    return 0;

 

  hwnd = CreateWindow(szwinname,

                      "KARKAS",

                      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);// вернуть управление Windows

  }

  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;

}


А.А. Хусаинов, Н.Н. Михайлова ЧЕЛОВЕКО-МАШИННОЕ ВЗАИМОДЕЙСТВИЕ

Категория: Полезные статьи общего назначения | Добавил: robesh (16.12.2010)
Просмотров: 1026 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Наш опрос
Оцените мой сайт
Всего ответов: 52
Друзья

Браузерные Игры

Сообщество КОМА

Copyright Flying Cow © 2024Сайт создан в системе uCoz