[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/09/14(Tue) 13:30
投稿者名:ダンボ
URL :
タイトル:
コントロールを引数で渡す
コントロール(テキストボックス、グリッドなど)を引数で渡したいのですが、下記のようなイメージで
・渡されたものがコントロールであるかどうか…IsControlみたいな
・渡されたコントロールの種類…TypeOfに似たもの
を受け取り側で、得る方法は無いでしょうか? Webで探したけれどちょっと見つかりませんでした。

Public Sub SubClassSetUp(usrCNT As Control)
    Dim o_CNT as Control, o_hWnd as Long

    If not IsControl(usrCNT) Then Exit Sub
    Set o_CNT = usrCNT
    Select case TypeOf(o_CNT)
    Case "TextBox"
    Case "FLXGrid"
       o_hWnd = o_CNT.hWnd

投稿時間:2004/09/14(Tue) 14:16
投稿者名:nanashi
Eメール:
URL :
タイトル:
Re: コントロールを引数で渡す
>  ・渡されたものがコントロールであるかどうか…IsControlみたいな

私は知りません。

>  ・渡されたコントロールの種類…TypeOfに似たもの

TypeNameでイイと思います。

投稿時間:2004/09/14(Tue) 16:03
投稿者名:kamurin
Eメール:kamurin@hotmail.com
URL :
タイトル:
Re: コントロールを引数で渡す
書かれている関数にコントロール以外を渡すと、
判定する以前に、受け取った段階で、エラーになると思うのですが?

投稿時間:2004/09/14(Tue) 18:44
投稿者名:ダンボ
URL :
タイトル:
解決しました
nanashiさん、kamurinさん、どうもありがとうございました。

引数の型チェックはコンパイル時エラーになりましたのでOKOK。
渡されたコントロールの種類はTypeNameで分かりました。

またよろしくお願いします。

投稿時間:2004/09/14(Tue) 20:59
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: コントロールを引数で渡す
既に解決済みですが、別解という事で。


>  ・渡されたものがコントロールであるかどうか…IsControlみたいな
既に As Control 型になっているので、チェックは不要かと思いますが、
もしチェックするのであれば、
   If TypeOf objControl Is Control Then
のように書けます。

>  ・渡されたコントロールの種類…TypeOfに似たもの
これも、
   If TypeOf objControl Is TextBox Then
のように書けます。TypeNameの方が楽ですけどね。