반응형 C & C++/MFC 컨트롤199 [Tip] 작업표시줄에 응용프로그램 나타나지 않게 트레이 아이콘으로 사용하는 프로그램이 있으면, 작업 표시줄에 나타나면 공간만 소요하고 쓸모가 없게 된다. 이럴때 간단한 메시지하나만 발생 시키면 작업 표시줄에서 뺄 수 있다. BOOL CMyPlannerDlg::OnInitDialog() { ... SetIcon(m_hIcon, TRUE); // 큰 아이콘을 설정합니다. SetIcon(m_hIcon, FALSE); // 작은 아이콘을 설정합니다. ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW); ... return TRUE; // 포커스를 컨트롤에 설정하지 않으면 TRUE를 반환합니다. } BOOL CMyPlannerDlg::OnInitDialog() { ... SetIcon(m_hIcon, TRUE);// 큰 아이콘.. 2011. 4. 4. [Tip] 인텔리젼스 구현 Edit박스같이 보이는 입력창에 글자를 입력하면 parsing을 해서 그 단어가 들어간 리스트를 보여준다, 그것을 구현할려면, ComboBox로는 부족한 감이 있다, 아이콘 같은 것을 넣을려면, ComboBox를 상속받아서 서브클래싱을 하면 되긴하다, 하지만 초보자 입장에서 서브클래싱과 클래스재정의는 압박으로 다가온다, 그래서 간단하게 EditBox와 다이얼로그를 이용한 인텔리센스 구현법을 알아보자, 일단 EditBox를 추가한다, 그리고 클래스 위자드에서 EN_UPDATE 메시지를 오버라이딩한다, view plaincopy to clipboardprint? void CVKStarterDlg::OnUpdateRunedit() { // Some code here ... OnIntellisense(); //.. 2011. 4. 4. [Tip] 썸네일 리스트 미리보기 만들기 리스트 컨트롤로 썸네일을 구현하였을때 마우스를 올려놓았을 때 일정 시간이 지나면 미리 보는 기능을 넣을려면 다이얼로그를 하나 만든다 ( Style은 None으로 ) 그리고 동적으로 생성하여서 모달리스 다이얼로그로 생성하고 초기 상태를 ShowWindow( SW_HIDE); 로 해놓는다. MouseMove 메시지를 오버라이드한다. 마우스가 해당 그림위에 있을 때 view plaincopy to clipboardprint? void CThumbList::OnMouseMove(UINT nFlags, CPoint point) { LVHITTESTINFO htInfo; CPoint pt( point ); htInfo.pt = pt; htInfo.flags = LVHT_ONITEM; int nItem = HitTe.. 2011. 4. 4. [Tip] 네이트온 올림글 따라하기 네이트온에 보면 저런 기능이 있다. 아티클들이 시간이 되면 스르륵 올라가서 다음 아티클이 나온다. 그 기능을 구현해보자. void CNateDlg::DrawUpping( CDC* pDC ) { CDC memDC; CBitmap bitmap; CRect rect; memDC.CreateCompatibleDC( pDC ); bitmap.CreateCompatibleBitmap( pDC, m_clsRect.Width() - m_clsScroll.Width(), m_clsRect.Height() * 2 ); memDC.SelectObject( &bitmap); memDC.PatBlt( 0, 0, m_clsRect.Width() - m_clsScroll.Width(), m_clsRect.Height() * 2, .. 2011. 4. 4. [Tab] 탭 컨트롤러 만들기 1. 대화상자를 이용한 탭컨틀롤 사용을 알아보자. 2. 3개의 탭을 만들고 각각 대화상자를 붙여본다. 3. 3개의 대화상자를 모델리스형으로 만든다. 각각 CDlgTab1, CDlgTab2, CDlgTab3라고 하자. 4. 각각의 대화상자의 "Styles" 옵션중 "Style"은 "Child"로 "Border"는 "None"으로 "Tile Bar"는 언체크 한다. 5. 3개의 모델리스를 CMainFrame에 다음과 같이 선언하고 CDlgTab1 *m_pDlgTab1; CDlgTab2 *m_pDlgTab2; CDlgTab3 *m_pDlgTab3; * 생성자에 NULL값으로 초기화 해주는 거와 소멸자에세 NULL이 아니면 delete해주는 거 있지 말자. 6. 탭컨트롤에 탭만들기. 이때 탭컨트롤 변수를 m_c.. 2011. 3. 29. [Tip] 트레이 아이콘 조작 Visual C++로 제작된 프로그램에서 시스템 트레이를 조작하는데는 다음과 같은 함수를 사용한다. BOOL WINAPI Shell_NotifyIcon(DWORD dwMessage, PNOTIFYICONDATA pnid) ; dwMessage는 다음과 같은 값들이 들어간다. - NIM_ADD : 시스템 트레이에 새로운 아이콘 추가 - NIM_DELETE : 아이콘 제거 - NIM_MODIFY : 아이콘 수정 그리고 PNOTIFYICONDATA는 다음과 같은 구조체이다. typedef struct _NOTIFYICONDATA { DWORD cbSize; HWND hWnd; UINT uID; UINT uFlags; UINT uCallbackMessage; HICON hIcon; char szTip[64]; .. 2011. 3. 29. 이전 1 ··· 23 24 25 26 27 28 29 ··· 34 다음 반응형