본문 바로가기
반응형

분류 전체보기778

[MFC] UpdateData(TRUE) or UpdateData(FALSE) 구분하여 사용하기 1. 언제 사용할까? - UpdateData( ) 함수는 말 그대로 데이터를 업데이트 할 때 사용하는 함수 2. 사용 방법 - 컨트롤에 있는 값을 변수로 넣어 갱신하고 싶을 때에는 UpdateData(TURE) 사용 - 변수에 있는 값을 컨트롤에 넣어 갱신하고 싶을 때에는 UpdateData(FALSE) 사용 3. 어떻게 저렇게 쓸수 있게 되는 걸까? - 그냥 무조건 갱신되는게 아니다! 전제 조건으로 어떤 변수가 어떤 컨트롤과 연결되어 있는지에 대하여 먼저 이야기를 해야지 알 수 있다. 그래서 DDX(DoDataExchange)에 보면 어떤 컨트롤 ID가 어떤 변수와 연결되어져 있는지 미리 선언해 놓았다. 그래서 UpdateData 함수가 호출되면 서로 간의 값 교환이 일어 난다. 단, 매개변수가 TRU.. 2011. 2. 11.
[Dialog] Dialog의 IDOK, IDCANCEL의 BN_CLICKED메시지 이 두 ID는 (IDOK, IDCANCEL) 의 BN_CLICK메시지는 MFC에 의해 정의 되어있어서 사용시 주의를 요한다. 특정메뉴를 눌렀을때 나타나는 메시지 박스의 ok버튼을 눌렀을때 발생하는 메시지 처리함수의 형태는 아래와 같고, 이 클래스는 CDialog클래스로 부터 상속받은것이다. void CDialogone::OnOK() { CDialog::OnOK(); } 일반적인 메시지들의 메시지를 처리하는 함수는 클래스 위저드로 메시지 생성시 3가지 장소에 소스가 추가되지만, 이 두 ID는 cpp파일의 message_map 부분에 ON_BN_CLICKED(IDOK, OnOk) 와 같은 메시지처리펑션지정하는부분이 나타나지 않는다. 미리 가지고 있기 때문이다. 일반적인 사용에서는 문제가 되지 않지만. 만약 .. 2011. 2. 11.
CArray를 이용한 배열 선언 이해 이번에 알아볼 것은 바로 CArray 클래스 입니다. 일단 32bit(4Byte) 환경이라고 미리 이야기를 하겠습니다. 그래야 포인터 개념에 대한 설명이 맞기 때문이죠. 시간이 흐르면 64bit(8Byte) 많이 쓰게 될 텐데 그때 가서 포인터 크기가 왜 저래요... 이런 소리 하시면 완전 곤란함 ㅡ_ㅡㅋ CArray는 MSDN을 검색하면 다음과 같은 정보를 얻을 수 있죠. template class CArray : public CObject 여기서 첫 번째 매개변수는 배열에 저장된 객체의 데이터 타입, 두 번째는 배열에 저장된 객체에 접근하기 위해 사용하는 인수 타입~ 그냥 저걸 통째로 받아들여서 이해할 수 있는 아름다운 .. 2011. 2. 11.
[Dialog] 대화상자 실행방법 1. 대화상자의 두 가지 실행 방식 ① Modal 방식 첫 번째, Modal 방식의 Dialog(대화상자)는 방금까지 작업했던 창을 아무리 찍으려고 애를 써도 방금 막 화면에 나타난 Dialog만을 컨트롤 할 수 있는 상태가 되는 것이다. 이때 새로 생긴 Dialog가 닫히기 전까지는 죽었다 깨도 밑에 Dialog를 못 쓰는 것이다. 예를 들자면 "한글" 같은 문서 작성 프로그램에서 문서 작업 하다가 글꼴 바꾸려고 폰트 대화상자를 열었을 때, 폰트 설정 대화상자를 닫을 때까지는 죽었다 깨어나도 아래에 있는 본문의 글씨를 수정할 수 없는 것이다. 물론.. 나중에 나올 버전은 바뀔 수도 있겠지만 최소한 한글 2007은 그렇게 되도록 짜여져 있다. ② Modeless 방식 두 번째, Modeless 방식의 D.. 2011. 2. 11.
런타인 오류란(Runtime Error)? - 런타임 오류(Runtime Error)란? 어떤 프로그램을 만들 때 그 프로그램의 소스 코드를 모두 다 짠 후에는 일반적으로 다음과 같은 과정을 거친다. (소스 코드를 원하는 동작에 맞게 사고하여 만들어가는 과정을 '짜다' 혹은 '코딩하다'라고 한다) 소스 코드를 컴파일한다 -> 리소스(resource) 및 오브젝트(object) 파일 링크(link) 및 연계 편집 -> 실행 파일 생성 -> 프로그램 실행 -> 종료 1) 컴파일타임 오류(Compile-time Error) 이 과정 중에서, 제일 처음 과정(소스 코드 컴파일)에서 발생하는 오류는 컴파일타임 오류 라고 한다. 컴파일 도중에 발생한 오류를 지칭하는 말이다. 이 오류는 대개 소스 코드 자체의 문법적 오류(syntax error)로 인하여 발.. 2011. 2. 11.
[Dialog] Modeless Dialog(모달리스/모델리스 대화상자) Modeless Dialog(모달리스/모델리스 대화상자) 1. Modal 과 Modeless Modal은 대화상자가 출력되고 있는 동안 프로그램의 모든 제어권을 독점하고 있어 대화상자가 종료되기 전까지 다른 작업을 할 수가 없다. Modeless는 대화상자가 출력되고 있는 동안에도 다른 작업을 할 수가 있다. 2. 대화상자 출력시 차이점 구분 Modal Modeless 생성 DoModal Create 종료 EndDialog DestroyWindow 인스턴스 선언 지역변수 동적할당 - Modeless는 DoModal 함수로 생성된 것이 아니기 때문에 EndDialog를 사용할 수 없다. - IDOK 또는 IDCANCEL 같은 ID를 가진 버튼을 만들지 않는 것이 좋으며 꼭 이 버튼을 추가해야 할 경우에는 .. 2011. 2. 11.
반응형