発生している問題・エラーメッセージ
いつもC言語とWinAPIの質問をさせてもらっています。ありがとうございます。
いままで放置してきたのですが自分で作ったWinAPIのプログラムですがいつも立ち上げてすぐは読み込みのぐるぐるが(progress Indicator?)そのウィンドウにカーソルを乗せたままだとずっと回っています(一度ウィンドウの外にカーソルを出してまた乗せれば消えます)。これは何か特別な処理をしなくてはならないのでしょうか。
#####追記
スプラッシュウィンドウなので時間つぶしさせるものですかね
#####追記2
基本的にはMSDN:Module 1. Your First Windows Programで掲載されているものです。(最近の改修でページは破損してますが)
#ifndef UNICODE #define UNICODE #endif #include <Windows.h> LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, PWSTR pCmdLine, int nCmdShow) { const wchar_t CLASS_NAME[] = L"Sample"; WNDCLASS wc = {}; wc.lpfnWndProc = WindowProc; wc.hInstance = hInstance; wc.lpszClassName = CLASS_NAME; RegisterClass(&wc); HWND hwnd = CreateWindowEx( 0, CLASS_NAME, L"Title", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL ); if (hwnd == NULL)return 0; ShowWindow(hwnd, nCmdShow); MSG msg = {}; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; } LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hwnd, &ps); FillRect(hdc, &ps.rcPaint, (HBRUSH)(COLOR_WINDOW + 1)); EndPaint(hwnd, &ps); } return 0; } return DefWindowProc(hwnd, uMsg, wParam, lParam); }
開発環境
Windows10 Pro
Visual Studio2017 Community
回答1件
あなたの回答
tips
プレビュー