【发布时间】:2011-07-07 09:08:08
【问题描述】:
我有一个用 c 编写的应用程序,它没有对话框。 但是,当您右键单击该图标时,您会看到一个浮动菜单,然后您可以从那里选择关于选项。这将打开一个关于对话框。我有一个指向某个网页的链接,可以按下它——这将打开浏览器并导航到 URL。但是,我无法将该 URL 显示为超链接(所有与 GUI 相关的工作都是通过资源 .rc 文件完成的)。
有谁知道如何将该链接涂成蓝色并加下划线以使其仅通过资源脚本显示为超链接?
谢谢
【问题讨论】:
我有一个用 c 编写的应用程序,它没有对话框。 但是,当您右键单击该图标时,您会看到一个浮动菜单,然后您可以从那里选择关于选项。这将打开一个关于对话框。我有一个指向某个网页的链接,可以按下它——这将打开浏览器并导航到 URL。但是,我无法将该 URL 显示为超链接(所有与 GUI 相关的工作都是通过资源 .rc 文件完成的)。
有谁知道如何将该链接涂成蓝色并加下划线以使其仅通过资源脚本显示为超链接?
谢谢
【问题讨论】:
我自己没有尝试过,但看起来您可以在资源脚本中使用 CONTROL 语句来包含 SysLink 类(这需要通用控件 v6/Win XP,因此意味着您还需要在您的应用)。更多详情请见http://msdn.microsoft.com/en-us/library/bb760706%28VS.85%29.aspx。
但是,您需要处理来自 SysLink 控件的通知才能启动浏览器,并且您需要在使用对话框资源之前调用 InitCommonControlsEx()。这可能会停止由 rc 文件完成的所有 GUI 工作。
另一种选择是注册一个新的窗口类,来自 SysLink 控件的子类,并自定义通常会向父级发送点击通知以启动浏览器的窗口消息。然后,您可以在 rc 文件的 CONTROL 语句中使用您的自定义类名。您还有更多工作要做,但所有 GUI 处理都会为您完成。
【讨论】: