没有标题栏上问号按钮的时候怎么调出pophelp?(50分)

  • 主题发起人 主题发起人 少爷的拐杖
  • 开始时间 开始时间

少爷的拐杖

Unregistered / Unconfirmed
GUEST, unregistred user!
如果标题栏上有问号按钮的时候,只要点一下,然后用‘?光标’点击带有helpcontext
的控件就能调出pophelp。
现在,midchild窗体上无法设置问号按钮。请问如何达到点击控件调出对应pophelp的目的?
 
就是Office里‘这是什么’那个按钮的功能。
各位?说说话噻?
 
我也想過,不過從來沒有實現!
:)
 
自己弄个图标吧放在上头。点的时候发生事情
 
实验一下,这个如何?
procedure TForm1.Button1Click(Sender: TObject);
var
Pt: TSmallPoint;
ContextID: Integer;
begin
Pt := PointToSmallPoint(ClientToScreen(Point(0, 0)));
ContextID:=1;
Application.HelpCommand(HELP_SETPOPUP_POS, Longint(Pt));
Application.HelpCommand(HELP_CONTEXTPOPUP, ContextID);
end;
 
这个是主体。
具体的可以使用GetCursorPos获得坐标,然后再获得ContextID,这个稍微复杂一点。
可以找到Cursor所在的控件的句柄,使用FindControl获得控件,然后执行Control.HelpContext;获得ID。
如果还不清楚,你可以找完颜康,它可以回答你。
 
噢,是“他”,不是它,[:D]
 
to yzhshi:
找完颜康啊。他是我小弟,早知道直接问省我分了:)
to sydan:
问完后我把解答贴来给你看。
 
就是嘛。听说你要问题,他都隐身了(QQ)[:D][:D][:D]
 
狂倒..................又关我的事...............!!!!
 
to yzhshi:
真正实现起来可不简单
点击的控件有没有helpcontext还不一定,如果点到按钮,按理按钮的click事件应该不
被触发,该弹出帮助来。而且还要考虑鼠标光标的状态,什么时候该问号,什么时候该
变箭头。想想就头大了。
有没有这样的办法:向那里发送个什么消息,通知鼠标进入了问号的状态,就象是点过了
标题栏上的问号按钮一样,这样鼠标以后的控制就不用自己操心了。
具体问题就是:有没有办法向应用程序/window通知,鼠标已经进入即点即帮的状态?
 
实在没办法用个右键菜单了事。感谢yzhshi的代码。45分
感谢完颜康QQ上跟我磨嘴皮。5分
 
后退
顶部