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

投稿日: 2007/03/13(Tue) 10:51
投稿者ムキア
Eメール
URL
タイトルRe^6: ユーザコントロールを動的に作成

> > 度々すいません。
> >
> > ユーザコントロール1を表示してからユーザコントロール2を表示させる際、
> > UserControl1.Visible=False ではなくアンロードさせたい場合、
> > なにか手はあるのでしょうか。
> 横から失礼します;
> Option Explicit
> 'Form1:
> '1 ユーザコントロール UserControl1 及び UserControl2 をプロジェクトに追加
> '2 プロジェクトのプロパティで、使用しないActiveXコントロールについての情報を削除する をオフに
> '3 実行
> Private WithEvents btn      As CommandButton
> Private WithEvents ctl      As VBControlExtender
>
> Private Sub Form_Load()
>     'ボタンを追加
>     Set btn = Me.Controls.Add("VB.CommandButton", "btn")
>     With btn
>         .Move 0, 0, 1000, 1000
>         .Caption = "Click"
>         .Visible = True
>     End With
> End Sub
>
> Private Sub btn_Click()
>     Static flag             As Boolean
>    
>     'コントロールを削除
>     On Error Resume Next
>         Call Me.Controls.Remove("ctl")
>     On Error GoTo 0
>    
>     'コントロールを追加
>     If flag Then
>         Set ctl = Me.Controls.Add("Project1.UserControl1", "ctl")
>     Else
>         Set ctl = Me.Controls.Add("Project1.UserControl2", "ctl")
>     End If
>     With ctl
>         .Move 0, 1000, 1000, 1000
>         .Visible = True
>     End With
>    
>     flag = Not flag
> End Sub
>
> 多分こんな感じです

動作確認問題なく出来ました。
ありがとうございました。


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

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

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