본문 바로가기

mfc8

MFC그래프 라이브러리, ChartCtrl 마우스 휠 기능 추가 C++/MFC에서 다양한 그래프를 손쉽게 그릴수 있도록 해주는 오픈소스 라이브러리인 ChartCtrl 관련 포스팅입니다. 해당 라이브러리에 대한 소개와 간단 사용법은 관련 포스팅에서 확인해 주세요. 'ChartCtrl' 태그의 글 목록 블로그 EveryX 입니다. C++, Python, Arduino등 학습노트로 시작했고, 신기하고 재미있는 제품 리뷰와 맛집/여행에 대한 추억도 남기고 있습니다. kwonkyo.tistory.com 이 라이브러리는 정말 잘 만들어진 라이브러리라서 다양한 기능들이 구현이 되어 있어 사용하기에 편리합니다. 그런데 사용을 하다보면 아쉬는 기능이 하나둘 보이기마련이죠. 이럴때 이런 오픈소스 라이브러리의 잠재력이 드러납니다. 오래 된 코드이긴 하지만 프로그래밍을 배우고 있는 입장에.. 2019. 10. 7.
MFC 그래프 라이브러리, Chart Control 기본 사용법 - 보통그래프 및 봉차트 그리기 이전 포스팅에서 소개했던 그래프를 그려주는 MFC 라이브러리, Chart Control의 기본 사용법입니다. CodeProject에도 기본 사용법이 잘 나와있지만 저같은 초보는 맘먹고 정독해야 겨우 이해할 수 있기 때문에 그 겨우 이해한 내용을 기록으로 남깁니다. 라이브러리 소스는 아래 포스팅 참고하시면 됩니다. [라이브러리] MFC 그래프 라이브러리 - High-speed Charting Control MFC용 그래프 그리는 라이브러리를 소개합니다. Codeproject사이트에 등록된 소스인데 X-Y 기본 그래프 뿐만아니라 캔들스틱, 바차트 등 다양한 기능을 지원하는 라이브러리 입니다. 원본 출처: https://www.cod.. kwonkyo.tistory.com Chart Control 라이브러리를.. 2019. 10. 5.
[라이브러리] MFC 그래프 라이브러리 - High-speed Charting Control (ChartCtrl) MFC용 그래프 그리는 라이브러리를 소개합니다. Codeproject사이트에 등록된 소스인데 X-Y 기본 그래프 뿐만아니라 캔들스틱, 바차트 등 다양한 기능을 지원하는 라이브러리 입니다. 소스 출처: https://www.codeproject.com/Articles/14075/High-speed-Charting-Control 제작자가 공개한 라이브러리의 원본파일입니다. Codeproject사이트에서 직접받을 수도 있지만 혹시나 없어질까봐 하나 받아두었습니다. 그리고 원본소스는 컴파이시에 유니코드 주의가 발생해서 아래는 유니코드로 다시 저장한 버전입니다. 코드내용은 동일합니다. 사용조건 다음은 제작자가 허용한 소스이 사용조건입니다. 기본적으로 상업적 이용도 허용한다고 하네요. This code may be.. 2019. 9. 20.
[C++/MFC 핵심노트] Class (클래스) 접근범위 제한 - PART 2 클래스 두번째 파트입니다. 클래스에서 또하나 중요한 개념인 접근범위 제한에 대해서 정리해 보겠습니다. 클래스가 만들어지면 그 용도에 따라 다양한 형태로 사용될 수 있는데, 클래스를 설계한 사람이 어떻게 내부구조를 만드느냐에 따라 어떤 멤버는 클래스 내부에서만 사용가능하고 어떤 멤버는 외부에서도 바로 접근할 수 있도록 만들수도 있습니다. 만약 이런 제한이 없다면 클래스는 단순히 코드의 가독성을 높여주기 위한 도구 정도에 불과할텐데, 클래스의 인터페이스를 클래스 설계자가 의도한 대로 제한함으로써 사용시 오류도 줄이고 코딩의 생산성도 높이는 효과를 얻을 수 있습니다. (저는 그리 복잡한 코딩을 해본적인 없기 때문에 대부분 public으로 사용해서 크게 와닫는 부분은 없었습니다.) 클래스 접근범위 제한 지금부터.. 2019. 1. 10.
전자공시시스템(DART)에서 재무제표 데이터 가져오는 프로그램 만들기 DART의 Open API를 이용해서 궁극적으로는 원하는 데이터를 콕 찝어서 가져와서 필요한 지표를 계산하는 그런 프로그램을 만들고 싶었습니다. 그런데 결론적으로는 지금 내 수준에서 단기적으로 달성하기에는 무리가 있는듯 하여 재무제표 조회의 수준에서 마무리하기로 했습니다. 이유는 뒷부분에서 얘기하겠습니다. DART의 Open API 자체가 공시데이터의 목록 “조회만"을 목적으로 하고 있기 때문에 세부적인 Data의 조회는 편법을 이용해야 하며 그 편법을 위해서는 제 잔머리도 부족하고, 또 DART에서 자체적으로 세부Data를 일괄로 내려받을 수 있도록 해주고 있어서 굳이 새로운걸 만들어 쓸 필요가 없겠더라구요. 그래서 저는 이번 프로젝트는 이번 글에서 마무리하고자 합니다. 이번글은 DART에서 제무제표를.. 2018. 12. 26.
HTML Parcer 예제프로그램 분석과 코드 활용방안 Intro 이전 글에서 CodeProject.com에서 받은 코드를 컴파일하는 간단한 방법을 소개한 적이 있었는데 그때 받았던 코드를 본인의 프로그램에 사용하기 위해서 나름대로 로직을 분석한 결과를 정리해 두려 합니다. CodeProject.com에서 다운받은 C++ 프로젝트 컴파일 하는 방법 다운받았던 프로그램은 "HtmlParser"라는 프로그램으로 웹페이지 주소를 넣으면 해당 코드를 받아와서 HTML 코드를 분석해서 코드의 계층구조를 트리 형태로 시각화 시켜주고 원하는 특정 태그나 속성을 필터링 할 수도 있는 그런 기능을 합니다. 저는 전자공시 사이트인 Dart에서 필요한 기업정보를 가져오기 위해서 웹페이지 크롤링 방법을 고민하고 있는 중입니다. 당현히 HTML파싱이 빠질수 없기 때문에 잘 만들어진.. 2018. 12. 4.
[C++/MFC] CString 다양한 기능들 정리 CString은 MFC에서 문자열을 처리를 아주 쉽게 처리할 수 있도록 제공해주는 클래스라서 내장된 기능이 어마어마 합니다. 사용법만 알면 간단히 사용할 수 있도록 만들어 두었는데 그 내부를 보면 사용하는것 만큼 간단하지는 않습니다. 그 많은 기능들을 최적화해서 (물런 네이티브 문자열 처리에 비해 속도가 느리기는 함) 제공하기 위해서는 상당히 복잡한 구조로 되어있습니다. 언제나 처럼 저는 복잡한 내부구조는 관심없고, 쉽게 쓸수만 있으면 그만입니다. ㅎ 문자를 자르고 붙이고 뭐 이런건 이본이고 그외에도 다양한 기능을 CString 자체에서 할수 있으니 MFC를 사용한다면 어떤 기능들이 있는지 알아둘 필요는 있을 것 같습니다. 다는 아니지만 음 이정도는 내가 써볼만 하겠다 하는 기능들만 모아봤습니다. CSt.. 2018. 12. 3.
C++/MFC 변수 총정리 - 타입, 크기, 범위, 표현형 아래표는 윈도우 기준 32비트와 64비트에서 각 변수들의 크기와 범위를 정리한 표이다. 그리고 코딩시 가끔 사용되지만 기억하지못해서 매번 찾게되는 타입별 표현형(format)도 같이 정리했다. 32비트와 64비트 윈도우는 서로다른 데이터 모델을 사용하지만 아래 표에서 정리된 타입들은 모두 동일하며 차이는 표에 표현하지 않은 포인터에서 차이가 난다. (32비트에서는 32비트, 64비트에서는 64비트로 표현) 기본 자료형 타입별 크기와 범위 분류타입 크기[bytes] 범위표현형 / 비고 void void- - - Boolean bool 1 0 or 1 - Integer (signed) 부호있는 정수형 char / signed char1 -127 ~ 127 %c, %hhi signed short int / s.. 2018. 10. 29.