- ベストアンサー
Windows 解像度の違うディスプレイで同じレイアウト表示
Windows 解像度の違うディスプレイで同じレイアウト表示 解像度の違うディスプレイで同じ様なレイアウトで表示させたいと考えています。 他サイト等を調べていると「スケーリング」という方法を目にしました。 しかし、ソースコードやサンプルコードが無い為、使用方法がいまいち解りません。 詳しい使用方法をご存じの方がおられましたら、アドバイスよろしくお願いいたします。 スケーリング以外でも解像度の違うディスプレイで同じレイアウト表示ができる手段があれば、併せてお願いします。 ソースコードや他サイトのリンク等があると助かります。 何卒、よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
現在はドット単位でレイアウトを指定しいるのだと思いますが、これを0~1の数値に変換して利用するのがスケーリングです。 例えば640x480ドットの解像度の場合、中心の座標は(320,240)になります。800x600ドットなら中心は(400,300)です。 でも座標が(0,0)~(1,1)であるとすると、中心は常に(0.5,0.5)ですので、解像度毎に変更する必要がなくなります。 内部では常に(0,0)~(1,1)で計算し、表示する瞬間だけドットに変更しなおせば良いのです。現在のモニタの解像度を取得する関数があるはずですから、それでscreenWidthとscreenHeightを取得して、座標のXとYにかければドット単位での座標が分かります。
その他の回答 (1)
- php504
- ベストアンサー率42% (926/2160)
ソースコードがみたい場合は言語やライブラリ等を指定されたほうがいいと思います WindowsだったらフルスクリーンにしないでWindowサイズ固定でいいのでは
補足
お返事ありがとうございます。 現在はC#を使用していますが、VBやVBAまたはJAVA等もOKです。 ロジック的なものが知りたいのですが、なかなか出会わず困っております。
補足
お返事ありがとうございます。 スケーリングとは座標に対しての事なんですね。 てっきり、フォームのサイズや、各テキストボックスやフォントを解像度によって自動でスケール調整してくれるものだと思っていました。 テキストボックスやフォント、フォームサイズ等は、解像度を取得して、 デザイン時のサイズ(横幅)÷解像度(横幅)=比率(横幅) デザイン時のテキストボックス(横幅)X比率(横幅) フォントサイズX比率 みたいにするしかないのでしょうか? この辺の情報が掲載されているサイトになかなか出会わず困り果ててます。 C#,VB,VBA,JAVA辺りで良いサイト等ないでしょうか?