VisualBasicやVisualCでプログラムを作ったときに、
PCによって画面サイズが変わる(ピクセル数自体が変わってしまったりする)
ことがありますが、これの原因は一体何なのでしょうか?
ディスプレイアダプタによって変わるのでしょうか?
VisualBasicではScreen.TwipsPerPixelXなどで、
画面サイズを調整できるのは知っているのですが、
もっと詳しく教えていただけませんでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

画面の設定で96(標準)にしたとき、TwipsPerPixelsXとYの値が、15になると思います。


これはたしか比例したと思うので、心配ならご自分で試されたらどうでしょう。
その他を選べば、自由に変えられます。

ちなみに、別のソフトを使えば、xとyの比も変えられるようです。
やったことはありませんが、変な画面になるでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございました。
これからは、この設定が変更されている可能性を頭に入れ、プログラムを作成したいと思います。

お礼日時:2001/04/24 16:55

これは、画面のプロパティの解像度変更タブの中にある詳細ボタンを押したときに出てくるダイアログで設定できます。


"大きいフォント" とか "小さいフォント" とか書いてあるやつです。
この項目は1ポイント毎ピクセルの大きさを変えるものです。

しかし、ユーザーは文字の大きさを変えたくて、この設定をいじったのですから、これを変えても大きさの変わらないプログラムがあることは、そのユーザーにとって不満なことこの上ないでしょう。
プログラマは、大きさが変わらないように努めるのではなく、大きさが変わっても問題が起こらないように努めるべきだと、私は思います。
    • good
    • 0
この回答へのお礼

有り難うございます。
この設定が原因だとは全く知りませんでした。

厚かましいお願いなのですが、この1ポイント毎ピクセルの実際の数値を知るにはどうすればいいのでしょうか?
それとも定数によって決まっているのでしょうか?

お礼日時:2001/04/23 09:16

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVisualBasic6.0からVisualBasic.NET

今までVisualBasic6.0で作っていたプログラムは、VisualBasic.NETで動かすことは可能でしょうか?

Aベストアンサー

これでわからなければ、やめておいた方がいい様です。
http://www.microsoft.com/japan/msdn/vbasic/techinfo/upgrade/

QVisualBasic2005 画面表示(ツール簿ボックス・プロパティウインドウ)について

VB2005(VisualStudio)の表示画面において、初期設定はツールボックスが画面左側に配置され、表示/非表示の切り替えが出来たのですが、何処かを触ってしまったために、ボックス表示になってしまい、画面左側に固定することが出来なくなりました。同様にソリューションエクスプローラー、プロパティウインドウも画面右側に固定できなくなりました。結果、プログラムするときにいちいちそれらのボックスを邪魔でない位置に移動させなければならず、手間がかかってしまいます。初期設定に戻すにはどのようにすればよろしいでしょうか。

Aベストアンサー

> ボックス表示になってしまい、画面左側に固定することが出来なくなりました

と言う状況が、いまひとつはっきりしませんが、
「フローティング」に設定を変更してしまったとかでしょうか?

でしたら、ツールボックスのタイトル部でマウス右クリックして、
設定を「ドッキング可能」に変更してドラッグすると、
どこにドッキングするかのマーカーが表示されますから、ドッキングしたいところ(左端のマーカー)に移動すれば、ドッキングするとはずですが・・・

#その後、「自動的に隠す」等に切り替える。

QVisualBasic6でドラック&ドロップのアプリを作成したい

VisualBasic6で、作成したアプリケーションのフォーム上に、他のファイルをドラック&ドロップした場合に、
ファイル名をフォーム上やラベルに表示させたいのですが、参考になるソースはありますか?

Aベストアンサー

D&D対象のイベントリスナのプロパティを以下に設定し、

OLEDragMode = 1 - 自動
OLEDropMode = 1 - 手動

_OLEDragDrop イベントプロシジャに処理を記述すればOKです。

下記が参考になるかどうか・・・。
(1年以上前に作成したものなので、詳細な内容は失念)


Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
'2002/01/05 ファイルのドラッグ&ドロップ
'(マイコンピュータ、IE、ゴミ箱等の特殊ショートカットは以下の処理でエラーと
'なるため、エラー処理が必要)
On Error Resume Next
Me.Text1.Text = GetLinkPath(Data.Files(1))
On Error GoTo 0
End Sub
 

D&D対象のイベントリスナのプロパティを以下に設定し、

OLEDragMode = 1 - 自動
OLEDropMode = 1 - 手動

_OLEDragDrop イベントプロシジャに処理を記述すればOKです。

下記が参考になるかどうか・・・。
(1年以上前に作成したものなので、詳細な内容は失念)


Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
'2002/01/05 ファイルのドラッグ&ドロップ
'(マイコンピュータ、IE、ゴミ箱等の特殊ショ...続きを読む

Q画面サイズ以上のフォームの印刷

VB6でフォームにラベルやグラフを配置してPrintFormで印刷しようとしています。

PrintFormではPCによって全てが印刷されません。

画面サイズ以上の印刷はPrintFormではできない事がわかりましたが、
印刷するだけの所まできているのでなんとか印刷したいです。

画面サイズ以上のフォームを印刷する方法はないでしょうか?
動作:印刷ボタンクリック→プレビューなしで印刷。

Aベストアンサー

PrintしたいFormと同様のデザインの別フォームを作成して
別フォームを非表示の状態で、PrintしたいFormの内容を別
フォームに写してPrintしてみては・・・
Printしたい内容にPictureBoxがあればAutoredrowはTrueに
した方がよいと思います。
未確認ですので外してたらすみません。

QVB2005 画面のオートリサイズ

VB2005を使用して画面作成をしていますが、この画面の大きさを変更すると自動的にラベルとかコマンドボタンとかもサイズを変更したいのですがその方法が分かりません。自動的にリサイズしてくれるソフト(dll,ocx)等があれば良いのですが。どなたか知っていれば教えて下さい。よろしくお願いします。

Aベストアンサー

Control.Anchorプロパティをチェックしてみてください。
希望のものができるかもしれません。

MSDNライブラリのアドレス
ms-help://MS.MSDNQTR.v80.ja/MS.MSDN.v80/MS.NETDEVFX.v20.ja/cpref32/html/P_System_Windows_Forms_Control_Anchor.htm


人気Q&Aランキング

おすすめ情報