본문 바로가기

SoftWare_API_MFC16

[C++] 유니코드환경에서 달라지는 주요 함수 #ifdef _UNICODE #define TCHAR wchar_t #else #define TCHAR char #endif 윈도우 환경의 C++ 프로그래밍을 하다 보면 멀티바이트, 유니코드라는 문자집합 때문에 고민하게 된다. 프로젝트를 생성하게 되면 기본적으로 유니코드 환경으로 설정되어 있으나, 과거 하위버전의 Visual Studio에서 작성한 프로젝트이거나, 기타사유로 멀티바이트로 변경한 프로젝트를 다시 유니코드 환경으로 설정하면 당연히 컴파일 오류가 발생한다. 구분 유니코드(_UNICODE) 멀티바이트(_MBCS) 기본 자료형 wchar_t char 단일 문자의 크기 2Byte (16bit) 1Byte ~ 2Byte (영문, 숫자를 포함한 ASCII는 1바이트로 표현되고 나머지 한글, 한자, 일본.. 2021. 2. 18.
MFC CRect 클래스의 IntersectRect 함수에 대해서 MFC의 CRect 클래스는 Left, Top, Right, Bottom 등의 네 개 포인트 좌표점을 멤버로 가진다. 네 개의 포인트 좌표점은 사각 영역을 구성하기 위한 요소이다. Left와 Right는 X좌표축에 대한 위치값이고, Top, Bottom은 Y좌표축에 대한 위치값이다. IntersectRect 함수는 두 개의 CRect 클래스형 인스턴스에 대해서 동작한다. IntersectRect 함수는 두 개의 파라미터를 필요로 하는데, 이 중 앞의 파라미터로 전달된 CRect 영역과 뒤의 파라미터로 전달된 CRect 영역이 교차되는 영역을 구한다. CRect::IntersectRect @import url(MS-ITS:dsmsdn.chm::/html/msdn_ie4.css); CRect::Interse.. 2021. 2. 5.
MFC 이미지 회전시키기(각도 조절) MFC 이미지 회전시키기(45도) 오늘은 MFC를 가지고 이미지를 원하는 각도로 회전시키는 예제를 만들어 보겠습니다~! [결과 사진] 위의 결과는 왼쪽으로 45도 회전시킨 사진입니다. [코드 설명] 먼저 앞선 예제들처럼 원본 이미지를 출력시키기 위해 헤더파일의 Dlg.h파일에 가셔서 CImage 변수 m_image를 추가시켜 주시고 두 번째로 회전된 이미지를 저장하고 출력시키기 위해 변수 m_two_image를 하나 더 선언해 줍니다. m_image에는 원본 이미지 m_two_image에는 회전된 이미지를 저장시켜줄 것입니다. private: CImage m_image; CImage m_two_image; 소스코드 Dlg.cpp 파일에 OnInitDialog() 함수가 있는 곳으로 이동해줍니다. 아래와 .. 2020. 12. 1.
atlimage.h를 include해도 CImage를 사용할 수 없는 경우? CImage는 ATL을 사용할 수 있어야 활성화 된다. #include "atlimage.h"를 추가했다고해서 사용 할 수 있는 것이 아니다. stdafx.h파일을 살펴보라. #define _ATL_NO_AUTOMATIC_NAMESPACE // avoid class name conflicts 가 있는가? 그럼 주석으로처리하라. 이제 사용할 수 있을 것이다. 2020. 9. 18.