PDA

Просмотр полной версии : C++ и DirectX


0x22b
03.12.2007, 15:28
Вообщем вот кодес файла заготовки пустова окна:


#define APPNAME "http://www.firststeps.ru Первые Шаги Урок 01 - Инициализцаия Приложения"
#define APPTITLE "http://www.firststeps.ru Первые Шаги Урок 01 - Инициализация Приложения"

#define _RELEASE_(p) { if(p) { (p)->Release(); (p)=NULL; };};
#define _DELETE_(p) { if(p) { delete (p); (p)=NULL; };};

#include <windows.h>

HWND hWnd;

//---------------------------------
// Name: WindowProc ()
// Desc:
//---------------------------------
LRESULT CALLBACK WindowProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_DESTROY:
PostQuitMessage (0);
break;

case WM_SETCURSOR:
SetCursor (NULL);
break;
};
return DefWindowProc(hWnd, message, wParam, lParam);
};

//---------------------------------
// Name: WindowInit ()
// Desc:
//---------------------------------
bool WindowInit (HINSTANCE hThisInst, int nCmdShow)
{
WNDCLASS wcl;

wcl.hInstance = hThisInst;
wcl.lpszClassName = APPNAME;
wcl.lpfnWndProc = WindowProc;
wcl.style = 0;

wcl.hIcon = LoadIcon (hThisInst, IDC_ICON);
wcl.hCursor = LoadCursor (hThisInst, IDC_ARROW);
wcl.lpszMenuName = NULL;

wcl.cbClsExtra = 0;
wcl.cbWndExtra = 0;
wcl.hbrBackground = (HBRUSH) GetStockObject (BLACK_BRUSH);

RegisterClass (&wcl);

hWnd = CreateWindowEx (
WS_EX_TOPMOST,
APPNAME,
APPTITLE,
WS_OVERLAPPEDWINDOW,
0, 0,
640,
480,
NULL,
NULL,
hThisInst,
NULL);

if(!hWnd) return false;

return true;
};

//---------------------------------
// Name: AppInit()
// Desc: Initializes Aplication
//---------------------------------
bool AppInit (HINSTANCE hThisInst, int nCmdShow)
{
if(!WindowInit (hThisInst, nCmdShow)) return false;
ShowWindow (hWnd, nCmdShow);
UpdateWindow (hWnd);

return true;
};

//---------------------------------
// Name: WinMain ()
// Desc:
//---------------------------------
int APIENTRY WinMain (HINSTANCE hThisInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
if(!AppInit (hThisInst, nCmdShow)) return false;

while (1)
{
if(PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE))
{
if(!GetMessage (&msg, NULL, 0, 0)) break;
TranslateMessage (&msg);
DispatchMessage (&msg);
}
};

return 0;
};

Visual Studio ругается:
Error 1 error C2440: '=' : cannot convert from 'const char [72]' to 'LPCWSTR' f:\source\c++\initial\initial.cpp 39

Error 2 error C2664: 'CreateWindowExW' : cannot convert parameter 2 from 'const char [72]' to 'LPCWSTR' f:\source\c++\initial\initial.cpp 64

кто кодил графику помогите пожалуйста.. Заранее благодарен!

groundhog
03.12.2007, 15:42
Юникод-юникод... Где же ты...

#define APPNAME TEXT("http://www.firststeps.ru Первые Шаги Урок 01 - Инициализцаия Приложения")
#define APPTITLE TEXT("http://www.firststeps.ru Первые Шаги Урок 01 - Инициализация Приложения")

0x22b
03.12.2007, 17:19
+5 Спасибо! все заработало! ты бы не мог меня направить, где я могу получить инфу по Юникоду, а в частности его использования в данном случае..

groundhog
03.12.2007, 17:24
http://inbox64.narod.ru/unicode.htm

movejump
03.12.2007, 17:29
Насчёт DirectX- как вы думате, юзать DirectDraw (2d) есть смысл, мне кажется что на начальных этапах он и ненужен, т.к. функции учить ппц, не выговоришь=)

groundhog
03.12.2007, 17:41
movejump, смысл учить остальное и не знать основ? По мне это смешно... Всё равно что удариться в WinAPI не понимая смысла работы стандартной библиотеки ввода-вывода.

sn0w
03.12.2007, 18:38
позор!!! С++ и DirectX когда окна создавать не умеем?! КГ/АМ имхо

0x22b
03.12.2007, 21:30
to groundhog
Спасибо!

to sn0w, movejump
иногда лучше промолчать нежели постить неинформативные посты.. Спс за минус в репутацию, и тебе movejump за письмо в личку, я начинаю понимать кто сдесь кто.

to movejump
Я не люблю личных сообщений.
Суди других как судиш себя сам, прощай другим как прощаеш себе..
И подумай над своим ЛС, а недооценил ли ты меня(это не вопрос, просто инфа для размышления).
я думаю не стоило так относится.. верни мне мою нейтральную репутацию, я ничего не сделал(пока), но и не навредил(не собераюсь)..

_Great_
05.12.2007, 15:51
#undef UNICODE

nerezus
06.12.2007, 09:59
+5 Спасибо! все заработало! ты бы не мог меня направить, где я могу получить инфу по Юникоду, а в частности его использования в данном случае.. Отключить в настройке проекта.