본문 바로가기

분류 전체보기691

명확하지 않게 다가오는 컴파일 에러 메세지들과 그 뜻 글에 대한 공지 만약 검색 엔진에 컴파일 에러 메세지를 입력하여 이 글을 읽게 되었다면, 에러 메세지와, 에러가 난 코드를 답글로 달아 주세요. 같이 풀어 봅시다. 컴파일러의 에러 메세지를 보고 그 원인을 곧바로 생각하기가 가끔 어려울 때가 있다. 하지만 에러가 난 곳을 제대로 찾거나 조금만 들여다 보면 물론 컴파일러 제작자들의 노고에 감사하지 않을 수 없을만큼 에러 메세지의 의미가 명확해 지는데, 이 글은 그와 같은 경우들에 대해서 살펴 보도록 한다. 내가 작업하며서 만나게 될 그와 같은 경우들을 정리하는 것이기 때문에 꽤 오랜 기간에 걸쳐 추가/수정이 이루어질 것으로 생각하고 있다. 사용 컴파일러에 대한 표시는 다음을 따른다. VC6 : Visual Studio 6.0 VC9 : Visual Stud.. 2009. 12. 30.
멤버 함수의 포인터를 배열에 넣는 방법 선언 [code cpp] bool (CTest::*my_arr_of_func_prt[])(int) = { CTest::Up, CTest::Down, CTest::Left, CTest::Right }; [/code] 사용 [code cpp] CTest t; (t.*my_arr_of_func_prt[1])(10); // t.Down(10); 과 같다. [/code] 만약 현재 클래스가 CTest 라면, [code cpp] (this->*my_arr_of_func_prt[1])(10); // t.Down(10); 과 같다. [/code] 2009. 12. 27.
전체 화면으로 만들기 menu등의 창이 남아 있고, frame window의 모양을 하고 있는 application을 전체 화면으로 만들기 위해서는, task bar를 없애고, 윈도우의 크기를 재조정해 주면 될 것이다. 그러나 일반적으로 전체 화면으로 바꿀 때는 frame이 없는 윈도우를 사용할 경우가 많으므로 여기서는 그러한 방법에 대해 이야기 한다. 즉, powerpoint의 slide show를 할 때와 같은. 기본 원리를 이해하면 다른 경우도 쉽게 응용이 가능하다. 실제 작업 순서는 다음과 같다. 일단 task bar를 감추고, 모니터의 크기를 알아낸 후, 그 크기만한 팝업 윈도우를 만들어 그것을 화면에 나타나게 하면 된다. 이 때 '팝업 윈도우'란 CWnd 에서 상속을 받은 윈도우로, frame 도 없고 border.. 2009. 12. 27.
팝업 윈도우 만들기 dialog template에서 새로운 창을 만드는 것이 아니라, 완전 별도의 팝업 창은 다음과 같이 만든다. //팝업창이 사용할 window class 등록 CString strClass = AfxRegisterWndClass( CS_VREDRAW | CS_HREDRAW, ::LoadCursor(NULL, IDC_ARROW), (HBRUSH)GetStockObject(WHITE_BRUSH), ::LoadIcon(NULL, IDI_APPLICATION)); //팝업 class 생성. 이 때, window name([mypopup])은 원하는 대로 해주면 된다. // [_lineBisection]은 CWnd 형 변수. _lineBisection.CreateEx(0, strClass, "mypopup" , .. 2009. 12. 27.