ダイアログを全画面表示 – プログラミング – Home

ダイアログを全画面表示
 
通知
すべてクリア

[解決済] ダイアログを全画面表示


飛んできたどらやき
 飛んできたどらやき
(@飛んできたどらやき)
ゲスト
結合: 15年前
投稿: 16
Topic starter  

VC++2005で作ったダイアログクラスを
全画面表示したいのですが、
どうしたらいいのでしょうか?

WINDOWSのスタートボタン等も非表示にしたいです。


引用未解決
トピックタグ
subaru
 subaru
(@subaru)
ゲスト
結合: 19年前
投稿: 381
 

画面と同じサイズにして最前面に持ってくるとかいうことですか?

GetMonitorInfo(画面サイズの取得)
http://msdn.microsoft.com/ja-jp/library/cc428707.aspx

SetWindowPos(サイズ、位置、Zオーダー変更)
http://msdn.microsoft.com/ja-jp/library/cc411206.aspx

移動不可にするにはシステムメニューから移動メニューを削除するか
WM_SYSCOMMAND の SC_MOVE で何もしないように変更する必要があるでしょう。


返信引用
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

デュアル・トリプルスクリーンのマシンでどうなったらいいのかと疑問な年頃。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

というか、何が目的でそうしたいのかなぁと思ったり。

そのアプリが動作中はPCをシャットダウンできなくしたいのかなぁ。
まあ、どこまでやればOKなのかとかも有りますけれど、
とにかく、ご本人の方からその辺の話が出てこないと
何ともいえない感じですね。


返信引用
飛んできたどらやき
 飛んできたどらやき
(@飛んできたどらやき)
ゲスト
結合: 15年前
投稿: 16
Topic starter  

皆様お返事有難うございます。

目的はゲームする時の全画面表示と同様に
ダイアログのみを全画面にしたいのです。

DirectX等を使うと全画面表示メソッドがあるので、
楽なのですが、今回の目的のためだけに
DirectX対応をするのも大作業かと思います。

また、GetSystemMetrics系のメソッドだと、
ウィンドウズのタスクバーを非表示にしないといけないので、
どうすればいいのかわかりません。。。
何かいい方法ご存じでしょうか?


返信引用
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

いや、だからなぜ
> ダイアログのみを全画面にしたいのです。
こうしたいのか、その理由が無いと

常に全画面表示しかしないアプリケーションなど使い勝手が悪くて却下。捨て捨て!
という答えにしかならない。
で、デュアルスクリーンのマシンでどうなったらいいのかは答えてくれないわけね。


返信引用
飛んできたどらやき
 飛んできたどらやき
(@飛んできたどらやき)
ゲスト
結合: 15年前
投稿: 16
Topic starter  

>いや、だからなぜ
>> ダイアログのみを全画面にしたいのです。
>こうしたいのか、その理由が無いと

理由は見た目がいいからです(笑)
ただ単にソフト起動中は全画面にしたいんですよね。

>で、デュアルスクリーンのマシンでどうなったらいいのかは答えてくれないわけね。

すみません。
デュアルは確かにセカンダリ画面に表示すれば、
全画面になるかなと想像出来ましたが、
ちょっとスクリーン持っていないので(笑)
何とも答えれませんでした。


返信引用
ryo
 ryo
(@ryo)
ゲスト
結合: 23年前
投稿: 252
 

「~疑問な年頃。」
この書き方で質問だったのか^^;

>ただ単にソフト起動中は全画面にしたいんですよね。
これって、最小化やら、ALT+TABなどによる切り替えも制限したいの?
それとも、たんに「ゲームプレイ中は全画面を使いたい」ってだけ?


返信引用
飛んできたどらやき
 飛んできたどらやき
(@飛んできたどらやき)
ゲスト
結合: 15年前
投稿: 16
Topic starter  

お返事ありがとうございます。

>これって、最小化やら、ALT+TABなどによる切り替えも制限したいの?
>それとも、たんに「ゲームプレイ中は全画面を使いたい」ってだけ?

はい、単に「ゲームプレイ中は全画面を使いたい」んです。

POSTMESSAGEにてシステム系へと
スタートメニューを隠す処理等を探していたのですが、
何とも見つかりません。。。

何かいい方法ご存じでしょうか?


返信引用
ISLe
 ISLe
(@ISLe)
ゲスト
結合: 18年前
投稿: 38
 

ChangeDisplaySettingsを使えばフルスクリーンにできますが、ダイアログの外側の面倒
を誰が見るのか問題が残る気がします。

フルスクリーンのゲームは、マウスクリックなどがデスクトップ(あるいは他のアプリケ
ーションウィンドウ)に渡ってしまわないように、WS_POPUPスタイルのウィンドウでスク
リーン全体を覆うようにします。


返信引用
subaru
 subaru
(@subaru)
ゲスト
結合: 19年前
投稿: 381
 

プライマリーモニターのみでよければGetSystemMetricsでも
画面サイズは取れるはずですが。

DirectXで最大化なんかだとダイアログというよりウインドウというイメージ。
最大化対象がウインドウかダイアログかで目的が異なってくる気がするですけど・・・


返信引用
飛んできたどらやき
 飛んできたどらやき
(@飛んできたどらやき)
ゲスト
結合: 15年前
投稿: 16
Topic starter  

皆様、お返事ありがとうございます。
マウスムーブイベントでマウス位置管理をしながら
ChangeDisplaySettingsで行ってみようと思います。

確かにDirectXでダイアログ表示はどうなんでしょうね。
ただ、ウィンドウモードを変える機能もあるそうなので、
上記SDKをラップしている感もありますが。

色々とありがとうございました。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

解決しちゃってますが。

フルスクリーン表示可能なDirectXを使ったゲームを
わざわざWindowモードでスタートメニュなんかが見えるようにして
使っている人からすると、

「理由は見た目がいいからです(笑)
ただ単にソフト起動中は全画面にしたいんですよね。」

が正解とはかぎらなないよなぁと思ったりします。
tetrapodさんが言われていたように逆にイヤと思う人もいそうです。
逆にそこまでして全画面にしたいならDirectXを使った方が
正解じゃないかという気がしたりします。
ゲームの内容がいまひとつ分からないので
全画面にした時の良い面と言うのがさっぱり分からないのも
そう感じる要因なんですけどね。


返信引用
飛んできたどらやき
 飛んできたどらやき
(@飛んできたどらやき)
ゲスト
結合: 15年前
投稿: 16
Topic starter  

確かにダイアログベースでありながら、
WINDOWSの機能を隠す点からいいますと、
中途半端に捉えられる方もいるかもしれませんね。。。

モードを設けて切り替えれるようにしてみます。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました