2017년 4월 19일 수요일
2017년 4월 18일 화요일
MFC ListCtrl Header back color
1.1 CHeaderCtrl를 상속받은 클래스를 생성한다.
1.2 Class view에서 OnEraseBkgnd, OnNMCustomdraw를 추가한다.
1.3 OnEraseBkgnd는 return FALSE; 한다.
2.1 CListCtrl를 상속받은 클래스를 생성한다.
2.2 PreSubclassWindow()를 추가한다.
2.3 2.1에서 만든 클래스에 1.1에서 만든 크래스를 멤버 변수로 추가한다.
2.4 2.2함수에 m_listHeader.SubclassWindow(::GetDlgItem(m_hWnd, 0)); 요로코롬 추가한다.
3.1 1.2 에서 만든 OnNMCustomdraw() 함수에 그리기를 한다.
MyListHeader.h/MyListHeader.cpp
[참조]http://pingfan.egloos.com/7450045
1.2 Class view에서 OnEraseBkgnd, OnNMCustomdraw를 추가한다.
1.3 OnEraseBkgnd는 return FALSE; 한다.
2.1 CListCtrl를 상속받은 클래스를 생성한다.
2.2 PreSubclassWindow()를 추가한다.
2.3 2.1에서 만든 클래스에 1.1에서 만든 크래스를 멤버 변수로 추가한다.
2.4 2.2함수에 m_listHeader.SubclassWindow(::GetDlgItem(m_hWnd, 0)); 요로코롬 추가한다.
3.1 1.2 에서 만든 OnNMCustomdraw() 함수에 그리기를 한다.
MyListHeader.h/MyListHeader.cpp
[참조]http://pingfan.egloos.com/7450045
2017년 4월 17일 월요일
MFC Modeless delete
Ddialog를 지역변수로 Modeless로 생성할때 삭제를 하려면
1. OnClose()를 추가
CDialog::OnClose(); 요건 지움
void CTestDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
if( m_hWnd )
{
DestroyWindow();
}
//CDialog::OnClose();
}
2. PostNcDestroy()를 추가
void CTestDlg::PostNcDestroy()
{
// TODO: Add your specialized code here and/or call the base class
delete this;
CDialog::PostNcDestroy();
}
를 하면 됩니다.
1. OnClose()를 추가
CDialog::OnClose(); 요건 지움
void CTestDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
if( m_hWnd )
{
DestroyWindow();
}
//CDialog::OnClose();
}
2. PostNcDestroy()를 추가
void CTestDlg::PostNcDestroy()
{
// TODO: Add your specialized code here and/or call the base class
delete this;
CDialog::PostNcDestroy();
}
를 하면 됩니다.
2017년 2월 19일 일요일
Gidplus를 사용한 MFC 버튼 이미지( Select, Disable, Mousehover, MouseLeave)
Gdiplus를 사용해서 resource의 이미지를 가져와 버튼에 이미지를 올리는 클래스다.
GdiplusBitmapBtn.h/GdiplusBitmapBtn.cpp
Bitmap 변수가 NULL일때
GdiplusStartupInput gdiStartUp;
::GdiplusStartup( &m_gdiToken, &gdiStartUp,NULL);
::GdiplusShutdown(m_gdiToken);
를 추가해 준다.
< 퍼갈땐 퍼간다고 남겨주세요. >
GdiplusBitmapBtn.h/GdiplusBitmapBtn.cpp
Bitmap 변수가 NULL일때
- 생성자에
GdiplusStartupInput gdiStartUp;
::GdiplusStartup( &m_gdiToken, &gdiStartUp,NULL);
- 소멸자에
::GdiplusShutdown(m_gdiToken);
- 해더에
ULONG_PTR m_gdiToken;
를 추가해 준다.
< 퍼갈땐 퍼간다고 남겨주세요. >
2017년 2월 14일 화요일
2017년 2월 8일 수요일
MFC에서 Add variable로 컨트롤의 변수나 클래스를 추가할때 스크립트 오류 메세지 발생시
DDX_ 가 호출되기 전에 DDV_가 작성되어 있으면 발생한다. DDX_가 먼저 작성되고 DDV_가 장성되도록 하자
ex) 이런 순서가 되도록
DDX_Text(pDX, IDC_EDIT, m_nInt);
DDV_inMaxUInt(pDX, m_nInt, 0, 1000);
ex) 이런 순서가 되도록
DDX_Text(pDX, IDC_EDIT, m_nInt);
DDV_inMaxUInt(pDX, m_nInt, 0, 1000);
피드 구독하기:
글 (Atom)