親コンテナのBackColor取得

解決


香奈恵  2005-03-18 21:49:39  No: 88907

コントロールが貼り付けられたコンテナの背景色を取得したいのですができるでしょうか?
ただし、コンテナが複数の階層になっている場合、一番親のコンテナの背景色を取得したいのです。

よろしくお願いします。


Say  2005-03-18 22:47:16  No: 88908

通常、「一番親のコンテナ」はFormのはずですから、
FormのBackColorを取得すればいいのではないかと。

もし、「Form上に直に置かれたコンテナコントロール」という意味なら、
再帰でparentを追いかけていってFormにたどり着いたとき、
直前に拾ったコントロールのBackColorを取得すればいいのではないかと。


LESIA  2005-03-18 22:55:27  No: 88909

こんな感じかな?
コンテナが無い場合は、そのコントロール自身の背景色になります

Private Sub Command1_Click()
    Dim obj As Object
    
    Set obj = GetContainer(Text1)
    Debug.Print Hex(obj.BackColor)
    
End Sub

Private Function GetContainer(obj As Object) As Object
    If obj.Container.Name = Me.Name Then
        Set GetContainer = obj
    Else
        Set GetContainer = GetContainer(obj.Container)
    End If
End Function


香奈恵  2005-03-18 23:13:31  No: 88910

ありがとうございます。
さっそく試してみます。


香奈恵  2005-04-02 00:19:49  No: 88911

解決しました


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加