待辦事項 #39274

Win版 フルスクリーン表示対応

啟用日期: 2019-06-01 22:04 最後更新: 2019-06-03 23:46

回報者:
負責人:
類型:
狀態:
關閉
優先權:
5 - 中
嚴重程度:
5 - 中
處理結果:
修正
檔案:

細節

フルスクリーン表示に対応する。

参考チケット

  • #39276 macOS版 フルスクリーン表示対応

Ticket History (3/8 Histories)

2019-06-01 22:04 Updated by: yknk
  • New Ticket "Win版 フルスクリーン表示対応" created
2019-06-01 22:11 Updated by: yknk
  • Details Updated
2019-06-01 22:13 Updated by: yknk
評語

仕様

  • メインウィンドウの最大化ボタンを有効にして、フルスクリーン表示可能とする。
  • Viewメニューに"Full Screen"を追加する。
  • F11キーでフルスクリーン切り替え可能とする。
  • フルスクリーン表示時にマウスカーソルを画面上端に移動したときメニューを表示する。
2019-06-01 22:14 Updated by: yknk
評語

対策:DirectXユーティリティの修正

DXRenderer::Initialize

引数にフルスクリーンフラグを追加。 フルスクリーンを指定された場合、フルスクリーンモードでディスプレイアダプタデバイスを生成するように修正。 ただしテストした結果、最終的にフルスクリーンフラグは常にfalseで呼び出すこととした。 今後フラグを利用する可能性を考慮して、実装は残す。

2019-06-01 22:15 Updated by: yknk
評語

対策:MIDITrailメインクラスの修正(フルスクリーン切り替え処理)

MIDITrailApp

メンバにフルスクリーンフラグ(m_isFullScreen)とメニューのウィンドウハンドル(m_hMenu)を追加。

MIDITrailApp::MIDITrailApp

追加したメンバの初期化処理を追加。

MIDITrailApp::_RegisterClass

背景用ブラシハンドルに黒を指定。 フルスクリーン表示切り替え時にウィンドウが一瞬白くなる事象を回避するため。

MIDITrailApp::_CreateWindow

メインウィンドウ生成時のスタイル指定(MIDITRAIL_WINDOW_STYLE)を変更し、最大化ボタンが有効になるようにWS_MAXIMIZEBOXを追加。 メインウィンドウ生成直後に メニューのウィンドウハンドルを取得してメンバに保持する。

MIDITrailApp::_SetWindowSize

フルスクリーン表示の場合は、フルスクリーン用のウィンドウサイズ変更メソッド(_SetWindowSizeFullScreen)を呼び出すように修正。 フルスクリーン表示からウィンドウ表示に戻るときを考慮して、ウィンドウスタイルを設定しなおす処理と、 メニューを表示する処理を追加。

MIDITrailApp::_SetWindowSizeFullScreen

フルスクリーン表示用のウィンドウサイズ変更メソッドを追加。 マルチモニタを考慮して、マウンカーソルが存在するモニタでフルスクリーン表示する。 フルスクリーン表示用のウィンドウスタイルを設定しメニューを非表示にする。

MIDITrailApp::_ChangeMenuStyle

フルスクリーンメニューの活性化制御を追加。

MIDITrailApp::_UpdateMenuCheckmark

フルスクリーンメニューの選択マーク更新処理を追加。

MIDITrailApp::_ToggleFullScreen

フルスクリーン切り替えメソッドを追加。

MIDITrailApp::_ShowMenu

メニュー表示メソッドを追加。

MIDITrailApp::_HideMenu

メニュー非表示メソッドを追加。

2019-06-01 22:15 Updated by: yknk
評語

対策:MIDITrailメインクラスの修正(イベントハンドラ)

MIDITrailApp::_WndProcImpl

フルスクリーンメニューが選択された時のイベントハンドラ呼び出し処理を追加。 マウスが移動したときのイベントハンドラ呼び出し処理を追加。 ウィンドウ最大化ボタンが押されたときのイベントハンドラ呼び出し処理を追加。

MIDITrailApp::_OnMenuFileOpen

フルスクリーン表示中にファイル選択されたときは、メニューを隠す処理を追加。 ファイル読み込み後のシーン生成処理でクライアントウィンドウのサイズを参照しており、 メニューが表示されていると、メニューの縦サイズ分だけ座標計算がずれてしまうため。

MIDITrailApp::_OnMenuFullScreen

フルスクリーンメニュー選択時のイベントハンドラを追加。

MIDITrailApp::_OnMouseMove

マウス移動イベントハンドラを追加。 フルスクリーン時にマウスカーソルがウィンドウの上端に移動した場合は、メニューを表示する。

MIDITrailApp::_OnKeyDown

F11キーが押されたとき、フルスクリーンメニュー選択のイベントハンドラを呼び出す処理を追加。

2019-06-01 22:15 Updated by: yknk
評語

対策:リソースの修正

MIDITrail.rc

Viewメニューに"Full Screen"を追加。

2019-06-03 23:46 Updated by: yknk
  • 處理結果 Update from to 修正
  • 狀態 Update from 開啟 to 關閉

Attachment File List

No attachments

編輯

Please login to add comment to this ticket » 登入