私はいくつかのウィンドウと directX プログラミングを学ぼうとしていますが、さまざまなことを試していました。ビルドが成功したにもかかわらず、突然ウィンドウが表示されなくなった。私は何かを台無しにしたに違いないと考え、最後にウィンドウを表示することができた場所に戻るまですべてを元に戻しましたが、今は(ビルドが成功して)実行してもまだ表示されません:(そして何が問題なのかアイデアが尽き始めています.とても奇妙です.前回それを機能させてから行ったことの1つは、いくつかのlibsディレクトリを追加することでしたが、それがどのように影響するかを理解するのに苦労しています.このようにプログラムしてください. あなたの誰かが以前にこの問題に遭遇したことがありますか? もしそうなら, どうやってそれを解決しましたか? ウィンドウを作成する func のコードは次のとおりです.
ps。また、WINDCLASSEXとWINDCLASSの間で変更を試みましたが、変更する必要があるすべての機能で、違いはありませんでした。
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, PWSTR pCmdLine, int nCmdShow){
// Register the window class.
const wchar_t CLASS_NAME[] = L"Sample Window Class";
WNDCLASS wc = { };
wc.lpfnWndProc = WindowProc;
wc.hInstance = hInstance;
wc.lpszClassName = CLASS_NAME;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
RegisterClass(&wc);
RECT wr = {0, 0, 500, 400}; // set the size, but not the position
AdjustWindowRect(&wr, WS_OVERLAPPEDWINDOW, FALSE); // adjust the size
// Create the window.
HWND hwnd = CreateWindowEx(
0, // Optional window styles.
CLASS_NAME, // Window class
L"My first window", // Window text
WS_OVERLAPPEDWINDOW, // Window style
CW_USEDEFAULT, CW_USEDEFAULT,//position x,y
wr.right-wr.left, wr.bottom-wr.top,//width, height
NULL, // Parent window
NULL, // Menu
hInstance, // Instance handle
NULL // Additional application data
);
if (hwnd == NULL){
return 0;
}
InitD3D(hwnd);
// Run the message loop.
MSG msg = { };
while (true){
if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else{
}
}
return 0;
}