Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 12 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 17.07.2005
Решил значит я учится писать писать GUI приложения,и что бы непривязыватся сразу к какойто одной среде решил начать с самого простого тоесть WNDPROC , пользовался книгой Румянцева и MSDN'эном .Вроде бы как все правильно написал
Код:

#include <windows.h>

LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wparam,LPARAM lparam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
HWND hWnd;
WNDCLASS wcl;
MSG msg;
char classname[]="myprog";
wcl.style = CS_HREDRAW | CS_VREDRAW;
wcl.lpfnWndProc = (WNDPROC)WndProc;
wcl.hInstance = hInstance;
wcl.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wcl.hCursor=LoadCursor(NULL, IDC_ARROW);
wcl.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcl.lpszClassName =classname ;
wcl.lpszMenuName=NULL;
wcl.cbClsExtra = 0;
wcl.cbWndExtra = 0;
RegisterClass(&wcl);
hWnd=CreateWindow(classname,"myprog",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, 0, 300, 300,NULL,NULL,hInstance,NULL);
ShowWindow(hWnd,SW_SHOW);
UpdateWindow(hWnd);
while(GetMessage(&msg, NULL, 0, 0))
   {
      TranslateMessage(&msg);
      DispatchMessage(&msg);
   }
return msg.wParam;   
}
LRESULT CALLBACK WndProc (HWND hWnd,UINT msg,WPARAM wparam,LPARAM lparam)
{
HDC hDC;
PAINTSTRUCT PaintStruct;
RECT Rect;
switch(msg)
   {
   case WM_PAINT:
   hDC=BeginPaint(hWnd,&PaintStruct);
   GetClientRect(hWnd,&Rect);
   DrawText(hDC,"jggnf",-1,&Rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER);
   EndPaint(hWnd,&PaintStruct);
   return 0;
   case WM_DESTROY:
   PostQuitMessage(0);
   return 0;
   }
return DefWindowProc(hWnd,msg,wparam,lparam);
}

Но тут все и началось .В 5 борланде присоздании проекта ему нехватало каких то файлов при линковке ,если пытался прямо из файла скомпилировать то естественно выдавало Unresolve external '_main' в обектном файле, то же самое (если окрыть файл и попытатся его скомпилировать ) было и М$ VC++ шестым ,хотя если я создавал пустой проект и присоединял к нему тот cpp файл то появлялась ошибка уже при компиляции.Борланд 6й С++ билдер правда компилировал вроде как нормально но полученное exe даже незапустилось :( .Что делать :weep::weep::weep: ?



Партнер
 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
_nic Проверил на VC 2003 - нормально компилится и работает.
_nic писал(а):
было и М$ VC++ шестым ,хотя если я создавал пустой проект и присоединял к нему тот cpp файл то появлялась ошибка уже при компиляции

Напиши ошибку. Именно так и надо: пустой проэкт и добавление файла.


 

Member
Статус: Не в сети
Регистрация: 24.12.2005
_nic Наверное, проект консольный создал (Unresolve external '_main'), а надо WinAPI проект (или как он там называется?).


 

Member
Статус: Не в сети
Регистрация: 17.07.2005
В том то и дело что M$ VC++ 6 версии уперто думает что это консольное приложение :( А почему хз.С 5 BC++ разобратся так и невышло.


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
_nic
#77

потом Empty Project -> Finish; Project->Add to project->Files -> наш файл

и у меня все чудесно компилится..

Код:
Compiling...
x.cpp
Linking...

x.exe - 0 error(s), 0 warning(s)


#77

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


 

Member
Статус: Не в сети
Регистрация: 12.08.2005
_nic писал(а):
Решил значит я учится писать писать GUI приложения,и что бы непривязыватся сразу к какойто одной среде решил начать с самого простого тоесть WNDPROC , пользовался книгой Румянцева и MSDN'эном

И это очень правильный подход!!!! Совет не суйся в MFC вообще....


 

Member
Статус: Не в сети
Регистрация: 17.07.2005
exe полученный VC++ просто незапускается :( .Но все таки удалось скомпилировать только Borland C++Builder 6 , на сей раз удачно :dance: .Ни как немогу понять что не так с моим M$ VC++ 6 :bandhead: (все хватит с меня M$ перехожу полностью на борланд)
PS:а на VC++ пусть сам БГ пишет :gun: :gun:


 

Member
Статус: Не в сети
Регистрация: 12.08.2005
_nic писал(а):
exe полученный VC++ просто незапускается

Трассировать пробовал? Или прогу набил и все типа должна работать?


 

Member
Статус: Не в сети
Регистрация: 15.11.2005
Откуда: Одесса
_nic писал(а):
exe полученный VC++ просто незапускается :( .Но все таки удалось скомпилировать только Borland C++Builder 6 , на сей раз удачно :dance: .Ни как немогу понять что не так с моим M$ VC++ 6 :bandhead: (все хватит с меня M$ перехожу полностью на борланд)
PS:а на VC++ пусть сам БГ пишет :gun: :gun:

А напрасно. Если уж решил создавать GUI с помощью одного winapi, так и делал бы это в MS VC++ 6. Он для этого очень подходит. Можно визуально конструировать стандартные виндовсные окна-диалоги. Хотя почему бы не использовать VCL из Borland C++ Builder :?:


 

Member
Статус: Не в сети
Регистрация: 10.03.2004
Откуда: Минск
_nic писал(а):
все хватит с меня M$ перехожу полностью на борланд

ОЧень зря. Лучше потрать время и разберись с VC++.


 

Member
Статус: Не в сети
Регистрация: 05.11.2006
force_sk писал(а):
_nic писал(а): все хватит с меня M$ перехожу полностью на борланд

ОЧень зря. Лучше потрать время и разберись с VC++.


Поддерживаю! В Студии работать и легче и проще, да и компилятор там не такой привередливый...


 

Member
Статус: Не в сети
Регистрация: 18.08.2005
Откуда: Новороссийск
_nic проверил твой код, всё скомпилилось, без проблем! Твой код даже мне помог :) , я не мог сделать окно нормального цвета, а взглянув на твой код я всё понял, т.е. вот эта строка wcl.hbrBackground = (HBRUSH)(COLOR_WINDOW);


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 12 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan