프로그래밍/VC++ 58

XP에서 IDC_HAND가 없다고 나올 때

#define IDC_HAND MAKEINTRESOURCE(32649) 이렇게 해준다. 커서 바꾸는 건 BOOL CLemonViewerDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { // TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다. if ( (pWnd == GetDlgItem(IDC_BTNFILEOPEN)) || (pWnd == GetDlgItem(IDC_BTNSTART)) ) { HCURSOR hCursor = AfxGetApp()->LoadStandardCursor(IDC_HAND); ::SetCursor(hCursor); return 1; } else return CDialog::OnSetCursor(pWnd,..

GDI+를 이용 Drop Shadow 주기

void CGDIPlusTestDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // 그리기를 위한 디바이스 컨텍스트 SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc()), 0); // 클라이언트 사각형에서 아이콘을 가운데에 맞춥니다. int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // 아..

에디트박스에서 엔터키를 누르면 어떤 처리를 하도록.

BOOL CYakdoDlg::PreTranslateMessage(MSG* pMsg) { // TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다. if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE) { return TRUE; } if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) { CWnd *pWnd = this->GetFocus(); if ( pWnd == GetDlgItem(IDC_EDTSANGHO)) { OnBnClickedBtnsearch(); return TRUE; } else return TRUE; } return CDialog::PreTranslateM..

ActiveX에 CDialog 붙이는 법

음.. ActiveX에 CScrollView를 붙이면 디자인한 크기대로 되지 않고 자꾸 스크롤바가 생기기 때문에 귀찮아진다. 그래서 그냥 CDialog 를 붙이는 방법을 생각해 봤다. 1. ActiveX에서 다이얼로그를 만들고 그걸 더블클릭해서 CDialog Based 클래스를 하나 생성한다. 2. ActiveX의 Ctrl 클래스에 위에서 만든 클래스형의 멤버변수를 하나 선언한다. (예 : CMainFormDlg m_MainFormDlg; ) 3. 생성자가 아닌, 반드시 OnCreate(WM_CREATE) 이벤트 핸들러에 다음과 같이 한다. int CaxPreviewNoteCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (COleControl::OnCreate(..

스크롤 뷰에 이미지파일을 올리고 스크롤 하는 예제

출처 : http://blog.naver.com/ccwii?Redirect=Log&logNo=90013295624 /* 스크롤 뷰에 이미지파일을 올리고 스크롤 하는 예제/*************************************************************************************/1. 뷰의 OnInitialUpdate에서BITMAP bmpInfo; m_Bitmap.m_hObject = (HGDIOBJ)LoadImage( NULL, "Image.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION | LR_DEFAULTSIZE ); m_Bitmap.GetBitmap( &bmpInfo ); m_nBmpHe..