VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/06/17(Fri) 13:47
投稿者ダンボ
URL
タイトルRe^4: 違う画面サイズでの実行について。

> 教えていただいた、市販のOCXはVBソースコード付きみたいですね。コードだけほしい・・(笑)。
> 別の機会で、サイズ変更の関数作れたらいいなと思います(できるかなぁ。。)。

頭に浮かぶアルゴリズムは、
・フォーム内のすべてのコントロールは把握できる(コントロールコレクション)
・各コントロールの(フォーム内の)絶対座標は把握できる(.Left,.Top,.Width,.Height)
・各絶対座標をフォームに対する相対座標(%)で記憶する。
・フォームのリサイズが起きたら、新しいフォームのサイズに対して「相対座標」を掛けて各コントロールの絶対
座標を求める。
・その絶対座標で各コントロールを再配置する(.Move)

まあ、こんなものでしょう。もっと細かいところでは、
・フォントサイズ…上記に準じる
・Shapeはコントロールコレクションに含まれていたかな?
・コンテナコントロール内のコントロールはどうするの?->徹底的にやるなら再帰的に。

売り物はそこら辺まで実装していることと思いますが、XGA-SVGA間の差異ぐらいなら上の5手順で
充分だと思いますよ。

#i486マシンの頃、これを実装したら紙芝居になって悲しかった。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -