Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2012, 23:49   #1
Neketek
Пользователь
 
Регистрация: 22.03.2012
Сообщений: 26
По умолчанию Проблема с созданием простого приложения WIN32

Люди, прошу помочь, только вот недавно приступил к изучению визуального программирования , понял концепцию пишу простое приложение, ошибок синтаксиса нет, но не хочет создавать окно, прошу посмотрите и тыкните носом в то, что делал неправильно.
Цитата:
#include <windows.h>

char name[] = "Ìî¸ îêíî";

LRESULT CALLBACK proc(HWND, UINT, WPARAM, LPARAM);
HWND hwnd = 0;
MSG msg;


int WINAPI WinMain(HINSTANCE hinst, HINSTANCE phinst, PSTR szCmdLine, int iCmdShow)
{

WNDCLASSEX wc;// ñòðóêòóðà îïèñàíèÿ îêíà
////////////////////////////////////////////////////////////
wc.cbClsExtra = NULL;
wc.cbWndExtra = NULL;
wc.lpszMenuName = NULL;
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
wc.hInstance = hinst;
wc.lpszClassName = name;
wc.lpfnWndProc = proc;
wc.style = CS_HREDRAW|CS_VREDRAW;
wc.cbClsExtra = sizeof(wc);
///////////////ðåãèñòðàöèÿ êëàññà îêíà è âûâîä ñîîáùåíèÿ îá îøèáêå
if (!(RegisterClassEx(&wc)))
{
MessageBox(NULL,"Îøèáêà ðåãèñòðàöèè êëàññà","Processing problem", MB_OK);
}
///////////////ñîçäàíèå îêíà è âûâîä ñîîáùåíèÿ îá îøèáêå
hwnd = CreateWindow( name, // èìÿ îêíà
"Ìîÿ ïåðâàÿ âèçóàëüíàÿ ïðîãðàììà", // âèäèìîå èìÿ
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, // initial x position
CW_USEDEFAULT, // initial y position
CW_USEDEFAULT, // initial x size
CW_USEDEFAULT, // initial y size
NULL,
NULL,
hinst,
NULL
);
if (hwnd == 0)
{
MessageBox(NULL,"Îøèáêà ñîçäàíèÿ îêíà", "Problem",MB_OK);
}

ShowWindow(hwnd,iCmdShow);
UpdateWindow(hwnd);
while (GetMessage(&msg,NULL,NULL,NULL))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg);
}
return msg.wParam;
}

///îêîííàÿ ïðîöåäóðà
LRESULT CALLBACK proc(HWND hwnd, UINT msg, WPARAM wpar, LPARAM lpar)
{
switch (msg)
{
case WM_LBUTTONDOWN:
MessageBox(NULL, "Âñå óñïåøíî", NULL, NULL);
break;
case WM_KEYDOWN:
MessageBox(NULL, "Âñå óñïåøíî", NULL, NULL);
break;
case WM_DESTROY :
PostQuitMessage (0) ;
return 0 ;
break;
}

return DefWindowProc(hwnd,msg,wpar,lpar);
}
Neketek вне форума Ответить с цитированием
Старый 25.04.2012, 00:01   #2
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Щас ткнем носом

wc.cbClsExtra = sizeof(wc); // ЛАЖА
Должно быть
wc.cbSize = sizeof(WNDCLASSEX);
EUGY вне форума Ответить с цитированием
Старый 25.04.2012, 01:11   #3
Neketek
Пользователь
 
Регистрация: 22.03.2012
Сообщений: 26
По умолчанию

Действительно глупая ошибка, знаете, не первый раз меня выручаете, возможно , когда нибудь и как нибудь я Вас отблагодарю, но, а пока просто, спасибо.
Neketek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить шаблон консольного приложения Win32? monro86 Visual C++ 2 29.03.2012 00:59
Открытие файла, предварительно загруженного в файл ресурсов Win32 приложения alexandersson Win Api 1 16.04.2011 21:54
Проблема с созданием окна в Win32 Magnuse Win Api 7 16.02.2011 16:13
WIN32 API. Проблемы с созданием окна в консольном приложении Magnuse Помощь студентам 1 23.01.2011 14:34