掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フルスクリーンモードにするには? (ID:3922)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ついでに、画面の解像度の変更するのもいいかもしれません。 以下コピペ var ScrW: Integer; // Screen Width ScrH: Integer; // Screen Height ScrC: Integer; // Screen Color (Bit/Pixel) RRate: Integer; // Refresh Rate ChgFlag: Boolean; // 変更フラグ procedure TForm1.FormCreate(Sender: TObject); var hDC: THandle; OSVer: TOSVersionInfo; // OSバージョン情報 begin // OSバージョンチェック OSVer.dwOSVersionInfoSize := Sizeof(TOSVersionInfo); GetVersionEx(OSVer); // 画面情報を得る hDC := GetDC( 0 ); ScrW := GetDeviceCaps( hDC, HORZRES ); ScrH := GetDeviceCaps( hDC, VERTRES ); ScrC := GetDeviceCaps( hDC, BITSPIXEL ) * GetDeviceCaps( hDC, PLANES ); if OSVer.dwPlatformId = VER_PLATFORM_WIN32_NT then // NTならば現在のリフレッシュレートを得る RRate := GetDeviceCaps( hDC, VREFRESH ) else RRate := 1; // default refresh rate ReleaseDC( 0, hDC ); ChgFlag := False; // 変更なし end; (* 640 x 480 モード *) procedure TForm1.Button1Click(Sender: TObject); var DevMode: TDeviceModeA; begin DevMode.dmSize := Sizeof(TDeviceModeA); DevMode.dmBitsPerPel := ScrC; DevMode.dmPelsWidth := 640; DevMode.dmPelsHeight := 480; DevMode.dmDisplayFrequency := 1; // 面倒なのでdefaultを採用 DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_BITSPERPEL or DM_DISPLAYFREQUENCY; ChangeDisplaySettings(DevMode,0); ChgFlag := True; // 変更あり end; (* 元のモードに戻す *) procedure TForm1.Button2Click(Sender: TObject); var DevMode: TDeviceModeA; begin if ChgFlag = True then begin DevMode.dmSize := Sizeof(TDeviceModeA); DevMode.dmBitsPerPel := ScrC; DevMode.dmPelsWidth := ScrW; DevMode.dmPelsHeight := ScrH; DevMode.dmDisplayFrequency := RRate; DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_BITSPERPEL or DM_DISPLAYFREQUENCY; ChangeDisplaySettings(DevMode,0); end; end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); var DevMode: TDeviceModeA; begin if ChgFlag = True then begin DevMode.dmSize := Sizeof(TDeviceModeA); DevMode.dmBitsPerPel := ScrC; DevMode.dmPelsWidth := ScrW; DevMode.dmPelsHeight := ScrH; DevMode.dmDisplayFrequency := RRate; DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_BITSPERPEL or DM_DISPLAYFREQUENCY; ChangeDisplaySettings(DevMode,0); end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.