掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
オブジェクト式が返す値について (ID:116804)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
一部のオブジェクトは、「既定のメンバ」という物を持っています。 VB6のコントロールの場合、それは「_Defaultプロパティ」という物です。 F2 キーで表示される オブジェクトブラウザ を見ると、まれに、 アイコンの左上に 水色の球の付いたメンバが付いている事がありますが、 それが、既定のプロパティ/メソッドと呼ばれる物です。 http://www.microsoft.com/japan/developer/library/vb98/vamsciconsusedinobjectbrowser.htm 例えばLabelコントロールの場合、既定のプロパティは、 Captionプロパティに相当しています。 Dim S1 As String Dim S2 As String Dim S3 As String S1 = Label1.Caption S3 = Label1.[_Default] S2 = Label1 同様に、TextBoxならTextプロパティ、CommandButtonならValueプロパティが 既定のプロパティから返される事になります。 そしてPictureBoxの場合、既定のプロパティはPictureプロパティです。 Dim P0 As PictureBox Dim P1 As Picture Dim P2 As Picture Set P0 = Picture1 Set P1 = Picture1.Picture Set P2 = Picture1 そして、Pictureプロパティが返す「Pictureオブジェクト」もまた、 既定のメンバを持っています。それは「Handleプロパティ」です。 (空の画像の場合、Handleプロパティからは 0 という数値が返されます) > Debug.Print Picture1 & "," & Picture2 この場合、 1. 「Picture1」は PictureBox型のオブジェクトだが、 PictureBox型を文字列で表現する事はできないので、 ここで、既定のプロパティが検索される。 2. 既定のプロパティからは、Picture型の値が返されるが、これもやはり 文字列で表現できないので、さらに既定のプロパティが使われる。 3. 既定のプロパティから、OLE_HANDLE型(Long型相当)の値が返される。 数値は文字列で表現できる。 4. Picture2についても同様に判定される。 という事で、結果的には Debug.Print CStr(Picture1.Picture.Handle) & "," & CStr(Picture2.Picture.Handle) のように判断される事になります。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.