본문 바로가기

컴퓨터/MFC_API32

CWnd에 대하여 원본 작성일 : 2001-04-03 오전 1:25:37 수정일 : 2010-01-15 오전 00:16 서론 MFC를 하는 사람들이 한 번은 시도해 보게 된다는 일, MSDN의 CWnd 설명 해석하기. 그만큼 MFC를 함에 있어 CWnd를 이해하는 것은 중요하다. MFC의 수많은 컨트롤들이 CWnd를 상속받기 때문에 CWnd를 제대로 이해하게 되면 컨트롤을 다루기 쉬워지며, 더 나아가 MFC를 이용하는 것이 매우 편해진다. MFC를 배우는 사람이 겪는 전형적인 문제는 책에 있는 예제를 따라해서 뭔가 하기는 했는데, 자신이 작성해 놓은 코드가 어떻게 그 일을 하게 되는지 알기 쉽지 않다는 것이다. 그 이유는, MFC는 매우 방대한 라이브러리이기 때문에 MFC의 전체적인 모습을 알지 못하고 그냥 중간에 조금 .. 2010. 1. 15.
전체 화면으로 만들기 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.
task bar 감추기 CWnd *pTaskBar = FindWindow("Shell_TrayWnd",NULL);pTaskBar->ShowWindow(SW_HIDE); 중요 : task bar를 감춘 프로그램은 task bar를 다시 보여주는 일도 반드시 해야한다. 그렇지 않으면 task bar가 없어져서 나타나지 않는다. task bar의 이름은 Spy++를 이용하면 쉽게 알 수 있다. 2009. 12. 27.