Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
消息框错误 我对C++消息框有点问题。我在创建OpenGL应用程序时发现了一些错误 // OpenGL knihovny #pragma comment (lib,"opengl32.lib") #pragma comment (lib,"glu32.lib") #pragma comment (lib,"glaux.lib") #include <windows.h> // Hlavičkový soubor pro Windows #include <gl\gl.h> // Hlavičkový soubor pro OpenGL32 knihovnu #include <gl\glu.h> // Hlavičkový soubor pro Glu32 knihovnu #include <glaux.h> // Hlavičkový soubor pro Glaux knihovnu //Globální proměnné HDC hDC = NULL; // Privátní GDI Device Context HGLRC hRC = NULL; // Trvalý Rendering Context HWND hWnd = NULL; // Obsahuje Handle našeho okna HINSTANCE hInstance; // Obsahuje instanci aplikace bool keys[256]; // Pole pro ukládání vstupu z klávesnice bool active = TRUE; // Ponese informaci o tom, zda je okno aktivní bool fullscreen = TRUE; // Ponese informaci o tom, zda je program ve fullscreenu LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // Deklarace procedury okna (funkční prototyp) GLvoid ReSizeGLScene(GLsizei width, GLsizei height) // Změna velikosti a inicializace OpenGL okna { if (height == 0) // Zabezpečení proti dělení nulou { height = 1; // Nastaví výšku na jedna } glViewport(0, 0, width, height); // Resetuje aktuální nastavení glMatrixMode(GL_PROJECTION); // Zvolí projekční matici glLoadIdentity(); // Reset matice gluPerspective(45.0f, (GLfloat)width / (GLfloat)height, 0.1f, 100.0f); // Výpočet perspektivy glMatrixMode(GL_MODELVIEW); // Zvolí matici Modelview glLoadIdentity(); // Reset matice } int InitGL(GLvoid) // Všechno nastavení OpenGL { glShadeModel(GL_SMOOTH); // Povolí jemné stínování (smooth shading) glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Nastaví barvu pozadí na černou glClearDepth(1.0f); // Nastavení hloubkového bufferu glEnable(GL_DEPTH_TEST); // Povolí hloubkové testování glDepthFunc(GL_LEQUAL); // Typ hloubkového testování glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Nejlepší perspektivní korekce return TRUE; // Inicializace proběhla v pořádku } int DrawGLScene(GLvoid)// Vykreslování { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Smaže obrazovku a hloubkový buffer glLoadIdentity(); // Reset matice // Sem můžete kreslit return TRUE; // Vykreslení proběhlo v pořádku } GLvoid KillGLWindow(GLvoid) // Zavírání okna { if (fullscreen) // Jsme ve fullscreenu? { ChangeDisplaySettings(NULL, 0); // Přepnutí do systému ShowCursor(TRUE); // Nastaví zobrazení kurzoru } if (hRC)// Máme rendering kontext? { if (!wglMakeCurrent(NULL, NULL)) // Jsme schopni oddělit kontexty? { MessageBox(NULL, "Release Of DC And RC Failed.", "SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION); } if (!wglDeleteContext(hRC)) // Jsme schopni smazat RC? { MessageBox(NULL, "Release Rendering Context Failed.", "SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION); } hRC = NULL; // Nastaví hRC na NULL }_C++_Visual C++ - Fatal编程技术网

消息框错误 我对C++消息框有点问题。我在创建OpenGL应用程序时发现了一些错误 // OpenGL knihovny #pragma comment (lib,"opengl32.lib") #pragma comment (lib,"glu32.lib") #pragma comment (lib,"glaux.lib") #include <windows.h> // Hlavičkový soubor pro Windows #include <gl\gl.h> // Hlavičkový soubor pro OpenGL32 knihovnu #include <gl\glu.h> // Hlavičkový soubor pro Glu32 knihovnu #include <glaux.h> // Hlavičkový soubor pro Glaux knihovnu //Globální proměnné HDC hDC = NULL; // Privátní GDI Device Context HGLRC hRC = NULL; // Trvalý Rendering Context HWND hWnd = NULL; // Obsahuje Handle našeho okna HINSTANCE hInstance; // Obsahuje instanci aplikace bool keys[256]; // Pole pro ukládání vstupu z klávesnice bool active = TRUE; // Ponese informaci o tom, zda je okno aktivní bool fullscreen = TRUE; // Ponese informaci o tom, zda je program ve fullscreenu LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // Deklarace procedury okna (funkční prototyp) GLvoid ReSizeGLScene(GLsizei width, GLsizei height) // Změna velikosti a inicializace OpenGL okna { if (height == 0) // Zabezpečení proti dělení nulou { height = 1; // Nastaví výšku na jedna } glViewport(0, 0, width, height); // Resetuje aktuální nastavení glMatrixMode(GL_PROJECTION); // Zvolí projekční matici glLoadIdentity(); // Reset matice gluPerspective(45.0f, (GLfloat)width / (GLfloat)height, 0.1f, 100.0f); // Výpočet perspektivy glMatrixMode(GL_MODELVIEW); // Zvolí matici Modelview glLoadIdentity(); // Reset matice } int InitGL(GLvoid) // Všechno nastavení OpenGL { glShadeModel(GL_SMOOTH); // Povolí jemné stínování (smooth shading) glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Nastaví barvu pozadí na černou glClearDepth(1.0f); // Nastavení hloubkového bufferu glEnable(GL_DEPTH_TEST); // Povolí hloubkové testování glDepthFunc(GL_LEQUAL); // Typ hloubkového testování glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Nejlepší perspektivní korekce return TRUE; // Inicializace proběhla v pořádku } int DrawGLScene(GLvoid)// Vykreslování { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Smaže obrazovku a hloubkový buffer glLoadIdentity(); // Reset matice // Sem můžete kreslit return TRUE; // Vykreslení proběhlo v pořádku } GLvoid KillGLWindow(GLvoid) // Zavírání okna { if (fullscreen) // Jsme ve fullscreenu? { ChangeDisplaySettings(NULL, 0); // Přepnutí do systému ShowCursor(TRUE); // Nastaví zobrazení kurzoru } if (hRC)// Máme rendering kontext? { if (!wglMakeCurrent(NULL, NULL)) // Jsme schopni oddělit kontexty? { MessageBox(NULL, "Release Of DC And RC Failed.", "SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION); } if (!wglDeleteContext(hRC)) // Jsme schopni smazat RC? { MessageBox(NULL, "Release Rendering Context Failed.", "SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION); } hRC = NULL; // Nastaví hRC na NULL }

