- PR -

解像度変更の影響を受けないフォームを作りたい

投稿者投稿内容
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2008-03-11 22:51
引用:

ん。。。ごめん、なんか、話が見えない。

> ここで、自分の端末の解像度を1280×1024に設定変更したとき、
> フォームがその解像度に合わせて小さくなってしまいます。
まずここ。
どうして小さくなるの?
確かに、300×500 のままで、解像度(じゃなくて、スクリーン サイズ)が1024×768から1280×1024になると、見た目の大きさは、小さくなりますね。そうではなくて、

> フォームの高さが500、横幅が300というサイズであれば、
> どの解像度でもその大きさを保つようにしたい
という書き方から、「1024で300ピクセルに設定したのに、1280にすると240ピクセルになってしまう」ということかと、思っているのですが、いかがでしょう?


> 昔、ノートの解像度が低い時代に1024x768から縮小させるためにやったことがあります。
え、そうなんですか?
Delphi や Borland C++ Builder なら、Ver.3 あたりから、Visual Studio なら、2002 のバージョンからは、AutoSize プロパティだったかなそんなプロパティを設定しておけば、自動的に計算してくれるのでは?
(いや、かわらないから「なんで〜?」って思っています<wankuma.com>けど)



さくらさんが言いたいのは、物理サイズの事でしょう。
要するに、あるモニタで 10cm で表示されているなら、どのモニタでも 10cm で表示されてほしいという事で。完全なる WYSIWYG という感じでしょうか。

結論から言うと、ユーザにモニタのサイズを入力してもらうとできます。が、相当面倒です。

残念ながら、Windows がモニタの物理サイズを知らないので、ユーザーにモニタのサイズを入力してもらう事は必須です。モニタの物理サイズを得ることができれば、現在の DPI と解像度(1024x768とかの方)から「nピクセル=nセンチ」といった法則を計算し、動的に「すべての」コントロールやウィンドウのサイズを変更すべば、求める事の大概はできるんじゃないでしょうか。


_________________
囚人のジレンマな日々

[ メッセージ編集済み 編集者: 囚人 編集日時 2008-03-11 22:52 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-03-12 08:00
引用:

まどかさんの書き込み (2008-03-11 09:29) より:
拡大縮小の自動計算はさすがに無理でしょう?


Anchor (スペル自信なし)で引っ張ってもらいます。
さすがに、「大きくなったらフォントも大きく」は、無理だと思います。
まどか
ぬし
会議室デビュー日: 2005/09/06
投稿数: 372
お住まい・勤務地: ますのすし管区
投稿日時: 2008-03-12 09:10
引用:

Jittaさんの書き込み (2008-03-12 08:00) より:
Anchor (スペル自信なし)で引っ張ってもらいます。



私が無理だといったのは、均等にということです。
今回の場合は、ズームだと解釈していますので。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-03-12 18:19
本質問は2.0なので、TableLayoutPanel が使えますね。

スキルアップ/キャリアアップ(JOB@IT)