Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Fornece a funcionalidade do controlo comum SysLink do Windows.
Sintaxe
class CLinkCtrl : public CWnd
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CLinkCtrl::CLinkCtrl | Constrói um CLinkCtrl objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
| CLinkCtrl::Create | Cria um controlo de ligação e anexa-o a um CLinkCtrl objeto. |
| CLinkCtrl::CreateEx | Cria um controlo de ligação com estilos estendidos e anexa-o a um CLinkCtrl objeto. |
| CLinkCtrl::GetIdealHeight | Recupera a altura ideal do controlo da ligação. |
| CLinkCtrl::GetIdealSize | Calcula a altura preferida do texto da ligação para o controlo atual da ligação, dependendo da largura especificada da ligação. |
| CLinkCtrl::GetItem | Recupera os estados e atributos de um item de controlo de ligação. |
| CLinkCtrl::GetItemID | Recupera o ID de um item de controlo de ligação. |
| CLinkCtrl::GetItemState | Recupera o estado do item de controlo da ligação. |
| CLinkCtrl::GetItemUrl | Recupera a URL representada pelo item de controlo do link. |
| CLinkCtrl::HitTest | Determina se o utilizador clicou no link especificado. |
| CLinkCtrl::SetItem | Define os estados e atributos de um item de controlo de ligação. |
| CLinkCtrl::SetItemID | Define o ID de um item de controlo de ligação. |
| CLinkCtrl::SetItemState | Define o estado do item de controlo da ligação. |
| CLinkCtrl::SetItemUrl | Define a URL representada pelo item de controlo do link. |
Observações
Um "controlo de ligação" oferece uma forma conveniente de incorporar ligações de hipertexto numa janela. O controlo propriamente dito é uma janela que renderiza texto marcado e lança aplicações apropriadas quando o utilizador clica num link incorporado. São suportados múltiplos links num único controlo e podem ser acedidos por um índice baseado em zero.
Este controlo (e, portanto, a CLinkCtrl classe) está disponível apenas para programas a correr sob Windows XP e posteriores.
Para mais informações, consulte Controlo SysLink no SDK do Windows.
Hierarquia de herança
CLinkCtrl
Requerimentos
Cabeçalho: afxcmn.h
CLinkCtrl::CLinkCtrl
Constrói um CLinkCtrl objeto.
CLinkCtrl();
CLinkCtrl::Create
Cria um controlo de ligação e anexa-o a um CLinkCtrl objeto.
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);
Parâmetros
lpszLinkMarkup
Apontador para uma cadeia terminada em zero que contém o texto marcado a mostrar. Para mais informações, consulte a secção "Marcação e Acesso a Links" no tópico Visão Geral dos Controlos SysLink.
dwStyle
Especifica o estilo do controlo da ligação. Aplica qualquer combinação de estilos de controlo. Consulte Estilos de Controlo Comuns no Windows SDK para mais informações.
retângulo
Especifica o tamanho e a posição do controlo da ligação. Pode ser um objeto CRect ou uma estrutura RECT .
pParentWnd
Especifica a janela pai do controlo de ligação. Não pode ser NULL.
nID
Especifica o ID do controlo da ligação.
Valor de retorno
TRUE se a inicialização fosse bem-sucedida; caso contrário, FALSO.
Observações
Constroem um CLinkCtrl objeto em dois passos. Primeiro, chama o construtor e depois chama Create, que cria o controlo de ligação e o anexa ao CLinkCtrl objeto. Se quiseres usar estilos de janelas estendidas com o teu controlo, chama CLinkCtrl::CreateEx em vez de Create.
A segunda forma do Create método está obsoleta. Use o primeiro formulário que especifica o parâmetro lpszLinkMarkup .
Example
O primeiro exemplo de código define duas variáveis, chamadas m_Link1 e m_Link2, que são usadas para aceder a dois controlos de ligação.
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;
O próximo exemplo de código cria um controlo de ligação com base na localização de outro controlo de ligação. O resource loader cria o primeiro controlo de ligação quando a sua aplicação inicia. Quando a sua aplicação entra no método OnInitDialog, cria o segundo controlo de ligação em relação à posição do primeiro controlo de ligação. Depois redimensionas o segundo controlo do link para se ajustar ao texto que ele apresenta.
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
Cria um controlo de ligação com estilos estendidos e anexa-o a um CLinkCtrl objeto.
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);
Parâmetros
lpszLinkMarkup
Apontador para uma cadeia terminada em zero que contém o texto marcado a mostrar. Para mais informações, consulte a secção "Marcação e Acesso a Links" no tópico Visão Geral dos Controlos SysLink.
dwExStyle
Especifica o estilo estendido do controlo da ligação. Para uma lista de estilos estendidos do Windows, consulte o parâmetro dwExStyle para CreateWindowEx no SDK do Windows.
dwStyle
Especifica o estilo do controlo da ligação. Aplica qualquer combinação de estilos de controlo. Para mais informações, consulte Estilos de Controlo Comuns no SDK do Windows.
retângulo
Especifica o tamanho e a posição do controlo da ligação. Pode ser um objeto CRect ou uma estrutura RECT .
pParentWnd
Especifica a janela pai do controlo de ligação. Não pode ser NULL.
nID
Especifica o ID do controlo da ligação.
Valor de retorno
TRUE se a inicialização fosse bem-sucedida; caso contrário, FALSO.
Observações
Use CreateEx , em vez de Criar, para aplicar constantes estendidas no estilo Windows.
A segunda forma do CreateEx método está obsoleta. Use o primeiro formulário que especifica o parâmetro lpszLinkMarkup .
CLinkCtrl::GetIdealHeight
Recupera a altura ideal do controlo da ligação.
int GetIdealHeight() const;
Valor de retorno
A altura ideal do controlo, em pixels.
Observações
Esta função membro implementa o comportamento da mensagem Win32 LM_GETIDEALHEIGHT, conforme descrito no SDK do Windows.
CLinkCtrl::GetIdealSize
Calcula a altura preferida do texto da ligação para o controlo atual da ligação, dependendo da largura especificada da ligação.
int GetIdealSize(
int cxMaxWidth,
SIZE* pSize) const;
Parâmetros
cxMaxWidth
[dentro] A largura máxima da ligação, em pixels.
pSize
[fora] Um apontador para uma estrutura Windows SIZE . Quando este método retorna, o membro cy da SIZE estrutura contém a altura ideal do texto da ligação para a largura do texto da ligação especificada por cxMaxWidth. O membro cx da estrutura contém a largura do texto da ligação que é realmente necessária.
Valor de retorno
A altura preferida do texto do link, em píxeis. O valor de retorno é o mesmo que o valor do membro cy da SIZE estrutura.
Observações
Para um exemplo do GetIdealSize método, veja o exemplo em CLinkCtrl::Create.
Este método envia a mensagem LM_GETIDEALSIZE , que é descrita no SDK do Windows.
CLinkCtrl::GetItem
Recupera os estados e atributos de um item de controlo de ligação.
BOOL GetItem(PLITEM pItem) const;
Parâmetros
pItem
Um ponteiro para uma estrutura LITEM para receber informação do item.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
Observações
Esta função membro implementa o comportamento da LM_GETITEM de mensagens Win32, conforme descrito no SDK do Windows.
CLinkCtrl::GetItemID
Recupera o ID de um item de controlo de ligação.
BOOL GetItemID(
int iLink,
CString& strID) const;
BOOL GetItemID(
int iLink,
LPWSTR szID,
UINT cchID) const;
Parâmetros
iLink
O índice de um item de controlo de ligação.
strID
Um objeto CStringT contendo o ID do item especificado.
szID
Uma cadeia terminada por nulo contendo o ID do item especificado.
cchID
O tamanho em caracteres do buffer szID .
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
Observação
Esta função também devolve FALSE se o buffer de szID ou strID for menor que MAX_LINKID_TEXT.
Observações
Recupera o ID de um item específico de controlo de ligação. Para mais informações, consulte a LM_GETITEM de mensagens Win32 no SDK do Windows.
CLinkCtrl::GetItemState
Recupera o estado do item de controlo da ligação.
BOOL GetItemState(
int iLink,
UINT* pnState,
UINT stateMask = LIS_FOCUSED | LIS_ENABLED | LIS_VISITED) const;
Parâmetros
iLink
O índice de um item de controlo de ligação.
pnState
O valor do item do estado especificado.
StateMask
Combinação de flags que descrevem qual item de estado comprar. Para uma lista de valores, consulte a descrição do state elemento na estrutura LITEM . Os itens permitidos são idênticos aos permitidos em state.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
Observações
Recupera o valor do item de estado especificado de um item específico de controlo de ligação. Para mais informações, consulte a LM_GETITEM de mensagens Win32 no SDK do Windows.
CLinkCtrl::GetItemUrl
Recupera a URL representada pelo item de controlo do link.
BOOL GetItemUrl(
int iLink,
CString& strUrl) const;
BOOL GetItemUrl(
int iLink,
LPWSTR szUrl,
UINT cchUrl) const;
Parâmetros
iLink
O índice de um item de controlo de ligação.
strUrl
Um objeto CStringT contendo a URL representada pelo item especificado
szUrl
Uma cadeia terminada por null contendo a URL representada pelo item especificado
cchUrl
O tamanho em caracteres do buffer szURL .
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
Observação
Esta função também devolve FALSE se o buffer de szUrl ou strUrl for menor do que MAX_LINKID_TEXT.
Observações
Recupera a URL representada pelo item de controlo de link especificado. Para mais informações, consulte a LM_GETITEM de mensagens Win32 no SDK do Windows.
CLinkCtrl::HitTest
Determina se o utilizador clicou no link especificado.
BOOL HitTest(PLHITTESTINFO phti) const;
Parâmetros
PHTI
Apontador para uma LHITTESTINFO estrutura contendo qualquer informação sobre o link em que o utilizador clicou.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
Observações
Esta função membro implementa o comportamento da LM_HITTEST de mensagens Win32, conforme descrito no SDK do Windows.
CLinkCtrl::SetItem
Define os estados e atributos de um item de controlo de ligação.
BOOL SetItem(PLITEM pItem);
Parâmetros
pItem
Um ponteiro para uma estrutura LITEM contendo a informação a definir.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
Observações
Esta função membro implementa o comportamento da LM_SETITEM de mensagens Win32, conforme descrito no SDK do Windows.
CLinkCtrl::SetItemID
Recupera o ID de um item de controlo de ligação.
BOOL SetItemID(
int iLink,
LPCWSTR szID);
Parâmetros
iLink
O índice de um item de controlo de ligação.
szID
Uma cadeia terminada por nulo contendo o ID do item especificado.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
Observações
Define o ID de um item específico de controlo de ligação. Para mais informações, consulte o LM_SETITEM de mensagens Win32 no SDK do Windows.
CLinkCtrl::SetItemState
Recupera o estado do item de controlo da ligação.
BOOL SetItemState(
int iLink,
UINT state,
UINT stateMask = LIS_FOCUSED | LIS_ENABLED | LIS_VISITED);
Parâmetros
iLink
O índice de um item de controlo de ligação.
pnState
O valor do item de estado especificado a ser definido.
StateMask
Combinação de flags que descrevem o item de estado que está a ser definido. Para uma lista de valores, consulte a descrição do state elemento na estrutura LITEM . Os itens permitidos são idênticos aos permitidos em state.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
Observações
Define o valor do item de estado especificado de um item específico de controlo de ligação. Para mais informações, consulte o LM_SETITEM de mensagens Win32 no SDK do Windows.
CLinkCtrl::SetItemUrl
Define a URL representada pelo item de controlo do link.
BOOL SetItemUrl(
int iLink,
LPCWSTR szUrl);
Parâmetros
iLink
O índice de um item de controlo de ligação.
szUrl
Uma cadeia terminada por null contendo a URL representada pelo item especificado
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
Observações
Define a URL representada pelo item de controlo de ligação especificado. Para mais informações, consulte o LM_SETITEM de mensagens Win32 no SDK do Windows.