ページ 11

フルスクリーン表示について

Posted: 2012年11月09日(金) 15:25
by ちー
フルスクリーン表示にしたいのですが(タイトルバーなども全部消す)なりません.
どこがまちがっているのでしょうか?


#include <windows.h>
#include <string.h>
#include "test.h"
#include<stdio.h>
#include<stdlib.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); //プロトタイプ宣言

//void DrawGr(HWND,HDC);
char szClassNme[] = "ウィンドウクラス・ネーム"; //ウィンドウクラスネーム宣言の型宣言


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInst,
LPSTR lpszCmdLine, int nCmdShow)
{
HWND hWnd; //ウィンドウハンドル
MSG msg; //メッセージ構造体
WNDCLASS myProg; //ウィンドウクラスの構造体

//ウィンドウクラス構造体の各メンバの定義
if (!hPreInst) {

//myProg.style =DM_PELSWIDTH | DM_PELSHEIGHT
//WS_POPUP|WS_BORDER; 水平方向|垂直方向の定義
myProg.style =CS_HREDRAW|CS_VREDRAW; //水平方向|垂直方向の定義
myProg.lpfnWndProc =WndProc; //ウィンドウプロシージャの名前の定義
myProg.cbClsExtra =0; //拡張情報なし
myProg.cbWndExtra =0; //拡張情報なし
myProg.hInstance =hInstance; //インスタンスハンドルの定義
myProg.hIcon =NULL; //大きいアイコンなし
myProg.hCursor =LoadCursor(NULL, IDC_ARROW); //マウスカーソルスタイルの定義
myProg.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //背景を白色にする
myProg.lpszMenuName ="SAMPLE02"; //メニュー名の定義
myProg.lpszClassName =szClassNme; //クラス名の定義

//ウィンドウクラスの登録
if (!RegisterClass(&myProg))
return FALSE;
SetRect(&rc, 0, 0, 640, 480);
AdjustWindowRectEx(&rc, WS_POPUP, FALSE, WS_EX_TOPMOST);

hwnd = CreateWindowEx(WS_EX_TOPMOST, szAppName, szAppName, WS_POPUP, 0, 0, rc.right - rc.left, rc.bottom - rc.top, NULL, NULL, hinst, NULL);
if (hwnd == NULL)
return 0;

}

//ウィンドウの作成
hWnd = CreateWindow(szClassNme, //ウィンドクラスネームの作成
"視野検査表示画面",
WS_OVERLAPPEDWINDOW, //ウィンドウの種類の定義
CW_USEDEFAULT, //ウィンドウの表示位置(x座標)の定義
CW_USEDEFAULT, //ウィンドウの表示位置(y座標)の定義
CW_USEDEFAULT, //ウィンドウの幅の定義
CW_USEDEFAULT, //ウィンドウの高さの定義
NULL, //親ウィンドウのウィンドウハンドルなし
NULL, //メニューハンドルなし
hInstance, //インスタンスハンドルの定義
NULL); //その他のデータなし

//ウィンドウの表示
//hWnd = GetDesktopWindow();

ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);

while (GetMessage(&msg, NULL, 0, 0)) { //メッセージの取得
TranslateMessage(&msg); //メッセージの処理
DispatchMessage(&msg); //   〃
}
return (msg.wParam);

}



//ウィンドウプロシージャ
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;

switch (msg) {
case WM_COMMAND: //プッシュボタンが押された時
switch(LOWORD(wParam)) {
case IDM_END: //ヘッダーファイルの値が入力された時
SendMessage(hWnd, WM_CLOSE, 0, 0L); //ウィンドウを閉じる
break;
}
break;
case WM_DESTROY: //ウィンドウが破棄される時
PostQuitMessage(0);
break;
case WM_PAINT: //無効領域がある時
hdc = BeginPaint(hWnd, &ps);
break;
default:
return(DefWindowProc(hWnd, msg, wParam, lParam));
}
return (0L);
}

Re: フルスクリーン表示について

Posted: 2012年11月09日(金) 18:45
by softya(ソフト屋)
こちらが参考になるかと思います。
「Win32API(C言語)編 第63章 画面解像度の変更」
http://www.geocities.jp/ky_webid/win32c/063.html

Re: フルスクリーン表示について

Posted: 2012年11月09日(金) 19:00
by chiii
ありがとうございます!!