반응형

전체 글 230

MFC 에서 서로 다른 클래스의 핸들 얻어오기

프로그램의 뼈대를 이루는 클래스들 간의 상호 참조 1. CWinApp 참조 AfxGetApp 함수는 CWinApp 파생클래스의 인스턴스 포인터를 반환해 준다. CWinApp* AfxGetApp(); 2. 메인 프레임 윈도우 참조 AfxGetMainWnd 함수는 메인 프레임 클래스의 인스턴스 포인터를 반환해 준다. CWnd* AfxGetMainWnd(); 3. 뷰에서 프레임 윈도우/다큐먼트 참조 뷰에서 다큐먼트 참조 CDocument* CView::GetDocument() const; GetDocument()는 CView 클래스의 멤버 함수이다. 4. 뷰에서 자식 프레임 윈도우 참조 뷰 클래스에서 그 뷰를 둘러싸고 있는 프레임 윈도우를 참조하려면 GetParentFrame 함수를 사용한다. 프레임 윈도우는..

Programming/MFC 2008.05.30

Visual Studio 6.0 + Windows XP 설치 해결법

Visual Studio 6.0 + Windows XP 설치 해결법 Posted at 2006/12/14 00:07 Filed under 분류없음 Visual Studio 6.0은 Windows XP에서 설치되지 않는 경우가 있습니다. 보통 vs60wiz.exe가 이유없이 죽어버리는 오류로 어떤 프로그램이 원인인지는 MS도 잘 모릅니다(...) MS의 Knowledge Base에서는 Performance Counter를 원인으로 보고 해결책을 주고 있으며, 단순히 setup.exe를 호환성 모드로 실행하면 된다는 글도 있기는 합니다. 하지만 MS에서 제시한대로 레지스트리에서 열댓개가 넘는 것들을 고치는 것은 너무 피곤하고 귀찮으며 심지어 그마저도 제대로 되지 않았다는 사람도 많습니다-_-; 위 두 해결법..

Programming/MFC 2008.05.28

C 함수별 실행시간 측정

코드 실행 시간 측정 방법 정리 - 한양대 바라미 6기 이흔진 이번에 알아보는 것은 Visual C++에서 시간을 측정하는 방법입니다. Visual C++에서 시간을 측정하는 방법은 여러 가지가 있는데 . ANSI C의 함수를 이용하는 방법부터 윈도우 API 함수를 이용하는 방법까지 다양합니다. 그리고, 각각의 방법을 사용하기 위해서 함수에 따라 적절히 헤더를 Include 해줘야 하기도 합니다. 다음은 DEVPIA와 MSDN 을 통해서 찾은 여러 가지 시간 측정하는 방법입니다. 여러 님들이 올리신 글들을 제가 한번 정리해 본 것이구요, 소스를 직접 테스트 해보기도 하고 수정을 하기도 했습니다. 그리고 각각의 방법들은 형태는 다르지만 모두 공통점이 있습니다. 바로 실행 시간을 측정하기 위해서 원하는 루틴..

Programming/C/C++ 2008.05.16

MFC 다이얼로그 기반 툴바 붙이기

www.devpia.com 의 김동천(winicon)님이 올려주신 글 내용 중 일부 -------------------------------------------------------------- 인터넷에서 겨우 구한겁니다. 도움이 되었으면 합니다. CDLGTOOLBAR1Dlg의 헤더에 CToolBar cToolBar; BOOL CDLGTOOLBAR1Dlg::OnInitDialog() { ~ ~ ~ mInitToolbar(); void CDLGTOOLBAR1Dlg::mInitToolbar() { if (!cToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_D..

Programming/MFC 2007.04.27

다이얼로그에 드래그앤 드랍

다이얼로그의 프로퍼티 시트에서 Accept Files를 체크하시거나 혹은 OnInitDialog()에다 DragAcceptFiles(); 를 추가하세요 그리고 cpp 파일의 메세지 맵에다 ON_WM_DROPFILES() 를 추가하시고 헤더에는 afx_msg void OnDropFiles( HDROP hDropInfo ); 를 추가해주시고, 다시 cpp 파일에다가 void CMyDialog::OnDropFiles( HDROP hDropInfo ) { } 를 작성해주시면 됩니다. 그리고 아래는 OnDropFiles()의 예제인데, 퍼온 것입니다. int nFiles; char szPathName[MAX_PATH]; // 드롭된 파일의 갯수 nFiles=DragQueryFile(hDropInfo, 0xFFFF..

Programming/MFC 2007.04.27

WSAAsycSelect

WSAAsyncSelect WSAAsyncSelect 함수는 지정된 소켓에 대해서 특정한 네트웍 이벤트에 대한 윈도즈 통지 메시지를 받을 것인지 않받을 것인지 설정하는 함수입니다. - 좀 양이 많네요^^ 그래두 중요한 부분이니까 꼭 숙지 하도록 해요. int WSAAsyncSelect ( SOCKET s, HWND hWnd, unsigned int wMsg, long lEvent ); Parameters s [입력] 이벤트 통지를 설정할 대상 소켓 기술자 hWnd [입력] 네트웍 이벤트가 발생 했을 때 메시지를 수신할 윈도즈 핸들 wMsg [입력] 네트웍 이벤트가 발생했을 때 수신될 메시지 lEvent [입력] 어플리케이션이 수신할 네트웍 이벤트의 비트조합 Remarks WSAAsyncSelect 함수는..

Programming/C/C++ 2007.03.14

c언어에서 gotoxy 쓰기

gotoxy 함수는 turbo.h 파일..즉 터보C에서 지원하는 함수이다. 비쥬얼 스튜디오에서 제공하는 라이브러리에는 없는 함수이기도 하다. 각 예제들을 보고 있으면 gotoxy 함수가 많이 나오기에 팁을 올려본다. 먼저 #include 이게 있어야 한다. void gotoxy(int x, int y) { COORD Cur; Cur.X=x; Cur.Y=y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Cur); } 위와 같은 함수를 하나 만들면 gotoxy(x좌표, y좌표) 함수를 사용할수 있게 된다. 물론 void gotoxy(int x, int y); 함수 선언도 해줘야 하구...ㅎㅎㅎ

Programming/C/C++ 2007.01.05

프리젠테이션 잘 하는 법?

요즘은 너나 할 것 없이 A4 한장짜리 문서면 될 것도 프리젠테이션을 만드는 세상입니다. 문제는 그저 곁눈질로, 프리젠테이션하는 것을 어깨너머 배웠을뿐, 정말 잘하려면 시간이 걸린다는 것이죠. 물/론/ 비법도 있습니다. 프리젠테이션이 고수가 되려면... 잡스의 키노트를 보고 따라하면 됩니다. 자, 그럼 왜 잡스의 키노트가 그리 매력적인지 한번 볼까요? 고수들은 화면에 무언가를 띄워놓고 딴소리를 너저분하게 늘어놓지 않습니다. 화면에 나타내면서 그냥 읽어버리던가, 딱딱 시간을 맞추죠. 흔히 하는 오류중 하나가, 슬라이드를 띄워놓고는 전후과정을 설명하느라고 혼자서 떠드는 겁니다. 그새 청중들은 슬라이드를 다 읽고, 막상 슬라이드를 설명할 때면 다 읽은 내용인지라 재미없어 하죠. 잡스는 결코 그렇게 하지 않습니..

강좌 2006.09.15
반응형