トップページ > プログラム > 2015年02月25日 > 2mLZHhyU

書き込み順位&時間帯一覧

6 位/210 ID中時間01234567891011121314151617181920212223Total
書き込み数0100001000100101000101018



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Win32API質問箱 Build11 [転載禁止]©2ch.net

書き込みレス一覧

Win32API質問箱 Build11 [転載禁止]©2ch.net
530 :デフォルトの名無しさん[sage]:2015/02/25(水) 01:55:31.82 ID:2mLZHhyU
モードレスDialogでタイトルバーに
---------------------------
                [-][□][x]
---------------------------
最小化、最大化、閉じるボタンの三つがありますが、
そのうち最大化のみ消して

---------------------------
                  [-][x]
---------------------------
にできますか?方法教えて下さい。
Win32API質問箱 Build11 [転載禁止]©2ch.net
534 :デフォルトの名無しさん[sage]:2015/02/25(水) 06:47:27.22 ID:2mLZHhyU
>>532
disableには出来たんですが非表示に出来ないんです。それと最小化ボタンをクリックしてもイベントが飛んで気ません。どうしたらいいですか?
Win32API質問箱 Build11 [転載禁止]©2ch.net
536 :デフォルトの名無しさん[sage]:2015/02/25(水) 10:48:14.06 ID:2mLZHhyU
>>535
教えてけろ
Win32API質問箱 Build11 [転載禁止]©2ch.net
541 :デフォルトの名無しさん[sage]:2015/02/25(水) 13:52:29.92 ID:2mLZHhyU
みなさんレスありがとうございました。
アドバイスに従っていろいろ試したんですが、結局、難しいので諦めました。それで、
モードレスダイアログをCreateDialogで作り、[-][□][x]の三つのボタンを付けました。
でも、[-]や[□]を押しても何も起こりません。[x]を押すとWM_CLOSEが来るのですが。
どうすれば[-]や[□]を検出できますか?
Win32API質問箱 Build11 [転載禁止]©2ch.net
543 :デフォルトの名無しさん[sage]:2015/02/25(水) 15:27:50.11 ID:2mLZHhyU
>>542
モードレスダイアログを作りたいのです。
追加で質問なんですが、
SendMessage(hDlg, DM_SETDEFID, IDC_BUTTON, 0);
とするとデフォルトボタンを設定できますけれど、IDで指定するのではなく
ボタンのhwndを指定してデフォルトボタンを設定する方法ありますか?
Win32API質問箱 Build11 [転載禁止]©2ch.net
547 :デフォルトの名無しさん[sage]:2015/02/25(水) 19:41:38.08 ID:2mLZHhyU
545さん!物凄い分り易いサンプルプログラム大変有難うございました。
早速試させていたいだいたのですが、
私の場合、最小化ボタンを付けたいので、サンプルのDlgProc()を変更して

case WM_INITDIALOG:
  SetWindowLong(hDlg, GWL_STYLE, GetWindowLong(hDlg, GWL_STYLE) | WS_MINIMIZEBOX);
  return TRUE;

のようにしたら、最小化ボタン出たのですが、これで最小化ボタン押しても何も反応しません。
これが私が最初の質問だったのですが、この最小化ボタンを押して最小化するにはどうすればいいのでしょうか? 
そもそも追加した行は、ググッて見付けたものを適当にコピペしたので、これで良いのかどうかも分っていません。
よろしくお願いします。
Win32API質問箱 Build11 [転載禁止]©2ch.net
549 :デフォルトの名無しさん[sage]:2015/02/25(水) 21:34:40.70 ID:2mLZHhyU
>>548
サンプルプログラムで無事に最小化出来ました。
一方、私の場合、テンプレートではなくてリソースでダイアログを作っていました。
それで
case WM_INITDIALOG:
  SetWindowLong(hDlg, GWL_STYLE, GetWindowLong(hDlg, GWL_STYLE) | WS_MINIMIZEBOX);
  return TRUE;
としたら最小化ボタンが出たのですが、これが無反応でした。それでリソースのプロパティの設定でMinimize box=Falseになっていたの
に気付いて、trueにしたら、無事に最小化できました。この場合、WM_INITDIALOGでの設定は不要でした。
ということは、リソースでMinimize box=FalseにしてWM_INITDIALOGでSetWindowLongで有効化しても、
確かに最小化ボタンは現れますが、クリックに反応しないんですね。リソースでtrueにする必要があるんですね。
一体両者で何が違うんでしょうか?
いずれにしましても、今回は、大変分り易いサンプルを作って頂きまして大変有難うございました。
大変感謝です。
Win32API質問箱 Build11 [転載禁止]©2ch.net
551 :デフォルトの名無しさん[sage]:2015/02/25(水) 23:05:31.32 ID:2mLZHhyU
もし分れば、もう一つ教えて下さい
546さんのプログラムで、ダイアログがキー入力を受け付けるように
するにはどうすればよいでしょうか?私のプログラムも同じく、
キーを押すとピンという音が鳴って、キーを受け付けてくれません。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。