Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   C++ и DirectX (https://forum.antichat.xyz/showthread.php?t=54934)

0x22b 03.12.2007 15:28

C++ и DirectX
 
Вообщем вот кодес файла заготовки пустова окна:


PHP код:

#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 hWndUINT messageWPARAM wParamLPARAM lParam)
{
    switch (
message)
    {
    case 
WM_DESTROY:
        
PostQuitMessage (0);
        break;

    case 
WM_SETCURSOR:
        
SetCursor (NULL);
        break; 
    };
    return 
DefWindowProc(hWndmessagewParamlParam);
};

//---------------------------------
// Name: WindowInit ()
// Desc: 
//---------------------------------
bool WindowInit (HINSTANCE hThisInstint nCmdShow)
{
    
WNDCLASS            wcl;
        
    
wcl.hInstance        hThisInst;
    
wcl.lpszClassName    APPNAME;
    
wcl.lpfnWndProc        WindowProc;
    
wcl.style            0;

    
wcl.hIcon            LoadIcon (hThisInstIDC_ICON);
    
wcl.hCursor            LoadCursor (hThisInstIDC_ARROW);
    
wcl.lpszMenuName    NULL;

    
wcl.cbClsExtra        0;
    
wcl.cbWndExtra        0;
    
wcl.hbrBackground    = (HBRUSHGetStockObject (BLACK_BRUSH);

    
RegisterClass (&wcl);

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

    if(!
hWnd) return false;

    return 
true;
};

//---------------------------------
// Name: AppInit()
// Desc: Initializes Aplication
//---------------------------------
bool AppInit (HINSTANCE hThisInstint nCmdShow)
{
    if(!
WindowInit (hThisInstnCmdShow)) return false;
    
ShowWindow (hWndnCmdShow);
    
UpdateWindow (hWnd);

    return 
true;
};

//---------------------------------
// Name: WinMain ()
// Desc: 
//---------------------------------
int APIENTRY WinMain (HINSTANCE hThisInstHINSTANCE hPrevInstLPSTR lpCmdLineint nCmdShow)
{
    
MSG msg;
    if(!
AppInit (hThisInstnCmdShow)) return false;
    
    while (
1)
    {
        if(
PeekMessage (&msgNULL00PM_NOREMOVE))
        {
            if(!
GetMessage (&msgNULL00)) 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 Спасибо! все заработало! ты бы не мог меня направить, где я могу получить инфу по Юникоду, а в частности его использования в данном случае..
Отключить в настройке проекта.


Время: 17:54