ダイヤログ上のボタンの再配置の仕方 – プログラミング – Home

ダイヤログ上のボタンの再配置の仕方
 
通知
すべてクリア

[解決済] ダイヤログ上のボタンの再配置の仕方


kato
 kato
(@kato)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

 はじめまして。よろしくおねがいします。
開発環境は、OS:Windows XP、VC++ 6.0です。

 画面サイズを変更時にダイヤログ上にあるチェックボックス、エディットボックス、
スタティックテキスト、月間予定表、プッシュボタンを再度その画面に合わせて配置
を変えたいのですが、どうすればよいのかまったくわかりません。
 画面サイズは2種類(縦長版と横長版)に限定されており、最初の表示が横長のウィ
ンドウで、ユーザーが画面サイズを変更したあとにウィンドウのその時のサイズによ
り、どちらかにOnsize関数で指定するようにしています。

 どのようにすればいいのか、ヒントだけでもお願いします。


引用未解決
トピックタグ
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 23年前
投稿: 196
 

>再度その画面に合わせて配置を変えたいのですが、どうすればよいのかまったくわかり
ません。

最も単純な方法は、ダイアログサイズを調整した後に、各コントロールの表示位置を
SetWidnowPos() で調整してやることです。


返信引用
とも
 とも
(@とも)
ゲスト
結合: 24年前
投稿: 65
 

ダイアログクラスのWM_SIZEで、コントロールをMoveWindowとかすれば
出来ると思います。
GetWindowRectとかScreenToClientというようなメンバも使う事になるかもしれません。


返信引用
kato
 kato
(@kato)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

 渋木宏明(ひどり)さん、ともさん、レスありがとうございます。
まさかこんなに早く教えていただけるなんて思っていませんでした。
本当にありがとうございました。
 お二人に教えていただいた関数の使い方を調べて解決したいと思います。
まだまだ初心者なので大変ですががんばりたいと思います。

 すいませんがもう一つ質問させてください。
エディットボックスやスタティックテキストの大きさは変えられるのでしょうか?
例えば縦長のウィンドウの場合はテキスト欄を縦長に、横長のウィンドウの場合は
テキスト欄を横長に…というふうにウィンドウ画面サイズに合わせて大きさを変更
することは可能なのでしょうか?


返信引用
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 23年前
投稿: 196
 

>エディットボックスやスタティックテキストの大きさは変えられるのでしょうか?

ヘルプで SetWindowPos() API の引数を調べてみてください。


返信引用
kato
 kato
(@kato)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

 渋木宏明(ひどり)さん、ありがとうございます。
さっそく調べさせてもらいます。本当に助かりました。

 またこれからもちょくちょく質問させてもらうかもしれませんが、
そのときもよろしくお願いします。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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