消息框错误 我对C++消息框有点问题。我在创建OpenGL应用程序时发现了一些错误 // OpenGL knihovny #pragma comment (lib,"opengl32.lib") #pragma comment (lib,"glu32.lib") #pragma comment (lib,"glaux.lib") #include <windows.h> // Hlavičkový soubor pro Windows #include <gl\gl.h> // Hlavičkový soubor pro OpenGL32 knihovnu #include <gl\glu.h> // Hlavičkový soubor pro Glu32 knihovnu #include <glaux.h> // Hlavičkový soubor pro Glaux knihovnu //Globální proměnné HDC hDC = NULL; // Privátní GDI Device Context HGLRC hRC = NULL; // Trvalý Rendering Context HWND hWnd = NULL; // Obsahuje Handle našeho okna HINSTANCE hInstance; // Obsahuje instanci aplikace bool keys[256]; // Pole pro ukládání vstupu z klávesnice bool active = TRUE; // Ponese informaci o tom, zda je okno aktivní bool fullscreen = TRUE; // Ponese informaci o tom, zda je program ve fullscreenu LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // Deklarace procedury okna (funkční prototyp) GLvoid ReSizeGLScene(GLsizei width, GLsizei height) // Změna velikosti a inicializace OpenGL okna { if (height == 0) // Zabezpečení proti dělení nulou { height = 1; // Nastaví výšku na jedna } glViewport(0, 0, width, height); // Resetuje aktuální nastavení glMatrixMode(GL_PROJECTION); // Zvolí projekční matici glLoadIdentity(); // Reset matice gluPerspective(45.0f, (GLfloat)width / (GLfloat)height, 0.1f, 100.0f); // Výpočet perspektivy glMatrixMode(GL_MODELVIEW); // Zvolí matici Modelview glLoadIdentity(); // Reset matice } int InitGL(GLvoid) // Všechno nastavení OpenGL { glShadeModel(GL_SMOOTH); // Povolí jemné stínování (smooth shading) glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Nastaví barvu pozadí na černou glClearDepth(1.0f); // Nastavení hloubkového bufferu glEnable(GL_DEPTH_TEST); // Povolí hloubkové testování glDepthFunc(GL_LEQUAL); // Typ hloubkového testování glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Nejlepší perspektivní korekce return TRUE; // Inicializace proběhla v pořádku } int DrawGLScene(GLvoid)// Vykreslování { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Smaže obrazovku a hloubkový buffer glLoadIdentity(); // Reset matice // Sem můžete kreslit return TRUE; // Vykreslení proběhlo v pořádku } GLvoid KillGLWindow(GLvoid) // Zavírání okna { if (fullscreen) // Jsme ve fullscreenu? { ChangeDisplaySettings(NULL, 0); // Přepnutí do systému ShowCursor(TRUE); // Nastaví zobrazení kurzoru } if (hRC)// Máme rendering kontext? { if (!wglMakeCurrent(NULL, NULL)) // Jsme schopni oddělit kontexty? { MessageBox(NULL, "Release Of DC And RC Failed.", "SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION); } if (!wglDeleteContext(hRC)) // Jsme schopni smazat RC? { MessageBox(NULL, "Release Rendering Context Failed.", "SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION); } hRC = NULL; // Nastaví hRC na NULL },c++,visual-c++,C++,Visual C++,我的留言框有问题。“发布呈现上下文失败。”、“DC和RC的发布失败。”、“关闭错误”、“关闭错误”-“const char*”类型的参数与“LPCWSTR”类型的参数不兼容 非常感谢您的回复。 Aulipe在字符串文本之前添加L前缀 MessageBox(NULL, L"Release Of DC And RC Failed.", L"SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION); 试试这个: MessageBox(NULL, (LPTSTR

我的留言框有问题。“发布呈现上下文失败。”、“DC和RC的发布失败。”、“关闭错误”、“关闭错误”-“const char*”类型的参数与“LPCWSTR”类型的参数不兼容 非常感谢您的回复。
Aulipe

在字符串文本之前添加
L
前缀

    MessageBox(NULL, L"Release Of DC And RC Failed.", L"SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION);
试试这个:

MessageBox(NULL, (LPTSTR)"TEXT" , (LPTSTR)"TEXT", MB_OK);

看起来您是在Unicode模式下编译的(这可能是个好主意)。这意味着Windows API函数将使用宽字符串
wchar\u t
(Unicode UTF-16格式),而不是ANSI字符串
char


您可以通过在前面加上L来创建宽字符串文字,例如,
L“Hello world”

您不能通过强制转换将ANSI字符串转换为Unicode。它会编译,但不会工作。
MessageBox(NULL, (LPTSTR)"TEXT" , (LPTSTR)"TEXT", MB_OK);