Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > VS 2005 & АПИ


Автор: HellanD 3.9.2006, 07:43
Подскажите если я хочю написать проект на с помощью VS 2005 АПИ(ну без MFC) подскажите что нажать!

Добавлено @ 07:53 
Вопрос:
Я хочу писать проги не используя MFC (просто АПИ), а ничего кроме 
VS 2005 (из компеляторов) под рукой нет   ), подскажите как создать проект без  MFC
Я ранше писал в BC5 и было все ОК, а теперь гдето "посеял" его. 
Подскажите плиз!
Спасибо за ответ!!  
 

Автор: vinter 3.9.2006, 10:03
Вопрос че то не совсем ясен... Не хочешь MFC юзать, не юзай... а если тебя библиотеки напрягают , то их можно в свойствах проекта отключить smile 

Автор: HellanD 3.9.2006, 10:11
Смотри я перехожу на VS с BC 6и не знаю скажи что нужно нажать (подробно) что б был чисто пустой проект и можно было бы писать в него стандартные АПИ:-).
Спасибки!

Автор: HellanD 3.9.2006, 10:38
Ну я например вибираю file->new->project->Win32->Empty pr..
Добавляю новый Срр шный соурс.
Пишу такой стандартный код
Код

#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
static char szAppName[] = "HelloWin";
HWND hwnd;
MSG msg;
WNDCLASSEX wndclass;
wndclass.cbSize = sizeof(wndclass);
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground =(HBRUSH) GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;
wndclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
RegisterClassEx(&wndclass);
hwnd = CreateWindow(
szAppName, // window class name
"The Hello Program", // window caption
WS_OVERLAPPEDWINDOW, // window style
CW_USEDEFAULT, // initial x position
CW_USEDEFAULT, // initial y position
CW_USEDEFAULT, // initial x size
CW_USEDEFAULT, // initial y size
NULL, // parent window handle
NULL, // window menu handle
hInstance, // program instance handle
NULL
); // creation parameters
ShowWindow(hwnd, iCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
switch(iMsg)
{
case WM_CREATE:
PlaySound("hellowin.wav", NULL, SND_FILENAME | SND_ASYNC);
return 0;
24
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
GetClientRect(hwnd, &rect);
DrawText(hdc, "Hello, Windows 95!", -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
EndPaint(hwnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, iMsg, wParam, lParam);
}


А он пишет мне:
Command Lines      Creating temporary file "c:\Documents and Settings\Oleg\Мои документы\Visual Studio 2005\Projects\h\h\Debug\RSP0000019681796.rsp" with contents
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc80.pdb" /W3 /c /Wp64 /ZI /TC ".\f.c"
]
Creating command line "cl.exe @"c:\Documents and Settings\Oleg\Мои документы\Visual Studio 2005\Projects\h\h\Debug\RSP0000019681796.rsp" /nologo /errorReport:prompt"
 Output Window      Compiling...
f.c
c:\documents and settings\oleg\мои документы\visual studio 2005\projects\h\h\f.c(19) : warning C4133: '=' : incompatible types - from 'char *' to 'LPCWSTR'
c:\documents and settings\oleg\мои документы\visual studio 2005\projects\h\h\f.c(34) : warning C4133: 'function' : incompatible types - from 'char [9]' to 'LPCWSTR'
c:\documents and settings\oleg\мои документы\visual studio 2005\projects\h\h\f.c(34) : warning C4133: 'function' : incompatible types - from 'char [18]' to 'LPCWSTR'
c:\documents and settings\oleg\мои документы\visual studio 2005\projects\h\h\f.c(42) : warning C4244: 'return' : conversion from 'WPARAM' to 'int', possible loss of data
c:\documents and settings\oleg\мои документы\visual studio 2005\projects\h\h\f.c(52) : warning C4133: 'function' : incompatible types - from 'char [13]' to 'LPCWSTR'
c:\documents and settings\oleg\мои документы\visual studio 2005\projects\h\h\f.c(55) : error C2143: syntax error : missing ';' before 'case'
c:\documents and settings\oleg\мои документы\visual studio 2005\projects\h\h\f.c(58) : warning C4133: 'function' : incompatible types - from 'char [19]' to 'LPCWSTR'
 Results      Build log was saved at "file://c:\Documents and Settings\Oleg\Мои документы\Visual Studio 2005\Projects\h\h\Debug\BuildLog.htm"
h - 1 error(s), 6 warning(s)
 
Помогите плиз!!!
Очень нужна помощь!

Автор: Greeen 3.9.2006, 11:24
HellanD, ну не снимай галочку EmptyProject, он тебе заготовочку создаст. И пышы на АПИ себе на радость  smile 

Автор: HellanD 3.9.2006, 11:37
Дак я так и сделал...
А радость  smile окончилась сообщениями (читай выше)

Автор: vinter 3.9.2006, 12:37
либо я чего то не понимаю, либо ты smile 
Ты создай не пустой проект, пусть там будут precompiled header, понимаешь у тебя может и MFC проект быть ,но писать ты будешь на чистом Win API, никто же тебя не заставляет использовать ф-ии MFC smile

Добавлено @ 12:47 
Короче только что сам проверил, создал win 32 project-> empty project, закоментил PlaySound(так как че то компилеру она не понравилась)
и у меня твой код запахал..

Автор: nikitao 3.9.2006, 13:49
HellanD, ты вообще читаешь то, что тебе компелятор пишет? Он тебе пишет: у тебя в коде 1 ошибка и 6 " опасностей ошибки " и даже пишет где. Исправь и тогда все запустется.

Автор: zkv 3.9.2006, 18:20
Код

switch(iMsg)
{
case WM_CREATE:
PlaySound("hellowin.wav", NULL, SND_FILENAME | SND_ASYNC);
return 0;
24                        //Это что?
case WM_PAINT:


Цитата(HellanD @  3.9.2006,  10:38 Найти цитируемый пост)
c:\documents and settings\oleg\мои документы\visual studio 2005\projects\h\h\f.c(55) : error C2143: syntax error : missing ';' before 'case'


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)