CLinkCtrl – třída
Poskytuje funkce běžného ovládacího prvku SysLink systému Windows.
Syntaxe
class CLinkCtrl : public CWnd
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CLinkCtrl::CLinkCtrl | CLinkCtrl Vytvoří objekt. |
Veřejné metody
Název | Popis |
---|---|
CLinkCtrl::Create | Vytvoří ovládací prvek propojení a připojí ho k objektu CLinkCtrl . |
CLinkCtrl::CreateEx | Vytvoří ovládací prvek propojení s rozšířenými styly a připojí ho k objektu CLinkCtrl . |
CLinkCtrl::GetIdealHeight | Načte ideální výšku ovládacího prvku propojení. |
CLinkCtrl::GetIdealSize | Vypočítá upřednostňovanou výšku textu odkazu pro aktuální ovládací prvek propojení v závislosti na zadané šířce odkazu. |
CLinkCtrl::GetItem | Načte stavy a atributy ovládacího prvku odkazu. |
CLinkCtrl::GetItemID | Načte ID položky ovládacího prvku odkazu. |
CLinkCtrl::GetItemState | Načte stav položky ovládacího prvku odkazu. |
CLinkCtrl::GetItemUrl | Načte adresu URL reprezentovanou položkou ovládacího prvku odkazu. |
CLinkCtrl::HitTest | Určuje, zda uživatel klikl na zadaný odkaz. |
CLinkCtrl::SetItem | Nastaví stavy a atributy ovládacího prvku odkazu. |
CLinkCtrl::SetItemID | Nastaví ID položky ovládacího prvku odkazu. |
CLinkCtrl::SetItemState | Nastaví stav položky ovládacího prvku propojení. |
CLinkCtrl::SetItemUrl | Nastaví adresu URL reprezentovanou položkou ovládacího prvku odkazu. |
Poznámky
Ovládací prvek odkazu poskytuje pohodlný způsob vložení hypertextových odkazů do okna. Skutečný ovládací prvek je okno, které vykreslí označený text a spustí příslušné aplikace, když uživatel klikne na vložený odkaz. V rámci jednoho ovládacího prvku je podporováno více odkazů a je možné k němu přistupovat pomocí indexu založeného na nule.
Tento ovládací prvek (a proto CLinkCtrl
třída) je k dispozici pouze pro programy spuštěné v systému Windows XP a novější.
Další informace naleznete v tématu SysLink Control v sadě Windows SDK.
Hierarchie dědičnosti
CLinkCtrl
Požadavky
Hlavička: afxcmn.h
CLinkCtrl::CLinkCtrl
CLinkCtrl
Vytvoří objekt.
CLinkCtrl();
CLinkCtrl::Create
Vytvoří ovládací prvek propojení a připojí ho k objektu 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);
Parametry
lpszLinkMarkup
Ukazatel na řetězec s nulovým ukončením, který obsahuje označený text, který se má zobrazit. Další informace najdete v části Revize a odkazování v tématu Přehled ovládacích prvků SysLink.
dwStyle
Určuje styl ovládacího prvku odkazu. Použijte libovolnou kombinaci stylů ovládacích prvků. Další informace najdete v části Běžné styly ovládacích Windows SDK
prvků.
Rect
Určuje velikost a umístění ovládacího prvku propojení. Může to být objekt CRect nebo struktura RECT .
pParentWnd
Určuje nadřazené okno ovládacího prvku propojení. Nesmí mít hodnotu NULL.
Nid
Určuje ID ovládacího prvku propojení.
Návratová hodnota
TRUE, pokud inicializace byla úspěšná; jinak NEPRAVDA.
Poznámky
Objekt vytvoříte CLinkCtrl
ve dvou krocích. Nejprve zavolejte konstruktor a potom volání Create
, který vytvoří ovládací prvek propojení a připojí ho k objektu CLinkCtrl
. Chcete-li použít rozšířené styly oken s ovládacím prvek, zavolejte CLinkCtrl::CreateEx místo Create
.
Druhá forma Create
metody je zastaralá. Použijte první formulář, který určuje parametr lpszLinkMarkup .
Příklad
První příklad kódu definuje dvě proměnné pojmenované m_Link1
a m_Link2
, které se používají pro přístup ke dvěma ovládacím prvkům propojení.
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;
Následující příklad kódu vytvoří jeden ovládací prvek propojení na základě umístění jiného ovládacího prvku propojení. Zavaděč prostředků vytvoří první ovládací prvek propojení při spuštění aplikace. Když aplikace zadá metodu OnInitDialog, vytvoříte druhý ovládací prvek propojení vzhledem k pozici prvního ovládacího prvku propojení. Potom změníte velikost druhého ovládacího prvku odkazu tak, aby odpovídal textu, který se zobrazí.
CRect rect1, rect2;
int height = 0;
SIZE sz = {0};
PTCHAR url =
_T("Link 2) ")
_T("<A HREF=\"https://visualstudio.microsoft.com\">")
_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));
}
CLinkCtrl::CreateEx
Vytvoří ovládací prvek propojení s rozšířenými styly a připojí ho k objektu CLinkCtrl
.
virtual BOOL CreateEx(
LPCTSTR lpszLinkMarkup,
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
virtual BOOL CreateEx(DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parametry
lpszLinkMarkup
Ukazatel na řetězec s nulovým ukončením, který obsahuje označený text, který se má zobrazit. Další informace najdete v části Revize a odkazování v tématu Přehled ovládacích prvků SysLink.
dwExStyle
Určuje rozšířený styl ovládacího prvku propojení. Seznam rozšířených stylů Windows naleznete v části dwExStyle parametr pro CreateWindowEx v sadě Windows SDK.
dwStyle
Určuje styl ovládacího prvku odkazu. Použijte libovolnou kombinaci stylů ovládacích prvků. Další informace naleznete v tématu Běžné styly ovládacích prvků v sadě Windows SDK.
Rect
Určuje velikost a umístění ovládacího prvku propojení. Může to být objekt CRect nebo struktura RECT .
pParentWnd
Určuje nadřazené okno ovládacího prvku propojení. Nesmí mít hodnotu NULL.
Nid
Určuje ID ovládacího prvku propojení.
Návratová hodnota
TRUE, pokud inicializace byla úspěšná; jinak NEPRAVDA.
Poznámky
Místo příkazu Vytvořit použijte CreateEx
rozšířené konstanty stylu Windows.
Druhá forma CreateEx
metody je zastaralá. Použijte první formulář, který určuje parametr lpszLinkMarkup .
CLinkCtrl::GetIdealHeight
Načte ideální výšku ovládacího prvku propojení.
int GetIdealHeight() const;
Návratová hodnota
Ideální výška ovládacího prvku v pixelech.
Poznámky
Tato členová funkce implementuje chování zprávy Win32 LM_GETIDEALHEIGHT, jak je popsáno v sadě Windows SDK.
CLinkCtrl::GetIdealSize
Vypočítá upřednostňovanou výšku textu odkazu pro aktuální ovládací prvek propojení v závislosti na zadané šířce odkazu.
int GetIdealSize(
int cxMaxWidth,
SIZE* pSize) const;
Parametry
cxMaxWidth
[v] Maximální šířka odkazu v pixelech.
pSize
[ven] Ukazatel na strukturu Velikost systému Windows. Když tato metoda vrátí, cy člen SIZE
struktury obsahuje ideální výšku textu odkazu pro šířku textu odkazu, která je určena cxMaxWidth. Člen cx struktury obsahuje šířku textu odkazu, která je skutečně potřebná.
Návratová hodnota
Upřednostňovaná výška textu odkazu v pixelech Vrácená hodnota je stejná jako hodnota člena SIZE
cy struktury.
Poznámky
Příklad metody najdete v příkladu GetIdealSize
v CLinkCtrl::Create.
Tato metoda odešle LM_GETIDEALSIZE zprávu, která je popsaná v sadě Windows SDK.
CLinkCtrl::GetItem
Načte stavy a atributy ovládacího prvku odkazu.
BOOL GetItem(PLITEM pItem) const;
Parametry
pItem
Ukazatel na strukturu LITEM pro příjem informací o položce.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Tato členová funkce implementuje chování zprávy Win32 LM_GETITEM, jak je popsáno v sadě Windows SDK.
CLinkCtrl::GetItemID
Načte ID položky ovládacího prvku odkazu.
BOOL GetItemID(
int iLink,
CString& strID) const;
BOOL GetItemID(
int iLink,
LPWSTR szID,
UINT cchID) const;
Parametry
iLink
Index položky ovládacího prvku odkazu.
strID
A CStringT objekt obsahující ID zadané položky.
szID
Řetězec ukončený hodnotou null obsahující ID zadané položky.
cchID
Velikost ve znaky vyrovnávací paměti szID .
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámka:
Tato funkce také vrátí hodnotu FALSE, pokud je vyrovnávací paměť szID nebo strID menší než MAX_LINKID_TEXT.
Poznámky
Načte ID konkrétní položky ovládacího prvku odkazu. Další informace najdete ve zprávě Win32 LM_GETITEM v sadě Windows SDK.
CLinkCtrl::GetItemState
Načte stav položky ovládacího prvku odkazu.
BOOL GetItemState(
int iLink,
UINT* pnState,
UINT stateMask = LIS_FOCUSED | LIS_ENABLED | LIS_VISITED) const;
Parametry
iLink
Index položky ovládacího prvku odkazu.
pnState
Hodnota zadané položky stavu.
stateMask
Kombinace příznaků popisujících, které položky stavu se mají získat. Seznam hodnot najdete v popisu state
člena ve struktuře LITEM . Povolené položky jsou identické s povolenými položkami v state
.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Načte hodnotu zadané položky stavu konkrétní položky ovládacího prvku propojení. Další informace najdete ve zprávě Win32 LM_GETITEM v sadě Windows SDK.
CLinkCtrl::GetItemUrl
Načte adresu URL reprezentovanou položkou ovládacího prvku odkazu.
BOOL GetItemUrl(
int iLink,
CString& strUrl) const;
BOOL GetItemUrl(
int iLink,
LPWSTR szUrl,
UINT cchUrl) const;
Parametry
iLink
Index položky ovládacího prvku odkazu.
strUrl
Objekt CStringT obsahující adresu URL reprezentovanou zadanou položkou
szUrl
Řetězec ukončený hodnotou null obsahující adresu URL reprezentovanou zadanou položkou
cchUrl
Velikost znaků vyrovnávací paměti szURL .
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámka:
Tato funkce také vrátí hodnotu FALSE, pokud je vyrovnávací paměť szUrl nebo strUrl menší než MAX_LINKID_TEXT.
Poznámky
Načte adresu URL reprezentovanou zadanou položkou ovládacího prvku odkazu. Další informace najdete ve zprávě Win32 LM_GETITEM v sadě Windows SDK.
CLinkCtrl::HitTest
Určuje, zda uživatel klikl na zadaný odkaz.
BOOL HitTest(PLHITTESTINFO phti) const;
Parametry
Phti
Ukazatel na LHITTESTINFO
strukturu obsahující všechny informace o odkazu, na který uživatel klikl.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Tato členová funkce implementuje chování zprávy Win32 LM_HITTEST, jak je popsáno v sadě Windows SDK.
CLinkCtrl::SetItem
Nastaví stavy a atributy ovládacího prvku odkazu.
BOOL SetItem(PLITEM pItem);
Parametry
pItem
Ukazatel na strukturu LITEM obsahující informace, které chcete nastavit.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Tato členová funkce implementuje chování zprávy Win32 LM_SETITEM, jak je popsáno v sadě Windows SDK.
CLinkCtrl::SetItemID
Načte ID položky ovládacího prvku odkazu.
BOOL SetItemID(
int iLink,
LPCWSTR szID);
Parametry
iLink
Index položky ovládacího prvku odkazu.
szID
Řetězec ukončený hodnotou null obsahující ID zadané položky.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Nastaví ID konkrétní položky ovládacího prvku odkazu. Další informace naleznete ve zprávě Win32 LM_SETITEM v sadě Windows SDK.
CLinkCtrl::SetItemState
Načte stav položky ovládacího prvku odkazu.
BOOL SetItemState(
int iLink,
UINT state,
UINT stateMask = LIS_FOCUSED | LIS_ENABLED | LIS_VISITED);
Parametry
iLink
Index položky ovládacího prvku odkazu.
pnState
Hodnota zadané položky stavu, která je nastavena.
stateMask
Kombinace příznaků popisujících nastavení položky stavu Seznam hodnot najdete v popisu state
člena ve struktuře LITEM . Povolené položky jsou identické s povolenými položkami v state
.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Nastaví hodnotu zadané položky stavu konkrétní položky ovládacího prvku propojení. Další informace naleznete ve zprávě Win32 LM_SETITEM v sadě Windows SDK.
CLinkCtrl::SetItemUrl
Nastaví adresu URL reprezentovanou položkou ovládacího prvku odkazu.
BOOL SetItemUrl(
int iLink,
LPCWSTR szUrl);
Parametry
iLink
Index položky ovládacího prvku odkazu.
szUrl
Řetězec ukončený hodnotou null obsahující adresu URL reprezentovanou zadanou položkou
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Nastaví adresu URL reprezentovanou zadanou položkou ovládacího prvku odkazu. Další informace naleznete ve zprávě Win32 LM_SETITEM v sadě Windows SDK.