반응형 C & C++/MFC 컨트롤199 [Dialog / 메뉴] 대화상자에서 메뉴 on/off 시키기 대화상자에서 메뉴를 on/off 시키기 위해서는 WM_KICKIDLE 메세지를 처리하여 주어야 한다. 1. 대화상자 해더 파일에 아래의 이벤트 메소드를 선언한다. #include afx_msg LRESULT OnKickIdle(WPARAM wParam, LPARAM lParam); 2. 대화상자 메세지 맵에 메세지 처리를 추가한다. ON_MESSAGE(WM_KICKIDLE, OnKickIdle) 3. 대화상자 소스 코드에 아래의 메소드를 추가한다. /** 대화상자 기반 윈도우에서 메뉴의 ON/OFF 를 처리할 수 있는 코드 */ LRESULT CTestMenuDlg::OnKickIdle(WPARAM wParam, LPARAM lParam) { UpdateDialogControls(this, FALSE);.. 2011. 12. 14. [Dialog] 윈도우 그리기 lock 하기 윈도우에 여러 가지를 그리는 경우, 윈도우가 깜빡 깜빡 거리는 경우가 많습니다. OnPaint 에서 더블 버퍼링으로 이 문제를 해결할 수도 있지만 CTreeCtrl 과 같은 경우에는 적용하기 쉽지 않죠. 그래서 윈도우 그리기 자체를 lock 시킨 후, 모든 그리기가 완료되었을 때에 이를 해제해 주는 것이 깔끔한 윈도우 작성을 위한 훌륭한 방법입니다. CWnd 클래스에 LockWindowUpdate 메소드와 UnlockWindowUpdate() 메소드가 위와 같은 기능을 위한 메소드입니다. BOOL LockWindowUpdate( ); - Disables drawing in the given window. void UnlockWindowUpdate(); - Call this member function t.. 2011. 12. 14. [Dialog] 캡션이나 아이콘을 깜박이게 하는 FlashWindow 1. 특성 윈도우의 캡션 바를 강조하거나 윈도우가 아이콘으로 표시되었을 때 아이콘을 깜박인다. 주로 윈도우에 사용자의 주의를 끌기 위해 사용된다. 2. 구문 FlashWindow(hwnd : HWND ; bInvert : Longbool) : boolean; hwnd -> 윈도우의 핸들. bInvert -> true 면 깜박이게 되고, false 면 원상태로 되돌아간다. 3. 예제 - flashWindow 함수의 구현 Timer 컴포넌트를 하나 배치하고 다음을 코딩해보자. procedure TForm1.Timer1Timer(Sender: TObject); begin flashwindow(Application.handle, true); end; procedure TForm1.FormClick(Sender:.. 2011. 12. 14. [Dialog] 자동 사이즈 다이얼로그 Introduction Yesterday when I wrote a simple Win32 dialog application, I missed one handy feature that is implemented in .NET forms; anchors and docking for controls. I took a look at the CodeProject, but I did not find exactly what I was looking for, so I wrote a simple solution for myself. I put it here with hope that it will be useful for some other programmers. This solution has two advantag.. 2011. 12. 14. 리스트(List) 색상 변경 - 리스트 ◈ 개발 환경 1. OS 환경 : WindowXP 2. 사용 언어 : VC++ 6.0 3. 개발에 필요한 환경 1) StdAfx.h 파일에 #include 을 등록합니다. 2) ColorListCtrlView.cpp 파일에서 CView로 된 것들을 CListView로 변경합니다. (ColorListCtrlView.h 파일에서 CView로 된 것들을 CListView로 변경) ◈ 프로그램 설명 1. 리스트컨트롤에 다섯개의 컬럼들이 있으며, 하나를 선택해도 한줄 모두 선택되도록 하였습니다. 2. 리스트컨트롤에 3~5번째 컬럼에 그라데이션 효과를 내어 색상을 주었습니다. 3. 1번째 열의 텍스트 색상은 빨간색, 2번째 열의 텍스트 색상은 녹색, 3번째 열부터는 파란색으로 설정했습니다. 4. 1~3번째 컬럼에는.. 2011. 12. 13. [Static] Static 글자 색상, 크기 조절 적용후 --> //ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ // 글자 색상 switch(nCtlColor) { case CTLCOLOR_STATIC : if (!bStatic) { if (pWnd->GetDlgCtrlID() == IDC_STATIC_F4) { pDC->SetTextColor(RGB(255,0,0)); } } else { if (pWnd->GetDlgCtrlID() == IDC_STATIC_F9) { pDC->SetTextColor(RGB(255,0,0)); } } } //ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ // 글자 크기 CFont font; LOGFONT Logfont; GetDlgItem(IDC_ST.. 2011. 11. 24. 이전 1 ··· 6 7 8 9 10 11 12 ··· 34 다음 반응형