본문 바로가기

Programming/Windows.MFC

(7)
다중 커멘트라인 입력 받기 MFC 프로그램 하다 보면 커멘드 라인으로 입력을 받아야 할 때가 많이 있다. 방법은 아래와 같다. CString strArglist[MAX_PATH]; int nArgs; int i; szArglist = CommandLineToArgvW(GetCommandLineW(), &nArgs); if( NULL == szArglist ) { AfxMessageBox(_T("CommandLineToArgvW failed")); } else { for( i = 0; i < nArgs; i++ ) AfxMessageBox(strArglist[i]); }
Taskbar 숨기기 프로그램들을 실행하다보면 하단에 taskbar에 실행중인 목록들이 보이는데, 너무 많은 목록들의 나열로 인해서 지저분 할 때가 있다. 이럴때는 다음과 같이 taskbar를 숨겨서 깔끔한 상태를 유지하자. COM Lib에 보면 다음과 같이 taskbar에 대한 내용을 정리 하고 있다. DECLARE_INTERFACE_(ITaskbarList,IUnknown) { STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID* ppvObj) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; STDMETHOD_(ULONG,Release)(THIS) PURE; STDMETHOD(ActiveTab)(HWND) PURE; STDMETHOD(AddTab)(HWN..
Dialog 숨기기 MFC 관련 프로그램에서 해당 Dialog를 숨기고 싶다면 다음과 같이 Windows Style을 수정하면된다. MSDN 참고 virtual BOOL ModifyStyleEx( DWORD dwRemove, DWORD dwAdd, UINT nFlags ); Parameters dwRemove The extended styles to be removed from the current windows styles. dwAdd The extended styles to be added from the current windows Style. nFlags Windows positioning flags, For a list of possible values see the SetWindowPos function in t..
MFC 파일 입출력(CFile 사용) MFC에서는 파일 입출력할때 쉽게 도와주도록 CFile을 제공한다. 이를 이용해서 간단하게 파일을 출력하는 예제를 만들어 보도록 하겠다. (말로 하는 것 보다 보는게 훨씬 바를테니깐) CString temp; temp = _T("\"Demo Page \"\r\n"); temp += _T("\"If you want show this page, you must save file\"\r\n"); CFile *pFile = NULL; int length = temp.GetLength(); pFile = new CFile(_T("C:\\demo.txt"), CFile::modeCreate | CFile::modeWrite | CFile::shareDenyNone); pFile->Write(temp, length*..
종료 단축기 만들기 MFC에서 종료는 [Alt+F4]로 간단하게 종료 할 수 있다. 하지만 특정키를 누르거나 다른 단축키로도 종료를 원한다면 직접 프로그래밍 상에서 소스를 추가해줘야 한다. 다음은 프로그래밍 상에서의 추가 방법이다. 예제) [Alt+X]를 눌렀을 경우 프로그램이 종료되도록 하는 코드 void Cmfc_testView::OnSysChar(UINT nChar, UINT nRepCnt, UINT nFlags) { // TODO: Add your message handler code here and/or call default if(nChar == 'x' || nChar == 'X') { ASSERT(AfxGetMainWnd() != NULL); AfxGetMainWnd()->SendMessage(WM_CLOSE)..
_tcstok 사용방법 strtok(_tcstok)는 문자열을 특정 기준에 따라 나누어 주는 함수이다. TCHAR.H routine _UNICODE & _MBCS not defined _MBCS defined _UNICODE defined _tcstok strtok _mbstok wcstok _tcstok strtok_l _mbstok_l wcstok_l 예를 들어 string[] = _T("My Friends are honest. \n But, JK is very stupid"); 라는 문장이 있다 이 문장에서 \n을 기준으로 두개의 문자열로 나누고 싶다면 다음과 같이 사용하면 된다. 특정 기준을 사용하기 위해 배열에 기준에 대한 항목을 넣어준다. TCHAR seps[] = _T("\t\n"); //\t와 \n이 나오면 문자..
각종 문자열 변환 방법 문자열 변환 TCHAR str[256]; CHAR str2[256]; int num; LONG numLong; DOUBLE numDbl; CString sctr; 1. CHAR -> TCHAR mbstowcs(str, str2, 256); OR MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, str2, strlen(str2), str, 256); 2. TCHAR -> CHAR wcstombs(str2, str, 256); 3. 문자열-> 정수 num = _ttoi(TCHAR *str); 3-1. 문자열 -> LONG형 정수 numLong = _wtol(str2); 3-2. 문자열 -> 실수 numDbl = wcstod(str2, NULL); 4. 정수 -> 문자열 _itow..

반응형