[リストへもどる]
一括表示

投稿時間:2003/09/20(Sat) 12:45
投稿者名:れお
Eメール:kikirara_@hotmail.com
URL :
タイトル:
●実行後に追加したTextBoxなどを制御したいのですが
はじめまして。

実行後にFlexgridにLabelもしくはTextboxを複数個追加し、
自由にマウスで移動、数字の入力でサイズ変更などをしたいのですが、
可能でしょうか?

また微妙な位置合わせのやり方も合わせてお願いいたします。

投稿時間:2003/09/20(Sat) 14:44
投稿者名:Say
Eメール:
URL :
タイトル:
Re: ●実行後に追加したTextBoxなどを制御したいのですが
> 実行後にFlexgridにLabelもしくはTextboxを複数個追加し、
> 自由にマウスで移動、数字の入力でサイズ変更などをしたいのですが、
> 可能でしょうか?

そのようにコーディングすれば可能です。
コントロールの動的配置は
Controls.Add  もしくはLoadステートメントで可能です。

マウスでずりずり動かしたいなら、
コントロールに移動用ハンドルがあったほうがいいかもしれません。
自力で工夫して追加してください。

> また微妙な位置合わせのやり方も合わせてお願いいたします。
Gridのカレントセルの位置という意味なら、
CellHeight、CellLeft、CellTop、CellWidth 。

投稿時間:2003/09/20(Sat) 21:30
投稿者名:れお
URL :
タイトル:
Re^2: ●実行後に追加したTextBoxなどを制御したいのですが
返答、ありがとうございます。

何分、VB初心者なのでわからない事がいっぱいあるのですが、
コントロールの動的配置とはどのように宣言し、配置させれば良いのでしょうか?

またクリックした時にハンドルを取得するにはどのようにすれば良いのでしょうか。

>> また微妙な位置合わせのやり方も合わせてお願いいたします。
>Gridのカレントセルの位置という意味なら、
>CellHeight、CellLeft、CellTop、CellWidth 。
こちらのほうは理解できました。

投稿時間:2003/09/20(Sat) 23:52
投稿者名:Say
Eメール:
URL :
タイトル:
Re^3: ●実行後に追加したTextBoxなどを制御したいのですが
> コントロールの動的配置とはどのように宣言し、配置させれば良いのでしょうか?

ControlsコレクションのAddメソッドの使用例はヘルプを参照してください。
CommandButtonの例が載っていますが、TextBoxに変更してみればいいでしょう。
また、ここの過去ログにもコードがあるでしょう。

Load ステートメントのヘルプでの記述は参考にしにくいでしょうから説明します。

まず、VBを起動し、標準Exeを選択し、Form上にTextBoxとCommandButtonを
1つずつ配置してください。
次に、配置したTextBoxを選択し、プロパティウィンドウでIndexプロパティに0を設定します。
その後、コードエディタでForm1に以下のコードを記述して実行してみてください。
Option Explicit
Private lngIndex As Long
Private Sub Command1_Click()
    lngIndex = lngIndex + 1
    Load Text1(lngIndex)
    Text1(lngIndex).Top = Text1(lngIndex - 1).Top + Text1(lngIndex - 1).Height + 100
    Text1(lngIndex).Visible = True
End Sub

> またクリックした時にハンドルを取得するにはどのようにすれば良いのでしょうか。

ここでいうハンドルはデバイスコンテキストハンドルやウィンドウハンドルのような
一種のIDをさしているわけではありません。

例えばVBの編集画面で、コントロールを選択すると選択したコントロールの周りに
四角い黒い点が8個現われ、選択状態であることを示すと同時に
その点にマウスカーソルをあわせるとカーソルの形状が変化し、
コントロールのサイズ変更が可能になります。
この四角い黒い点も「ハンドル」と呼ばれており、
前回の回答に記した「移動用ハンドル」はこの類になります。

当然ながら、標準でハンドルを表示する機能はありませんから、
「自力で工夫して追加してください」と付記した次第です。

勿論、ハンドル表示などせず処理することも可能ですから
必須というわけではありません。