본문 바로가기

MFC

[MFC] Dialog에 ScrollView,View 붙이기 출처 : http://ninvu.egloos.com/2761264 Dialog Base프로젝트에 View를 붙여보자 예) 1. Dialog base로 이름이 ViewTest라는 프로젝트를 생성해 보자.. CViewTestApp, CViewTestDlg 라는 클래스가 생긴다.. 2. Dialog에 붙일 View를 생성해보자.. CTestView 클래스를 생성하고 CSrollView에서 상속을 받자.. (View는 ScrollView로 테스트 해보자.. 일반뷰도 마찬가지다..) 3. View도 만들어 졌으면.. ViewTestDlg.cpp에 View를 include하고 OnCreate()에 다음과 같이 추가해 보자.. CRuntimeClass *pObject; pObject = RUNTIME_CLASS( C.. 더보기
[MFC] MFC 샘플 코드 모음 MSDN에서 제공하는, MFC 샘플 코드 모음.http://msdn.microsoft.com/ko-kr/library/482ck6x8(v=vs.90).aspx 더보기
[MFC] 작업표시줄 숨기기/보이기 작업표시줄 숨기기 APPBARDATA stAppBarData; ZeroMemory( &stAppBarData, sizeof(stAppBarData) ); stAppBarData.cbSize = sizeof(stAppBarData); stAppBarData.hWnd = (HWND)FindWindow(_T("Shell_TrayWnd"), NULL); stAppBarData.lParam |= ABS_AUTOHIDE; SHAppBarMessage(ABM_SETSTATE, &stAppBarData); 작업표시줄 보이기 주의! 숨기기 코드를 실행하면, MFC프로그램을 종료해도, 작업표시줄이 계속 숨겨진 상태이다. 프로그램 종료전에 보이기 코드를 이용하여, 작업표시줄 상태를 복귀시킨다! APPBARDATA stApp.. 더보기
[MFC] abs() 함수 abs() 의 반환값은 int 형 이다. double 형의 절대값을 얻고자 하는 경우 -> fabs() long 형의 절대값 -> labs() 더보기
Win32 API 주요 함수 출처:http://bloodguy.tistory.com/44 AdjustWindowRect : BOOL AdjustWindowRect(LPRECT lpRect, DWORD dwStyle, BOOL bMenu); 작업 영역의 크기는 윈도우 크기에서 타이틀 바와 경계선, 메뉴, 스크롤 바 등의 영역을 제외한 영역이다. 일반적으로 MoveWindow, SetWindorPos 등의 함수로 윈도우 크기는 원하는대로 바꿀 수 있지만 작업 영역의 크기를 원하는대로 설정하는 방법은 없다. 작업 영역을 특정한 크기대로 설정하려면 이 함수로 원하는 윈도우 크기를 먼저 계산하고 MoveWindow 등의 함수로 윈도우 크기를 변경해야 한다. 이 함수는 윈도우의 스타일(타이틀 바의 유무, 타이틀 바의 높이, 경계선의 두께)와 .. 더보기
[MFC] 파일에 사용한 한글이 깨질때.. CStdioFile #include //추가 _tsetlocale(LC_ALL, _T("kor")); // 파일 열기전에 더보기
MFC 네트워크 드라이버 연결 ShellExecute함수를 이용하여, CMD에 명령어를 입력하는 방식으로, 네트워크 드라이버를 연결하였다. CString strcmd; strcmd.Format(_T("/c net use Q: \\\\%s\\%s"), path, foldername); ShellExecute( NULL, _T("OPEN"), _T("CMD"), strcmd, NULL, SW_HIDE); * '/c'부분 처럼 루트 경로로 이동하여, net use명령어를 입력해야지만 정상동작함. 테스트시 별 문제 없이 연결되었으나, 현장 PC에서는 연결이 되지 않는 문제가 발생하였다. '/c'부분이 문제인듯 하여, 루트경로로 이동할 필요가 없는 bat(배치)파일을 만들어 net use명령어를 실행하는 방식으로 해결하였다. CStdioFil.. 더보기
MFC Socket 사용 추가 프로젝트 생성 후, CSocket을 사용할 경우. 1. stdafx.h 파일의 맨 마지막에 다음을 추가 #include 2. CWinApp::InitInstance(); 라인 밑에 다음과 같은 코드를 추가 if (!AfxSocketInit()) { AfxMessageBox(_T("윈도우 소켓 초기화에 실패햇습니다.")); return FALSE; } 더보기