[MFC] HDC 텍스트 출력, TextOut, CFont

HDC에 도형을 그리는 방법은 여기를 참고해주시기 바랍니다. 오늘은 HDC에 텍스트를 출력하는 방법을 알아보겠습니다.Static Control을 하나 생성해주시고 ID를 IDC_STATIC_DISP로 합니다. 그런 다음 확인버튼을 더블 클릭 하여 아래와 같이 코딩해줍니다. 실행 시켜 보면 아래와 같이 출력 됩니다. 위 방식대로 하면 텍스트 주변에 하얀색 배경이 그려지게 됩니다. 이 색을 변경하고 싶으시면 TextOut함수를 호출 하기 전에 아래 SetBkColor 함수를 사용하시면 … Read more

[WinAPI] 시리얼 통신 클래스

Visual C++에서 사용할 수 있는 시리얼 클래스  예전 회사에 입사했을 때, 인터넷에서 긁어서 처음 만들어본 클래스입니다. 너무 오래되서 어떻게 만들었는지 모르겠습니다.부모 윈도우 핸들을 넘겨서 메시지로 표시하는 방식입니다. 아래는 헤더 파일입니다. 아래는 cpp 파일 입니다. 옛날 소스라 stdafx.h가 포함되어 있네요. 2019에서는 pch.h로 하셔야 할겁니다.

[C++ STL] map 사용

map 기본 설명 하나의 key와 value가 쌍으로 저장되는 컨테이너.중복된 key을 저장해야한다면 multimap을 사용해야한다. 필요 헤더파일 생성, 값 입력 예시는 아래와 같다. 값을 입력할 때 중복을 확인하는 방법은 아래와 같다. 특정 key값을 읽기 위해선 아래 예시처럼 한다. map에서 특정 key를 삭제하려면 아래와 같다. 심화 : vector와 map map 컨테이너는 일반 변수 뿐만 아니라, 구조체, 클래스 또한 … Read more

[MFC] Drag & Drop 구현하기 – Win 10 에서 안될 때 해결 방법

이번 글에서는 대화상자에 파일을 Drag & Drop 하는 방법을 알아보겠습니다. 대화상자 생성 후, 아래와 같이 대화상자 속성->동작->Accept Files를 TRUE로 변경합니다. 그리고 아래와 같이 OnDropFiles를 추가해줍니다. OnDropFiles에 아래와 같이 코딩합니다. 실행 시켜서 Drag & Drop을 확인해 봅니다. —————————————————————————— Windows 10에서 MFC의 Drag & Drop이 안되는 경우가 있습니다.(관련 링크) 그럴 경우 OnInitDialog에 아래와 같이 추가하시면 됩니다. p.s 그래도 … Read more

[WinAPI] 특정 색 제외하고 표시 – TransparentBlt

해당 글을 보시기 전에 BitBlt에 대해 모르시면 이 글 읽어보시길 바랍니다. 오늘은 TransparentBlt에 대해 알아보겠습니다.보통 비트맵을 읽어 표시를 할 때 BitBlt를 많이 사용합니다. 해당 함수는 비트맵을 그대로 표시하기 때문에 대화상자에 표시할 때 아래와 같이 표시 됩니다. 비트맵을 표시를 할 때 특정 색을 표시하고 싶지 않은 경우가 있는데 위의 경우가 그렇습니다.그럴때 TransparentBlt를 사용하시면 됩니다. 아래의 비트맵을 다운받으셔서 리소스에 추가합니다. … Read more

[Visual C++] 서울시 열린데이터 광장 Open API 이용하기 – 4. XML 파싱 (tinyxml)

마지막으로 오늘은 서울시 열린데이터 광장에서 XML데이터를 받아 파싱하는 방법을 알아보겠습니다.처음 보시는 분은 여기를 참고 바랍니다. XML 파싱을 위한 클래스는 tinyxml을 사용하려 합니다. 아래 파일은 제가 MFC에 빌드가 되게 약간 수정한 파일이므로 아래 파일 다운 받으셔서 그림과 같이 프로젝트에 추가해주시기 바랍니다. 원본은 여기서 다운로드 하시면 됩니다. 그리고 아래 헤더파일을 include 합니다. 이번 글에서는 이 링크로 테스트 … Read more

[Visual C++] 서울시 열린데이터 광장 Open API 이용하기 – 3. json 파싱 (jsoncpp)

오늘은 저번 글에 이어서 json을 파싱하는 법을 알아보겠습니다. 우선 json 파싱을 위해 아래 파일을 다운로드 합니다. 압축 해제 후에 파일들을 어제 만들었던 프로젝트에 추가합니다. jsoncpp는 깃허브에서도 다운 받을수 있습니다근데 이게 잘 안되서 제가 찾은 것중에 MFC에서 되게 제가 일부 수정했습니다. 아무튼 프로젝트 추가하시고 아래와 같이 헤더파일을 include 합니다. 어제 코드에 이어서 아래와 같이 입력합니다. 이 … Read more

[Visual C++] 서울시 열린데이터 광장 Open API 이용하기 – 2. json, xml 받아오기(CInternetSession, HttpSendRequest)

이 글을 보기 전에 이전 글 먼저 봐주시기 바랍니다. 저번 글에 이어서 오늘은 json과 xml을 받아오는 방법을 알아보겠습니다.총 두 가지 방법이 있는데 두 가지 방법 다 알아보겠습니다. MFC 프로젝트를 하나 생성해 주시고  아래와 같이 컨트롤을 배치해 놓습니다. URL 우측 에디트 박스에 아래 그림과 같이 URL을 입력할 예정입니다. 빨간색은 제 인증키입니다. 1. CInternetSession 첫 번째 방법은 CInternetSession을 … Read more

[Visual C++] 서울시 열린데이터 광장 Open API 이용하기 – 1. 인증키 신청

안녕하세요. 이번에는 실제로 오픈되어있는 데이터를 사용하여 MFC에 표시하는 방법을 사용해보겠습니다.예전에 제가 졸업할 때 즈음 서울시에서 복지 차원에서 서울시의 데이터를 공개하였습니다.서울시에서 csv 파일, json, xml형식으로 데이터를 제공하는데 생각보다 엄청나게 많은 데이터를 제공합니다. 여기를 클릭 하시면 열린 데이터 광장에 접속됩니다. 기본적으로 회원가입을 해줍니다. 아래 그림같이 상단의 공공데이터를 클릭합니다. 그러면 되게 많은 데이터가 나오는데 좌측 메뉴 중 OpenAPI라고 … Read more