SSTABでタブを三枚使ってます。
それぞれのタブにボタンをコードからロードして、たくさん配置したいです。
しかし、タブ1にボタンをおいて、コードでロードすると、
Call Load(OptArrow(tmp))
全て、タブ1にロードされてしまします。
タブ1、タブ2の全てのページに同じコントロール名で配置したいのですが、
タブ2へボタンをロードできません。
どうすればよいのでしょうか?
動的ロードする場合は、タブ番号と配置座標に注意してください。
まずは実験として
タブ1 に Label1
タブ2 に Label2
タブ3 に Label3
を配置して、
Private Sub Form_DblClick()
Debug.Print Label1.Left, Label2.Left, Label3.Left
End Sub
を実行してみてください。
タブが切り替わるごとに、内部座標が変化していますよね。
ロード後に、どのタブのどの座標に配置するのかを指定しているかどうか、
もう一度確認してみてください。サンプルとしてはこんな感じ。
Load OptArrow(tmp)
SSTab1.Tab = タブ番号
Set OptArrow(tmp).Container = SSTab1 '★
OptArrow(tmp).Move L, T, W, H
OptArrow(tmp).Visible = True
# テンプレートなるコントロールが、もともと SSTab の上にある場合は、
# ★の行は無くても構いません。
解決しました。
ありがとうございます。