リンクコントロール



イベントの追加



----Dlg.cpp
void CLogonDemo2Dlg::OnNMClickSyslink1(NMHDR* pNMHDR, LRESULT* pResult)
{
	// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
	CString strUrl = _T("");
	CLinkCtrl* pLinkCtrl = (CLinkCtrl*)GetDlgItem(IDC_SYSLINK1);
	pLinkCtrl->GetItemUrl(0, strUrl);

	::ShellExecute(NULL, TEXT("open"), strUrl, NULL, NULL, SW_SHOW);
	*pResult = 0;
}

リードアドレス





----Dlg.cpp
void CLogonDemo2Dlg::OnBnClickedButton1()
{
	// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
	UpdateData();
	if (m_strLinkAddress.IsEmpty()) {
		MessageBox(_T(" 주소를 입력해주세요"));
		return;
	}
	//  새로운 브라우저 실행
	::ShellExecute(NULL, _T("open"), m_strLinkAddress, NULL, NULL, SW_SHOW);
}

アドレス初期入力


----Dlg.cpp
CLogonDemo2Dlg::CLogonDemo2Dlg(CWnd* pParent /*=nullptr*/)
	: CDialog(IDD_LOGONDEMO2_DIALOG, pParent)
	, m_strID(_T(""))
	, m_strPW(_T(""))
	, m_strLinkAddress(_T("http://www.naver.com"))
{
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

変数リンク




----Dlg.cpp
void CLogonDemo2Dlg::OnNMClickSyslink1(NMHDR* pNMHDR, LRESULT* pResult)
{
	// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.

	/*CString strUrl = _T("");
	CLinkCtrl* pLinkCtrl = (CLinkCtrl*)GetDlgItem(IDC_SYSLINK1);
	pLinkCtrl->GetItemUrl(0, strUrl);

	::ShellExecute(NULL, TEXT("open"), strUrl, NULL, NULL, SW_SHOW);*/

	// 변수 추가로 인해 사용 가능함
	UpdateData(); // 변수 값을 가져오기

	CString strUrl;
	m_linkCtrl.GetItemUrl(0, strUrl);
	::ShellExecute(NULL, _T("open"), strUrl, NULL, NULL, SW_SHOW);

	*pResult = 0;
}