次の方法で共有


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
    表示するテキストの上部にマークされている含むゼロで終わる文字列へのポインター。詳細については、「"の"マークアップで、の MSDN ライブラリトピック SysLink コントロールの概要 のアクセス」をリンクします。

  • dwStyle
    リンク コントロールのスタイルを指定します。コントロールのスタイルの組み合わせを適用します。詳細については、Windows SDKコモン コントロールのスタイル を参照してください。

  • rect
    リンク コントロールのサイズと位置を指定します。これは CRect のオブジェクトまたは RECT の構造体のいずれかです。

  • pParentWnd
    リンク コントロールの親ウィンドウを指定します。NULL は指定できません。

  • nID
    リンク コントロールの ID を指定します。

戻り値

初期化が成功true ; それ false。

解説

CLinkCtrl オブジェクトは、次の手順で構築します。最初に、リンク コントロールを作成し、CLinkCtrl のオブジェクトに関連するコンストラクターを呼び出し、次に Createを呼び出します。は、コントロールとの拡張ウィンドウ スタイルを使用する場合は、Createの代わりに CLinkCtrl::CreateEx を呼び出します。

Create のメソッドの 2 番目のフォームは推奨されていません。lpszLinkMarkup のパラメーターを指定する最初のを使用します。

使用例

次のコード例に m_Link1 と m_Link2という 2 種類のリンク コントロールへのアクセスに使用される 2 種類の変数を定義します。

    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;

次のコード例は、別のリンク コントロールの位置に基づいて 1 個のリンク コントロールを作成します。リソース ローダーは最初のリンク コントロールをアプリケーションの起動時に作成します。アプリケーションが OnInitDialog のメソッドを入力すると、最初のリンク コントロールの位置を基準にして 2 番目のリンク コントロールを作成します。表示するテキストに合わせて 2 番目のリンク コントロールのサイズを変更します。

    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

参照

関連項目

CLinkCtrl クラス

階層図

CLinkCtrl::CreateEx