请教关于winsock控件(100分)

  • 主题发起人 主题发起人 noah
  • 开始时间 开始时间
N

noah

Unregistered / Unconfirmed
GUEST, unregistred user!
我想自己写一个winsock控件,直接继承TComponent,用winsock。可是在调用WSAAsyncSelect()时必须指定接受讯息的窗口句柄,我想知道怎么取得现在控件所属于的窗口的句柄。我想在控件被拖到FORM上时就获得,而不是在程序中获得,请教?另外如果解决了又如何拦截该FORM收到的消息而该由该控件进行处理
 
in constructor, you can call GetParentForm to get owner form.
 
呵呵,如果按楼上所言如果对方是控制台程序那起不是不能用你的控件了?[:D]
 
GetParentForm(Control: TControl)是需要一个TControl的参数,可是我时继承TComponent的啊,那参数应该怎么写呢,我试过了,提示TControl与TComponent不匹配
 
最简单的方法:
1.构造函数是这样:Create(AOwner: TComponent)
2.在Create中判断AOwner是不是从Twincontrol继承的,如是,那么Handle属性就是你要的。

你试一下吧
 
use createwindow to create a new window(hidden)
 
我用了了个折中的办法,用了AllocateHWnd,还是谢谢各位
 
后退
顶部