VB6のクラスモジュールでWinsockコントロールの動的配置について

解決


てつ  2006-01-24 21:19:38  No: 93806

VB6でWinsockコントロール型のクラスモジュールを作成しようとしています。
そこでクラスの初期化で、フォーム上にWinsockコントロールを動的に配置しようと思うのですが、Controls.Addの第一引数にどのような文字列を指定すればよいのかわかりません。コマンドボタンの場合は、"VB.CommandButton"と指定するようですが、そもそも各コントロールに該当するこの文字列はどのようにして調べればよいのでしょうか?
どなたかご教授宜しくお願いいたします。

Private WithEvents ClassSock As Winsock
Private Sub Class_Initialize()
    Set ClassSock = Form1.Controls.Add("?????", "winsock1")
End Sub


魔界の仮面弁士  2006-01-24 21:43:09  No: 93807

> この文字列はどのようにして調べればよいのでしょうか?
ヘルプに調べ方が書いてありますが、それでは駄目ですか?
http://www.microsoft.com/japan/developer/library/vb98/vbmthaddmethod(controlscollection).htm


魔界の仮面弁士  2006-01-24 21:46:22  No: 93808

あら、括弧があるとうまくリンクされないようで。

これなら良いかな?
http://www.microsoft.com/japan/developer/library/vb98/vbmthaddmethod%28controlscollection%29.htm


てつ  2006-01-25 00:00:52  No: 93809

魔界の仮面弁士さま、ご回答ありがとうございます。
VB6付属のヘルプは参照していたのですが、オンラインヘルプの方はチェックしておりませんでした。
以下のようにすることでWinsockコントロールの動的配置ができました。
Set clsSock = Form1.Controls.Add("MSWinsock.Winsock.1", "winsock1")
ありがとうございました。


魔界の仮面弁士  2006-01-25 00:30:01  No: 93810

> VB6付属のヘルプは参照していたのですが、
> オンラインヘルプの方はチェックしておりませんでした。

えぇと。(^^;)

付属のヘルプに書いてあるのと、まったく同じ内容だと思いますよ。
MSDN の目次から辿るのであれば、こちらですね。

[Visual Studio 6.0 ドキュメント]
└[Visual Basic ドキュメント]
  └[リファレンス]
    └[ランゲージ リファレンス]
      └[メソッド]
        └[A]
          └[Add メソッド (Controls コレクション)]

アドレスでいえば、こちらになります。
(パス部分は、お使いの環境に合わせて読み替えてください)
mk:@MSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN\2001OCT\1041\vb98.chm::/html/vbmthaddmethod(controlscollection).htm

# MSDN Library for Visual Studio 6.0 が手元に無いため、上記は
# MSDN Library 2001 年 10 月版 の場合のアドレスです。


てつ  2006-01-25 03:04:43  No: 93811

魔界の仮面弁士さま、ご丁寧なご回答ありがとうございます。

>付属のヘルプに書いてあるのと、まったく同じ内容だと思いますよ。

なるほど、そうでしたか(^^;)
IDEのエディタ上で、addメソッドをクリックして[F1]押下で表示されるヘルプ内容にしか目を通しておりませんでした。。。

結局ヘルプで説明されているオブジェクトブラウザでWinsockオブジェクトを選択して、ライブラリ名を調べて"MSWinsockLib.Winsock"のように記述したのですがエラーとなり、そのエラーメッセージの内容から"MSWinsock.Winsock.1"がProgIDであることが判明した次第でした(^^;)


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

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






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