본문 바로가기

Programming

[MFC] File Drag&Drop 1. Message 사용하기 : window form에서 기본적으로 제공되는 메세지 중에서 WM_DROPFILE을 사용한다. 2. Callback Function programming 3. Drag & Drop 허용 마지막으로 Drag&Drop을 사용할 수 있게 dialog 초기화 부분에 다음의 소스를 적어준다. DragAcceptFiles(true); 4. 실행! 더보기
this pointer : this 포인터는 클래스에 대한 포인터 값이 아니라, new연산을 통해 객체가 생성될 때 만들어지는 것이므로 생성된 객체의 고유한 값이다. 참조의 범위는 protected,private 키워드와 마찬가지로 객체 외부에서는 접근이 불가능 하다. this 포인터는 클래스의 모든 멤버(field&method)에 접근을 할 수 있는데, static keyword로 생성된 필드와 메서드는 접근을 할 수 없다.(정적 메모리는 객체가 생성되기전에 메모리에 잡힘.) Source: Instruction: void Date::setMonth( int mn ) { month = mn; // 객체내에서 맴버를 부를 때, 일반적으로 this가 암시적으로 호출된다. this->month = mn; // ->연산을 통해서도 접.. 더보기
Convert YUV420 to RGB8888 Camera.CallbackPreview 인터페이스를 통해 들어오는 이미지 값은 YUV420sp이다. 이것을 저장하거나 혹은 캔버스에 띄우려면 비트맵으로 변환을 해야한다. (1)android 2.2(proyo 버전)이상에서는 YuvImage라는 클래스를 제공해준다. 따라서 이 클래스를 이용하여 변환하면된다. (2)android 2.2이하 버전일 경우 YuvImage라는 클래스가 제공 되지 않으므로 직접 코딩을 하여야한다. 1.Android Camera Image얻어는 방법. http://androidhuman.tistory.com/entry/카메라를-이용하자-카메라-프리뷰-띄우기 2. Android에서 기본적으로 제공되는 YUV420sp 색공간에 대한 이해. http://blog.naver.com/j60.. 더보기
error C2065: 'IDD_Main_DIALOG' : 선언되지 않은 식별자입니다. MainDlg.h 파일에 #include"resource.h"을 추가 해주면 된다. - main dialog외의 다른 클래스나 객체에서 main dialog의 핸들(인스턴스)을 얻어오려면, 객체의 cpp파일에 #include"MainDlg.h"처럼 메인 다이얼로그 헤더파일을 추가시켜주고 MainDlg* pDlg = (MainDlg*)AfxGetMainWnd(); 해주면 된다. AfxGetMainWnd()함수는 함수명에서 볼수 있듯이 메인 다이얼로그의 핸들을 리턴한다. 더보기
TCP/IP를 이용한 PC-Android 통신 Server : Window 7 / C Language Client : Android(Froyo(ver 2.2) API 8) / Java Language [Server]Window/C Language Socket.cpp [Client]Android/java Language MainActivity Sock.class 1.퍼미션 권한주기. -안드로이드 어플리케이션 소켓 개발시 메니페스트 파일에 퍼미션을 지정해주어야 소켓을 생성 또는 연결을 할수 있다. - 2.데이터 송/수신 루프는 Thread보다는 AsyncTask를 이용할것. - android 4.0 ICS 버전이상부터는 UI(Main) Thread에서 네트워크 연결을 막아놓은 것 같다. 스레드를 사용할거면, sub스레드를 생성하여 해야 할것이고, 만약 .. 더보기
[MFC] Tab Control 사용하기! 1. Tab 여러개 만들기 MFC에서 탭을 생성하게 되면 소스코드로 탭의 이름 및 개수를 지정하여 주어야지만 탭을 사용할수 있습니다. 저는 이니셜라이징 하는 부분을 OnInitDialog라는 함수에서 탭의 이름과 개수를 지정해 주었습니다. 위의 붉은 테두리안에 아래의 소스 코드를 집어넣으시면 Map Control Setting이라는 3개의 탭이 생성됩니다. TCITEM item; CString szTabName[] = {_T("Map"), _T("Control"), _T("Setting")}; // Named TabMenu item.mask = TCIF_TEXT; for(int i = 0 ; i < sizeof(szTabName) / sizeof(CString) ; ++i) { item.pszText .. 더보기
Bitmap File구조 *Bimap File format(구조) BITMAPFILEHEADER -> File header :에 정의, bmp파일인지 분석함!!, size : 14byte bftype : bmp파일이라면 BM이라는 글자가 저장.. ex) if(bmfh.bftype != 0x4D42)비트맵 파일이 아닐 경우 처리... *0x4D42는 아스키값으로서 보면 B와D를 나타냄.. bfsize : bmp파일의 전체크기를 저장!(파일헤더+이미지헤더+컬러테이블+픽셀데이터) BITMAPINFOHEADER -> Image header :비트맵 파일에서 파일헤더 구조체 다음에 위치함!!,bmp파일에 대한 영상정보를 저장! biBitCount : 1Pixel당 비트수 ->비트수에 따라 Pixel데이터를 처리 하는방법이 다름!! 256.. 더보기