CLinkCtrl::Create
创建链接控件并将它附加到 CLinkCtrl 对象。
virtual BOOL Create(
LPCTSTR lpszLinkMarkup,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID
);
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID
);
参数
lpszLinkMarkup
对包含标记文本显示的以零结尾的字符串的指针。有关更多信息,请参见一节“标记和链接Access”在的 MSDN Library主题 SysLink控件概述。dwStyle
指定链接控件的样式。将控件样式的任意组合。在参见 Windows SDK 的 公共控件的样式 有关更多信息。pParentWnd
指定链接控件父窗口。它不得为 NULL。nID
指定链接控件ID.
返回值
true,如果初始化成功;否则 false。
备注
在构造在两个步骤的一 CLinkCtrl 对象。首先,调用构造函数然后调用 Create,创建链接控件并将它附加到 CLinkCtrl 对象。如果要用于控件的扩展窗口样式,请调用 CLinkCtrl::CreateEx 而不是 Create。
Create 方法的第二个窗体已弃用。使用指定 lpszLinkMarkup 参数的第一个窗体。
示例
下面的代码示例定义两个变量,名为 m_Link1 和 m_Link2,用于访问两个链接控件。
afx_msg void OnNMClickSyslink1(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnNMClickSyslink2(NMHDR *pNMHDR, LRESULT *pResult);
// Link variable associated with resource editor CLinkCtrl control.
CLinkCtrl m_Link1;
// Link variable associated with programmatic CLinkCtrl control.
CLinkCtrl m_Link2;
下面的代码示例创建基于其他链接控件的位置的链接控件。当应用程序启动时,资源加载程序创建第一个链接控件。当您的应用程序中输入方案时,将创建第二个链接控件相对于第一个链接控件的位置。然后您调整第二个链接控件以适合其显示的文本。
CRect rect1, rect2;
int height = 0;
SIZE sz = {0};
PTCHAR url =
_T("Link 2) ")
_T("<A HREF=\"https://msdn2.microsoft.com/en-us/visualc/default.aspx\">")
_T("Microsoft VC++ Home")
_T("</A>");
m_Link1.GetWindowRect( &rect1 );
m_Link2.Create(url,
(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER),
CRect(
rect1.left, rect1.bottom + rect1.Height(),
rect1.right, rect1.bottom + (2*rect1.Height())),
this,
IDC_SYSLINK2);
m_Link2.GetClientRect( &rect2 );
// The return value of GetIdealSize() is the same as sz.cy
height = m_Link2.GetIdealSize(
rect2.Width(), &sz);
if ((sz.cx != 0) && (sz.cy != 0)) {
int rc = m_Link2.SetWindowPos(
this,
0, 0, sz.cx, sz.cy,
(SWP_NOMOVE | SWP_NOZORDER | SWP_NOREPOSITION | SWP_NOACTIVATE));
}
要求
标头: afxcmn.h