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

投稿日: 2007/03/12(Mon) 17:00
投稿者ガッ
Eメール
URL
タイトルRe^5: ユーザコントロールを動的に作成

> 度々すいません。
>
> ユーザコントロール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 -