Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Окно своими руками.

451
08 мая 2003 года
Gerret
51 / / 20.05.2000
Доброго времени суток всем!
Захотелось попробовать создать програму под виндовс без использования визуальных фишек и без VCL.

Нашел пару примеров, но при вызове ф-ии CreateWindow вылетает ошибка EAccessViolation at address 00000024.
Я никак не могу понять с чего эта ошибка...
Код:
bool CALLBACK MyWinProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
}
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR lpCmdLine, int nCmdShow)
{
  HWND hwndMain;

  WNDCLASS wc;
  wc.style = CS_HREDRAW|CS_VREDRAW;
  wc.lpfnWndProc = (WNDPROC)MyWinProc;
  wc.hInstance = hInstance;
  wc.hbrBackground = (HBRUSH)(COLOR_WINDOW);
  wc.lpszClassName = "MYFIRSTNONVCLAPPLICATION";
  wc.hCursor = LoadCursor(NULL, IDC_ARROW);
  wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  wc.lpszMenuName = NULL;
  wc.cbClsExtra = 0;
  wc.cbWndExtra = 0;

  if(!RegisterClass(&wc))MessageBox(0, "Class is not registred", "ERROR", MB_ICONERROR | MB_OK), ExitProcess(0);
  else MessageBox(0, "Class is registred", "Seccess", MB_OK);

   hwndMain = CreateWindow(wc.lpszClassName, "Non VCL Programm",
                WS_BORDER|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,
                CW_USEDEFAULT, 0, 300, 350, NULL, NULL, hInstance, NULL);
  if(GetLastError() == 1400)MessageBox(0, "Window is not created", "ERROR", 0);
  ShowWindow(hwndMain, SW_SHOWNORMAL);

        return 0;
}
443
14 мая 2003 года
REmindER
292 / / 23.03.2003
Window is not created и далее в строке оно все равно показывается? Ну а это будет работать:
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог