링크 컨트롤

유혜정·2022년 4월 18일
0
post-thumbnail

이벤트 추가하기


----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;
}
profile
내가 시작한 공부, 공유할 코드

0개의 댓글