问题呢?难道你要我们猜问题?确实高难度!┏━┯━┓
┃竹 副┃
┠ BCB ┨
┃印 斑┃
┗━┷━┛
┃竹 副┃
┠ BCB ┨
┃印 斑┃
┗━┷━┛
解决方案 »
- 关于邮件的存储
- 自己写的Socks5代理的源码,还有些问题没有解决,请大家指教!(3)
- 请教~!主从数据集 子集不能设置过滤?
- 请教一个有关delphi语法的问题
- 怎样同时查询两个Access数据库?
- 等待dbgrid的显示数据问题
- 使用DELPHI+SQL做仓储管理,企业人事管理和网上图书馆等软件能在深圳混口饭吃吗?
- 用Delphi开发的Office Addin插件在Word2007中可用,但在Outlook2007中的按钮事件无法激活
- 求助将Delphi的加密解密算法写成C语言
- 狂狼,关于设置字体的问题.
- 请问如何判断Active控件注册没有?
- 如何在程序中调用批处理文件?(很简单的问题,可是我不会)
问题是这样的:
我做了一个VCL控件
在其中声明一个自定义消息,
然后定义一个回调函数,这个回调函数由一个API函数调用
请回如何在这个回调函数中发送mymsg消息,sendmessage和postmessage可以吗,如果可以,
第一个参数应传谁的handle,如下:
interface
const
Mymsg=5000
tmyvcl=class(tcomponent)
public
procedure msg1(var msg:tmessage);message Mymsg;
procedure myfunction;
end;
implement
{此函数不属于tmyvcl类}
procedure mycallback;
begin
{my code...........}
end;
procedure tmyvcl.msg1(var msg:tmessage);
begin
{my code..........}
end;
procedure tmyvcl.myfunction;
begin
{myapi函数为调用回调函数的API函数名}
myapi(@mycallback);
end;
type
TMyClass = class(TComponent)
private
FHandle: THandle;
function GetHandle: THandle;
procedure WndProc(var Msg: TMessage);
public
property Handle: THandle read GetHandle;
end;
proceudre TMyClass.GetHandle;
begin
if FHandle = 0 then
FHandle := AllocateHWnd(WndProc);
Result := FHandle;
end;
procedure TMyclass.WndProc(var Msg: TMessage);
begin
...
end;
以上的WndProc不知能不能从Form或Application接收到msg,我还没试了。:)
begin
SendMessage(Obj.Handle, WM_Message...)
end;