본문 바로가기

Windows/WTL

UIEnable WTL 혹은 ATL 이겠지 DIALOG 객체들을 ENABLE / DISABLE 시켜주는 것 MFC 에 EnableWindow 와 비슷할 듯 더보기
DDX_CONTROL_HANDLE, DDX_CONTROL 코드를 보던중 이유없어보이는 두 녀석이 존재했는데 대체 차이가 무엇? 인지 궁금해져서 말이지... 헤더를 까보니 [code] // Full control subclassing (for CWindowImpl derived controls) template void DDX_Control(UINT nID, TControl& ctrl, BOOL bSave) { if(!bSave && ctrl.m_hWnd == NULL) { T* pT = static_cast(this); ctrl.SubclassWindow(pT->GetDlgItem(nID)); } } [/code] [code] // Simple control attaching (for HWND wrapper controls) template void DDX_C.. 더보기
CHyperLink 1. 변수 선언 해주고 [code]CHyperLink m_wndLink;[/code] 2. 일단 맵에 추가해주고 [code]BEGIN_DDX_MAP(CMainDlg) DDX_CONTROL(IDC_CP_LINK, m_wndLink) END_DDX_MAP()[/code] 3. 링크를 선언해준다. [code]m_wndLink.SetHyperLink(_T("http://www.codeproject.com/"));[/code] 더보기
CUpdateUI UI를 Idle 상태에서 계속 갱신하고 싶다면! 1. 다중 상속란에 [code]public CUpdateUI,[/code] 2. 메시지 맵 [code]BEGIN_UPDATE_UI_MAP(CMainDlg) END_UPDATE_UI_MAP()[/code] 3. BOOL OnIdle(); [code]BOOL CMainDlg::OnIdle() { // // UI idle // UIUpdateChildWindows(); return FALSE; }[/code] 4. // register object for message filtering and idle updates [code]CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pL.. 더보기
CDialogResize 다이얼로그의 크기를 변경시키려면 해당 클래스를 상속 해야되는데 다음과 같이 하면된다. 1. 인클루드 [code]#include [/code] 2. 상속 부분에 [code]public CDialogResize,[/code] 3. 메시지 맵 넣고 [code]BEGIN_DLGRESIZE_MAP(CMainDlg) /* DLGRESIZE_CONTROL(IDOK, DLSZ_MOVE_X) DLGRESIZE_CONTROL(IDCANCEL, DLSZ_MOVE_X)*/ END_DLGRESIZE_MAP() BEGIN_MSG_MAP(CMainDlg) // // chain msg map // CHAIN_MSG_MAP(CDialogResize) REFLECT_NOTIFICATIONS() END_MSG_MAP() [/code] 4.. 더보기
VS9.0 BETA 를 위한 WTL8.0 setup file VS9.0 BETA 를 위한 WTL setup file 그냥 머 -_ -; 경로만 수정하니 되더라. 더보기
Codeproject sample Link : http://www.codeproject.com/wtl/wtl4mfc4.asp VS9.0 beta + WTL 8.0 변경된게 많아서 욕좀 보셨다. 더보기
SetCursor [code] /* ---------------------------------------------------------------------- DATE : August 27, 2007 11:27:9 ---------------------------------------------------------------------- LICENSE : GPL ---------------------------------------------------------------------- CODER : aucd29(ccd@apsat.co.kr) ---------------------------------------------------------------------- NOTE ----------------------.. 더보기
DDX_Control 사용하기 [code]reqire file[/code] #include [code]class 에 추가[/code] public CWinDataExchange [code]init[/code] initdialog 란에 DoDataExchange(false); 추가 [code]DDX 추가[/code] BEGIN_DDX_MAP(CMainDlg) DDX_TEXT(IDC_EDIT, m_szValue) END_DDX_MAP() [code]함수에 해당 코드 추가[/code] if ( !DoDataExchange(true) ) return 0; 이거 머냐? 하면 MFC에서 하던 FORM CONTROL 중 메모리 와 OBJECT 간에 서로 연동을 할수 있게 해주는 녀석이라는 거.... 더보기
CListViewCtrl // 선언 // atlctrls.h CListViewCtrl m_wndList; // 헤더 m_wndList.Attach(GetDlgItem(IDC_LIST1)); m_wndList.InsertColumn(0, L"Macro", LVCFMT_LEFT, 120 , 0); m_wndList.InsertColumn(0, L"Result", LVCFMT_LEFT, 120 , 0); 더보기