• 締切済み

フォームザイズを可変した場合

OS:win2000pro VB:VB6.0sp5 画面1 form_load時、フォームサイズ(Height,Width)=(10470,15360) フォームサイズ変更(BorderStyle=2:可変)に設定しています 終了ボタン 終了ボタンをclickした場合、画面1を閉じる処理を行ないます  CommandButtonの位置  form_load時、(Left,Top)=(13260,9240)  フォームサイズ変更した場合、ボタンの位置が可変しないのか、画面から消えてしまいます どのようにすれば、フォームサイズ変更しても消えないようになるのでしょうか?

みんなの回答

回答No.3

#2さんの補足です。 Me.Widthが2100以下もしくはMe.Heightが1230以下になると(0以下になると)、エラーになりますので、If文である一定の幅(高さ)以下になったらコマンドボタンの位置を動かさないようにしてください。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

フォームのサイズを変更した際にコマンドボタンの位置を設定する処理を追加すればよろしいのではないでしょうか?。 Private Sub Form_Resize() Command1.Left = Me.Width - 2100 Command1.Top = Me.Height - 1230 End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

フォームのサイズが変更されたらボタンの位置も手動で変更する必要があります。

nao0
質問者

補足

ありがとうございます  実行状態で画面のサイズを変更した場合に ボタンが画面の表示領域外になると表示されなくなります 画面のサイズを変更しても画面内に表示したいのです  説明不足で申し訳御座いません 宜しくお願いいたします

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • フォームがリサイズされた時の各コントロールの位置変更コードについて

    教えてください。 前々から疑問だったのですが、VBでフォームをリサイズした場合に それぞれのコントロールもそれに合わせて大きさが変更されたり 移動したりという状態にするには、当然Form_Resizeのコードを 書く必要があると思うのですが、VBでツールを作成される方は 皆さんひとつひとつのコントロールの位置を計算しながら毎回 コードを書いているのでしょうか? OCXなどを使うと、勝手にコントロールの位置を調整してくれるものも ありますが、やはり皆さん自分でコードを書いていらっしゃるのでしょうか? 私が分かるのは、フォームにテキストボックスのみを貼り付けて、 Private Sub Form_Resize() Form1.text1.Top = 0 Form1.text1.Left = 0 Form1.text1.Width = ScaleWidth Form1.text1.Height = ScaleHeight End Sub と書くと、リサイズに合わせてテキストボックスが画面いっぱいにサイズ変更 するというものです。 コマンドボタンとか色々貼り付けた状態ではどのように書けばいいのか いまひとつ分かりません。 皆さんはどのようにされているのでしょうか? 是非是非教えてください。

  • C# コントロールの移動について

    数年のブランクののち、VB6からの乗り換えで、数日前から、C#を始めたところのまったくの素人ですが、よろしく。 起動時に、フォームは、指定の位置に移動・サイズ変更は反映しているのですが、 ピクチャアボックスの、移動は反映されません。 なぜでしょうか。 お手数ですが、素人にも理解できるように、ご教授ください。 ソース・・・ namespace C_TRY { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.Left = 200 ; // X位置 this.Top = 100; // Y位置 this.Width = 640; // 幅 this.Height = 480; // 高さ } private void pictureBox1_Layout(object sender, LayoutEventArgs e) { this.pictureBox1.Location = new Point(1000, 128); } } }

  • Formサイズの最小値

    環境 VB6.0 ResizerというOCX Formのサイズを可変にしています。 小さくできる最小値を設定したいのですが、 どのように出来ますか? Form_Resizeに、 if me.width < '最小値' then me.width = '最小値' end if としたら、最小値より小さくしようとして戻すので、 画面がチカチカします。 Resizerで簡単にできませんか?

  • Form1_Loadイベントのコードよりプロパティが優先?

    vb2005です。 フォーム1にDataGridView1を設置し、アクセスのテーブルにバインドしています。 デザインのプロパティでは「30」、 コードの Form1_Loadイベントには Me.DataGridView1.RowTemplate.Height = 15 として実行すると、 最初は30の行の高さで表示され、 フィールド部分をクリックして並べ替えると、 15になります。 Form1_Loadイベントに、 MsgBox(Me.DataGridView1.RowTemplate.Height) Me.DataGridView1.RowTemplate.Height = 15 MsgBox(Me.DataGridView1.RowTemplate.Height) としてみたら、 「30」→「15」となりました。 と言うことは、フォーム表示時には15にならなければいけないのに、30の高さで表示されます。 どういうことなのでしょうか? よろしくお願いします。

  • Picture box の サイズを変更

    お世話になります。 VB6 でform1 上に Picture1 を貼付け ボタンを押すとPicture Boxのサイズを変更したいのですが 上手くサイズが変更されません。何か根本的な間違いでしょうか よろしくお願いします。 例: Yoko = 600 Tate = 480 Private Sub Command1_Click() With Picture1 .ScaleMode = 3 ' .Width = Yoko .Height = Tate End With End Sub

  • VB6でForm_Load中にイベントを発生させない方法

    VB6でForm_Loadにオプションボタンの選択を変更するとオプションボタンのクリックイベント(選択変更)が動作してしまいます。 Form_Loadの初期表示の設定をしているときは、オプションボタンのイベントを無効にしたいのですがどのようにしたら良いでしょうか? RemoveHandler等の処理があるみたいですが良く分かりません。 良い方法を教えてください。 宜しくお願いします。。

  • VB.Netのフォームロードイベントについて

    こんにちわ。 いまVB.Net2005Expressで勉強をしている者です。 あるフォームがロードされるときの処理を書こうとすると, 従来のVB6ではFormオブジェクトにLoadイベントがありましたが, VB.Net2005では,最初の状態ではフォームのイベントには 「New」,「Finalize」,「InitializeComponent」の3つしかありません。 もしVB.Net2005でForm_Loadイベントを書きたいときは, 自分で, 「Private Sub Form1_Load(Byval ~」と書かなくてはいけないのでしょうか? 初歩的な質問になるかもしれませんが,教えてください。 よろしくお願いします。

  • フォームを開く時のイベント処理

    Visual Basic 6.0 あるフォーム読込時イベント[Private Sub Form_Load()]で コマンドボタンにフォーカスを移動しようとしたら、エラーしてしましました。 Private Sub Form_Load() CommandButton.SetFocus ’プロシージャの呼び出し、または引数が不正です End Sub Form_Open や BeforeUpdate ? 開いた後にフォーカスをセット出来る イベント処理は無いでしょうか? ご教授願います。

  • FORMのスクロール(VB6)

    MDIフォーム内のMDIChildフォームのBorderStyleプロパティを可変とし、表示後サイズを小さく変更してフォーム内のコントロールが隠れてしまったとき、スクロールバーを表示してフォーム内をスクロールして隠れてしまったコントロールを表示する方法はあるのでしょうか? MDIフォームは、ScrollBarsプロパティをTrueにしておけば、サイズを小さくしてMDIChildフォームが隠れてしまっても自動的にスクロールバーが現れて隠れた部分をスクロール表示することができます。これと同じことをMDIChildフォームでもできないでしょうか?

  • フォームの縦横比率を一定にする方法

    お世話になります。 環境:NT4.0 W + VB6(SP3) 画面内に納まる程度のサイズ変更という前提で、フォームの縦横比率を一定にする方法を教えて頂けませんでしょうか? フォームの縦横のサイズが1対2だとします。 フォームの縦を1.5倍にしたら、横も1.5倍になるようにしたいのです。 Form_Resize()時に、フォームの縦が変更されたら横も変更する、あるいは横が変更されたら縦を変更するようにコーディングしたのですが、再帰的にForm_Resize()が呼ばれてしまい、正しくサイズが変更されません。 よろしくお願いします。