掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
子ウインドウの表示方法 (ID:52428)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
C言語をはじめてまだ数日しかたっていませんが、どうも本などを読んでも意味不明な言葉が多く、 実際にプログラムを作りながら覚えていこうと思っております。 ウインドウを表示して、その中に子ウインドウを10秒後に表示 したいのですがどうもうまく表示できません。 以下にプログラムを丸ごと載せます。 ちょっとマナー違反かしら、とも思ったのですがどうか間違っている部分の指摘をいただけたらと思います。 ---------------------------------------------------------------------------------- #include<windows.h> LRESULT CALLBACK WndProc(HWND hwnd , UINT msg , WPARAM wp , LPARAM lp){ static i ; switch (msg){ case WM_TIMER: i = i ++ ; if (i > 200 ){ KillTimer(hwnd , 1); //20秒後にプログラムを終了 PostQuitMessage(0); } return 0; case WM_LBUTTONDOWN: //■ウインドウ上で左クリックで終了 PostQuitMessage(0); return 0; } return DefWindowProc(hwnd , msg , wp , lp); } LRESULT CALLBACK ChildWndProc(HWND hwnd1 , UINT msg , WPARAM wp , LPARAM lp){ static j ; switch (msg){ case WM_TIMER: //10秒後に子ウインドウを表示 j = j ++ ; if (j > 100 ){ KillTimer(hwnd1 , 1); ShowWindow(hwnd1 ,SW_SHOW); } return 0; case WM_LBUTTONDOWN: //■ウインドウ上で左クリックで終了 PostQuitMessage(0); return 0; } return DefWindowProc(hwnd1 , msg , wp , lp); } int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow ){ HWND hwnd,hwnd1; MSG msg; WNDCLASS winc; winc.style= CS_HREDRAW | CS_VREDRAW; //基本的に'style'はこれらしい。 winc.lpfnWndProc= WndProc; winc.cbClsExtra= winc.cbWndExtra= 0; winc.hInstance= hInstance; winc.hIcon= LoadIcon(NULL , IDI_APPLICATION); winc.hCursor= LoadCursor(NULL , IDC_ARROW); winc.hbrBackground= (HBRUSH)GetStockObject(BLACK_BRUSH); winc.lpszMenuName= NULL; winc.lpszClassName= "wh00"; if (!RegisterClass(&winc)) return 0; hwnd = CreateWindow("wh00" , NULL , WS_VISIBLE , 0,0,300,300, NULL, NULL, hInstance, NULL); //親ウインドウ hwnd1 = CreateWindow("wh00" , NULL , WS_CHILD | WS_CAPTION , 0,0,150,150, hwnd, NULL, hInstance, NULL); //子ウインドウ SetTimer( hwnd , 1 , 100 , NULL); SetTimer( hwnd1 , 1 , 100 , NULL); if (hwnd == NULL) return 0; while(GetMessage(&msg, NULL, 0, 0))DispatchMessage(&msg); return 0 ; } ----------------------------------------------------------------------------------
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.