如何将表单设置为帮助模式?

6

我正在尝试在Delphi 2010中将表单放入“帮助模式”。

我有一个按钮,用户点击该按钮后,我希望光标更改为帮助光标,然后当用户单击控件时,显示该控件的帮助信息。

有没有可以发送的窗口消息?


1
可能是重复的问题:如何将表单置于请求帮助模式?(链接:https://dev59.com/80fSa4cB1Zd3GeqPBvp5) - Rob Kennedy
@Rob 或者这个:http://stackoverflow.com/questions/2392070/how-to-do-context-help-what-is-this-button-in-winforms 你是通过在问题还是答案上搜索找到了重复内容? - David Heffernan
@David,这是“帮助模式”的第四个结果。许多其他问题要求寻求帮助而不是关于它。 - Rob Kennedy
@RobKennedy 好主意。实际上,排名第一的结果已经足以回答这个问题了。 - David Heffernan
嗨,我将这个问题单独发布,因为它与Winforms相关。 - Paul
1个回答

7

向窗体发送一个 WM_SYSCOMMAND 消息,将 SC_CONTEXTHELP 作为 lParam 参数传递。

将光标更改为带有指针的问号。如果用户在对话框中单击控件,则该控件会收到一个 WM_HELP 消息。

在您的按钮 OnClick 事件处理程序中编写类似于以下内容的内容:

procedure TMyForm.Button1Click(Sender: TObject);
begin
  SendMessage(Handle, WM_SYSCOMMAND, SC_CONTEXTHELP, 0);
end;

太棒了,谢谢David,这个解决办法起作用了并且打开了帮助系统。 - Paul
有没有一种发送消息的方式,可以弹出帮助弹窗? - Paul
我的一些控件上的上下文 ID 是为了在我的帮助系统中弹出相关主题。 - Paul
那将是一个新问题。我认为我已经回答了这个问题。 - David Heffernan
嗨,David。我现在几乎已经把这个问题解决了,现在唯一的问题是如何设置弹出窗口的位置。我会提出一个新的问题来寻求帮助。 - Paul
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接