Study178 DDX 와 DDV MFC로 프로그램을 짜면 DDX와 DDV라는 것을 들어 볼 것이다. 자 그럼 그것이 무엇인지 간략히 정리해 보려구 한다. 우선 DDX란? Dialog Data Exchange 의 약자로 ' Exchange : 교환, 주고받음 맞바꿈 ' 으로 컨트롤과 변수간의 데이터 교환으로 보면 되겟다 MFC에서 프로젝트를 생성하면 아래처럼 기본적으로 생성되어 있다.(응용 프로그램 마법사에 의해미리 작성되어 있다.) void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } 우리가 간단히 에디트 창을 넣고 마법사로 변수를 등록하면 저 안에 자동으로 코드가 생성되게 된다. 예를 들면 아래 처럼 에디트 창을 넣고 멤버 변수와 연결하.. 2011. 12. 27. [MFC] 팝업메뉴 달기 (버튼 밑에 팝업메뉴 생성하기) 다이얼로그 박스 내에 버튼하나가 있는데 그 버튼을 누르면 버튼 밑으로 팝업 메뉴가 보이게끔 해보자. 1. 우선은 리소스에 Menu에다가 메뉴를 하나 추가하자. 난 간단히 아래처럼 추가하였다. ( 테스트 1 , 테스트 2 등록함) 2. 다이얼로그에 버튼을 달고 버튼 클릭시 이벤트를 처리할 수 있는 함수를 추가하고. 그 함수 안에 아래처럼 코드를 추가하자. void CTest_1Dlg::OnBnClickedButton1() { CRect rect; CMenu muTemp, *pContextMenu; GetDlgItem(IDC_BUTTON1)->GetWindowRect(&rect); // 윈도우 상에 버튼의 위치를 구해오고 muTemp.LoadMenu(IDR_MENU1);// 메뉴는 정의해 놓은 것 중 원하는.. 2011. 12. 19. 윈도우 64비트 구분 방법 (c, c++, api) 64비트 구분 함수 MSDN에서 제공하는 64비트를 구분할 수있는 API함수 BOOL WINAPI IsWow64Process( __in HANDLE hProcess, __out PBOOL Wow64Process ); 위 함수는 XP 서비스팩2, 2003 SP1 부터 지원되는 함수로 참고 할것! 아래 코드는 MSDN에서 발취했다. 필요할 때 긁어서 쓰면될듯~ #include #include typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); LPFN_ISWOW64PROCESS fnIsWow64Process; BOOL IsWow64() { BOOL bIsWow64 = FALSE; fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddre.. 2011. 12. 7. Debug Assertion Failed! ... File: f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dlgdata.cpp Line: 269 으하하..저번에도 이어 이번에도 위와 같은 에러가 발생하였다. 저번에 저런식의 에러는 분명이 컨트롤 ID를 잘못입력해서 발생했던것으로 기억하고 DoDataExchange 함수를 살펴보았다 오잉?? 모야 없는데?? 문제가 되는 부분은 라디오 버튼..;;; 그래서 아래와 같이 라디오 버튼만 하나 달랑 남겨두고 테스트를 진행하였다.. ----------------------------------------------------------------------------- void CTest_1Dlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDCANCEL, dddd); DDX_Radio(pDX, .. 2011. 12. 5. 이전 1 ··· 22 23 24 25 26 27 28 ··· 45 다음