본문 바로가기
반응형

C & C++444

기존 MFC UI 에 리본바 적용하기 기존 MFC Scribble Sample에 VS2008 Feature Pack에 포함된 MFC의 Ribbon UI를 적용해 보겠습니다. Visual C++ 2008 Feature Pack Download Visual C++ 2008 Feature Pack Documentaion 우선 기존 Scribble Sample을 가져 와서 VS 2008 로 Open 합니다. \Microsoft Visual Studio 9.0\Samples\1033\AllVCLanguageSamples\C++\MFC\ole 에 위치해 있습니다. 1. afxcontrolbars.h 헤더 추가 우선 리본을 적용하기 위해서 헤더를 포함하여야 합니다. stdafx.h 파일을 열어 상단에 afxcontrolbars.h 를 include합니다.. 2012. 1. 25.
환경변수 레지스트리에 저장법 //ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ//ㅡ,ㅡ J2EE를 어플리케이션을 개발하기 위한 개발환경을 설정할때 환경변수 설정은 필수적이다. 이를 어떻게 하면 자동화 할수 있을까 ? 환경변수가 저장되는 곳은 윈도우즈 레지스트리이다. 현재 사용자에 대한 사용자 변수의 환경변수가 저장되는곳은HKEY_CURRENT_USER\Environment 이다. 이곳에 원하는 환경변수를 저장하면 되는것이다. 레지스트리에 키를 추가할때 사용할수 있는 명령어로 reg 가 있다. 예를들어 JAVA_HOME 이라는 환경변수를 추가한다고 해보자. J2sdk가 설치되어 있는 위치가 E:\j2ee\j2sdk1.4.2_10 이라면 아래와 같이 .. 2012. 1. 6.
MFC 툴바 트루컬러 이미지 사용 1. 사용할 메뉴를 생성하고 ID를 지정합니다. 위의 그림은 제가 하고 있는 프로그램에서 사용하는 메뉴를 직샷해서 넣었습니다. 사용자의 마음데로 생성해주세요. 2. 이번에는 Toolbar와 메뉴의 ID를 맞춰주어 같은 역할을 할수 있게 해줍니다. 원하는 툴바 버튼을 선택후 속성창에서 변경해 줍니다. 3. 메뉴와 툴바의 아이디를 매핑시켰다면 매킹시킨 메뉴의 이벤트를 생성합니다. 현재 위 이벤트를 모두 추가해 놓은 상태이기 때문에 Add and Edit 버튼이 비활성화 되어 있습니다. COMMAND와 UPDATE_COMMAND_UI를 App파일에 추가합니다. COMMAND : 메뉴에 대한 코딩을 합니다. 클릭시 이벤트 정의. UPDATE_COMMAND_UI : 메뉴를 활성화/비활성화 하는 것과 같은 메뉴에 .. 2011. 12. 19.
모달리스 창이 항상 위에 있는 문제 해결 모달로 다이얼로그를 만들면 포커스를 항상 잡아먹기 때문에 모달리스로 만드는 경우가 많다. 이렇게 하면 부모 다이얼로그로 포커스는 넘어가지만 정작 모달리스 창이 더 위에 보이는 경우가 있다. 일반적인 경우 다음과 같이 모달리스를 생성한다. status_dlg->Create(IDD_STATUS_DIALOG, this); 하지만 다음과 같이 하면 모달리스 창이 뒤로 갈 수 있다. status_dlg->Create(IDD_STATUS_DIALOG, CWnd::GetDesktopWindow()); 2011. 12. 16.
디버그, 릴리즈 모드에서 디버깅 하기 디버그 릴리지 모드에서 디버깅 하기 디버그 모드에서는 TRACE Trace("%d", 111); 릴리즈 모드에서는 OutputDebugString 으로 CString debug_; debug_.Format("%d", 111); OutputDebugString(debug_); DebugView로 보면 된다. 2011. 12. 16.
Slider 포커스 이동 - 슬라이더 MFC에서 마우스휠이나 키보드 입력을 처리하다보면 꼭 생기는 문제가 slider control등이 그 키에 반응을 한다는 것이다. 예전에 키보드의 방향키에 의해서 silder control이 옮겨질 때는 pretranslate message에서 아예 return을 시키는 편법을 썼었는데 마우스 휠은 그렇게 하기 귀찮더라. 그래서 devpia를 뒤지던 중 고마우신 분이 아주 cool하게 4줄자리 소스를 써 주셨다. HWND hWnd = ::GetFocus(); HWND NextWnd; NextWnd = ::GetNextDlgTabItem(m_hWnd, hWnd, TRUE); ::SetFocus(NextWnd); 해당 Item의 바로 옆으로 포커스가 옮겨지게 된다. 2011. 12. 16.
반응형