본문 바로가기
  • fishing...
  • eating...

MFC5

URL을 이용하여 파일 다운로드 하기. TCP/IP로 할 것인가? 살살 망설이다. 자바에서 URL을 이용하여 다운로드 받았던 기억이 나길래 검색을 해봤더니 아래와 같은 방법으로 가능하다는 것을 알게 되었다. URL을 알고 있을 때, 파일을 다운로드 해야할 경우 아래와 같은 코드로 작성할 수 있음을 알았다. 이렇게 하면 좀더 편하게 다운로드 할 수 있겠다. #include // 다운로드 성공과 실패 여부를 HRESULT 반환형을 통해 알 수 있다. HRESULT Download() { // 무조건 새로 다운로드 받고 싶으면, 다운로드 전 후에 다음 함수를 호출한다. // DelectUrlCacheEntry(sTemp0); HRESULT hr = URLDownloadToFile(NULL, "[URL PATH]/test.jpg", "[LOCAL P.. 2011. 4. 22.
바탕화면 DC 얻기/사용하기 API / 바탕화면 바탕화면도 하나의 윈도우입니다. 윈도우의 핸들을 가져오기 위해서는 GetDesktopWindow()라는 함수를 이용합니다. 또한 바탕화면에 무엇인가를 그리고 싶다던지 화면을 캡쳐하고 싶다면 바탕화면의 DC를 가져와 조작하면 된다. 또다른 방법은 윈도우가 NULL인 DC를 생성하면 된다고 하더군요. ex) HDC hDC = GetWinodwDC(NULL); HWND hWnd = GetDesktopWindow(); HDC hDC = GetWinodwDC(hWnd); // ... ReleaseDC(hWnd, hDC); 문자열 출력 방법 UINT SetTextAlign( HDC hdc, UINT fMode ); HDC hdc handle fMode set hdc sort infomation .. 2010. 5. 6.
MFC] CTreeCtrl의 트리 탐색 방법 MFC, CTreeCtrl의 서브 Tree를 탐색하는 방법을 작성해 봤다. 자주 보니 반가운 CTreeCtrl 아직 많은 부분을 이해하지 못했다. 함수의 인자로는 CTreeCtrl의 루트를 주엇다. 루트는 CTreeCtrl.GetRootItem(); 메서드로 쉽게 얻을 수 있다. void CTreeView::showObject( HTREEITEM hCurrItem ) { HTREEITEM hSubItem; TVITEM tvItem; TCHAR szItem[ 256 ]; //tvItem.cchTextMax = 256; //tvItem.pszText = szItem; //tvItem.mask = TVIF_TEXT | TVIF_HANDLE; while ( hCurrItem ) { //tvItem.hItem =.. 2009. 12. 21.
MFC] View를 획득하는 방법 프로그램내에서 클래스에서 CFrameWnd를 얻는 방법이다. 실행과 동시에 프로그램은 m_pMainWnd 변수에 View를 등록한다. 어디에서든지 AfxGetMainWnd()를 호출하면 CWnd*가 얻어지는데 이를 CMainFrame*로 변환해서 사용하면 된다 #include "MainFrm.h" void CMyView::GetMainFrame() { CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd(); } 특정 View를 얻으시려면 CMainFrame 내에서 얻는 함수를 작성하시면 됩니다. #include "MyView.h" #include "MyDoc.h" 이 처럼, 뷰와 도큐먼트를 선언한 헤더 파일을 포함하는 두 줄은 반드시 포함 되어 있어야 한다. 만약, 없게.. 2009. 12. 12.
[나를 괴롭히는 잔잔한 에러들] fatal error C1010: fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source? Wizard로 만든 프로젝트/솔루션을 이용할때 많이 볼 수 있는 에러다. 해결 방법은 다음과 같다. 프로젝트 속성 - 구성 속성 -> C/C++ -> 미리 컴파일된 헤더 -> 미리 컴파일된 헤더 만들기/사용의 속성을 미리 컴파일된 헤더 사용 안함으로 바꾸면 된다. project property -> Configuration Properties -> C/C++ -> Precompiled headers -> Create/Use Precompiled header .. 2009. 11. 5.