프로그래밍 261

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

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..

Static이란

출처 : http://kin.naver.com/db/detail.php?d1id=1&dir_id=10104&eid=ukDpNofIvefLjPqW0k5r8h34KOV7Oilf 제 생각에는 static의 기본 정의를 먼저 아셔야 할 듯 합니다. 어떤 대상이 static으로 선언되어 있다면 이것이 의미하는 바는, 이 대상이 메모리상의 어떤 위치에 바인딩되는지 '컴파일타임'에 '정적으로' 바인딩되어 고정된다는 의미입니다. (혹은 링크타임에 되기도 합니다만, 여기서의 논의에서는 섞어서 사용하기로 하죠) 그래서, static으로 선언된 대상이 무엇이든 그것이 메모리의 어느 부분에 대응되는지는 컴파일타임에 결정되어 고졍될 수 있어야 합니다. 1) local static 변수 : 일반적으로 로컬변수는 스택 영역에 생성..

프로그래밍 2007.05.02

ActiveX 컨트롤에서 키보드 입력 처리하는 법

ActiveX 콘트롤에서 키보드 입력 처리하는 법 프로그래밍 노트 2004/12/08 20:04 http://blog.naver.com/kdsong/120008321045 SkdTestA_2004-09-15_21.29.28.zip Keyboard Handling for an ActiveX Control Kyung-dong Song SUMMARY 이 글에서는 ActiveX 콘트롤과 컨테이너 사이에서 키보드 명령을 처리하는 방법에 대한 제반 사항을 연구하고 그 내용을 정리한다. BASIS OF KEYBOARD HANDLING ActiveX 콘트롤과 그것을 표시하는 MFC 클라이언트 프로그램 사이에서 키보드 명령을 처리하는 것을 이해하기 위해서는 윈도우즈에서 키보드를 처리하는 방법부터 확실하게 이해하는 것이 ..

프로그래밍 2007.04.25

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..

Dialog에 ScrollView 상속받아 만든 클래스 붙이기

아래꺼 해봤는데 실제로 잘 된다. 출처 : http://ninvu.egloos.com/2761264/ Dialog Base프로젝트에 View를 붙여보자 예) 1. Dialog base로 이름이 ViewTest라는 프로젝트를 생성해 보자.. CViewTestApp, CViewTestDlg 라는 클래스가 생긴다.. 2. Dialog에 붙일 View를 생성해보자.. CTestView 클래스를 생성하고 CSrollView에서 상속을 받자.. (View는 ScrollView로 테스트 해보자.. 일반뷰도 마찬가지다..) 3. View도 만들어 졌으면.. ViewTestDlg.cpp에 View를 include하고 OnCreate()에 다음과 같이 추가해 보자.. CRuntimeClass *pObject; pObjec..