【发布时间】:2015-09-01 23:14:57
【问题描述】:
我想知道,如何将超链接(指向在线网页的链接)添加到我的窗口。我是否使用 CreateWindow、WM_PAINT 等?请给我一些建议。谢谢!
编辑: 这就是我正在做的事情:
HWND CreateSysLink(HWND hDlg, HINSTANCE hInst, RECT rect){
return CreateWindowEx(0, WC_LINK,
"For more information, <A HREF=\"http://www.microsoft.com\">click here</A> " \
"or <A ID=\"idInfo\">here</A>.",
WS_VISIBLE | WS_CHILD | WS_TABSTOP,
rect.left, rect.top, rect.right, rect.bottom,
hDlg, NULL, hInst, NULL);
}
我通过在 WinMain 中运行 globalhInstance = hInstance; 将 hInstance 从 WinMain 参数复制到全局变量“globalhInstance”。我还创建了一个名为 globalRect 的全局 RECT。然后在 WM_CREATE 上,我调用 GetWindowRect(hwnd, &globalRect);(“hwnd”是 WndProc 的参数)。最后,在 WM_COMMAND 内的 switch 语句中,我调用 CreateSysLink(hwnd, globalhInstance, globalRect);。但这似乎不起作用。
【问题讨论】:
-
您在寻找SysLink common control吗?
-
CreateWindowEx( 0x0,WC_LINK, ... ); -
你能给我一些示例代码吗
-
如果它是一个对话框并且您有 Visual C++,那么您可以从工具箱中拖放“SysLink 控件”。
-
@JonathanPotter - 不,我只是将 RECT globalRect; 放在我的 .cpp 文件顶部的包含下方并调用 GetWindowRect(hwnd, &globalRect); 在 WM_CREATE 上。