MFC
-
기본 다이얼로그에 Static Control 올리면 그 컨드롤 영역만큼 기본 배색(회색)으로 보이는데, 이렇게 그 영역만큼 보여서 해당 부분을 투명화 하는 처리가 필요하다. 다이얼로그에 WM_CTLCOLOR 이벤트 추가 한뒤, 해당 이벤트 함수(OnCtlColor) 수정 HBRUSH CStaticTest::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); int nRet = pWnd->GetDlgCtrlID(); if (nRet == IDC_STATIC ) //여기에 투명화 처리할 Static ID추가 { pDC->SetBkMode(TRANSPARENT); hb..
[MFC] Static Control 배경 투명화기본 다이얼로그에 Static Control 올리면 그 컨드롤 영역만큼 기본 배색(회색)으로 보이는데, 이렇게 그 영역만큼 보여서 해당 부분을 투명화 하는 처리가 필요하다. 다이얼로그에 WM_CTLCOLOR 이벤트 추가 한뒤, 해당 이벤트 함수(OnCtlColor) 수정 HBRUSH CStaticTest::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); int nRet = pWnd->GetDlgCtrlID(); if (nRet == IDC_STATIC ) //여기에 투명화 처리할 Static ID추가 { pDC->SetBkMode(TRANSPARENT); hb..
2021.07.07 -
Dialog 에 UPDATE_COMMAND_UI 가 적용 안되는 증상 아래는 토글flag에 따라 메뉴UI 활성/비활성 화 하기 위한 소스인데, 1.초기 버튼토글 위한 전역 변수생성, 초기화. _bstart = TRUE; 2. 버튼 컨트롤의 COMMAND, UPDATE_COMMAND_UI 만들어서 함수내용 작성한다. //ID_STRAT버튼의 COMMAND 이벤트함수 void CMenuTestDlg::OnStrat() { _bstart = !_bstart; //토글 } //ID_STRAT버튼의 UPDATE_COMMAND_UI void CMenuTestDlg::OnUpdateStrat(CCmdUI* pCmdUI) { if (_bstart == TRUE) pCmdUI->Enable(FALSE); //메뉴 비활성..
[MFC]Dialog UPDATE_COMMAND_UI 안먹는 문제Dialog 에 UPDATE_COMMAND_UI 가 적용 안되는 증상 아래는 토글flag에 따라 메뉴UI 활성/비활성 화 하기 위한 소스인데, 1.초기 버튼토글 위한 전역 변수생성, 초기화. _bstart = TRUE; 2. 버튼 컨트롤의 COMMAND, UPDATE_COMMAND_UI 만들어서 함수내용 작성한다. //ID_STRAT버튼의 COMMAND 이벤트함수 void CMenuTestDlg::OnStrat() { _bstart = !_bstart; //토글 } //ID_STRAT버튼의 UPDATE_COMMAND_UI void CMenuTestDlg::OnUpdateStrat(CCmdUI* pCmdUI) { if (_bstart == TRUE) pCmdUI->Enable(FALSE); //메뉴 비활성..
2021.07.05 -
MFC에서 체크박스나 라디오버튼 체크 옵션 SetCheck(TRUE); 함수 사용한다 CButton* pButton; pButton = (CButton*)GetDlgItem(IDC_RADIOBUTTON); pButton->SetCheck(TRUE); 하거나, IDC_RADIOBUTTON 의 컨트롤 멤버변수 설정해서 멤버변수가 m_radiobutton 이라면, m_radiobutton.SetCheck(TRUE);
[MFC] CheckBox, RadioButton 체크 옵션MFC에서 체크박스나 라디오버튼 체크 옵션 SetCheck(TRUE); 함수 사용한다 CButton* pButton; pButton = (CButton*)GetDlgItem(IDC_RADIOBUTTON); pButton->SetCheck(TRUE); 하거나, IDC_RADIOBUTTON 의 컨트롤 멤버변수 설정해서 멤버변수가 m_radiobutton 이라면, m_radiobutton.SetCheck(TRUE);
2021.07.05 -
MFC 프로젝트의 클래스 명 수정하는경우, WNDCLASS wndclass; ::GetClassInfo(AfxGetInstanceHandle(), "#32770", &wndclass); CString strClassName = "TestClassName"; wndclass.lpszClassName = strClassName; AfxRegisterClass(&wndclass); 이때, 이 입력된 클래스 명과, 리소스에 등록된 클래스 명이 다르면, dlg 를 domodal 할 때 -1 내면서 프로그램 종료 된다.. 이럴땐 .rc 파일에도 변경한 클래스명과 같은 값으로 변경 해야 한다. IDD_TEST_DIALOG DIALOGEX 0, 0, 320, 200 STYLE DS_SETFONT | WS_POPUP |..
MFC 클래스 명 입력 후 DOMODAL 오류MFC 프로젝트의 클래스 명 수정하는경우, WNDCLASS wndclass; ::GetClassInfo(AfxGetInstanceHandle(), "#32770", &wndclass); CString strClassName = "TestClassName"; wndclass.lpszClassName = strClassName; AfxRegisterClass(&wndclass); 이때, 이 입력된 클래스 명과, 리소스에 등록된 클래스 명이 다르면, dlg 를 domodal 할 때 -1 내면서 프로그램 종료 된다.. 이럴땐 .rc 파일에도 변경한 클래스명과 같은 값으로 변경 해야 한다. IDD_TEST_DIALOG DIALOGEX 0, 0, 320, 200 STYLE DS_SETFONT | WS_POPUP |..
2021.06.24