[MFC] 탭 컨트롤, Tab Control

오늘은 탭 컨트롤에 대해 알아보겠습니다.탭 컨트롤은 여러 개의 컨트롤들을 하나의 화면에 볼 수 있게 관리해 주는 컨트롤 입니다.도구 상자에서 탭 컨트롤을 추가해 줍니다. 그 다음은 탭 컨트롤에 표시할 대화 상자를 추가해 줘야합니다.솔루션 탐색기에서 프로젝트 우클릭 후 추가, 클래스를 선택합니다. 그리고 MFC 선택 후 MFC 클래스를 선택한 후 추가를 선택합니다. 클래스 이름은 CTab1, 기본 클래스는 CDialogEx를 … Read more

[MFC] 쓰레드, AfxBeginThread

쓰레드에 대해 알아보기 전에 타이머와 쓰레드의 차이를 간단히 설명하겠습니다.저번 글에 쓴 것처럼 타이머의 경우 보통 간단한 연산과 대략적인 시간 간격일 경우 사용한다 했습니다.타이머의 경우 윈도우 메세지로 ID를 판별하여 실행 되는데, 이 메세지가 정확한 시간 간격마다 오는게 아니라 비슷하게 옵니다.만약 개발자가 1초마다 정확히 실행되는 프로그램을 만들고 싶으면, 함수 실행 시간을 고려해서 Sleep을 해야하는데, 타이머 메시지가 정확히 1초마다 날아오지 않는 것도 있지만, 내부에서 Sleep을 하면 … Read more

[MFC] 타이머, WM_TIMER

이번에는 타이머에 대해 알아보겠습니다.WM_TIMER 메세지로 정해진 시간마다 반복적으로 실행시킬 수 있는 방법으로, 정확한 시간에 행해야 하는 경우엔 쓰면 안되지만 간단히 만들고 삭제할 수 있어 많이 사용되는 방식입니다.정확한 시간간격 마다, 복잡한 연산을 하는 경우에는 타이머를 추천하지 않습니다.우측의 메시지에서 WM_TIMER를 눌러 OnTimer를 선택합니다. 그러면 아래와 같이 OnTimer 함수가 추가됩니다. 리소스에 스태틱 컨트롤을 만드셔서 아래 그림과 같이 ID, Aligned Text, Center … Read more

[MFC] 리스트 컨트롤 – 2(Icon)

오늘은 리스트 컨트롤 중 Icon에 대해 알아보겠습니다.첫번째 Report와 마찬가지로 많이 쓰이는 컨트롤 중 하나입니다.Report는 단순히 텍스트만 표시해 주는 반면, Icon은 이름과 같이 비트맵도 표시해 줘서 Report보단 가시성이 좋은 방식입니다.각각의 장점이 있으니 상황에 맞게 사용하시면 될 것 같습니다. List Control을 생성해 주시고, ID는 IDC_LIST_TEST, View를 Icon으로 생성해 줍니다. 그리고 아이템 입력 순서가 왼쪽 위부터 오른쪽 위 … Read more

[MFC] 리스트 컨트롤 – 1(Report)

이번 글에서는 Report 속성을 가진 리스트 컨트롤에 대해서 알아보겠습니다.MFC에서 리스트 컨트롤은 매우 자주 사용하는 컨트롤 중 하나입니다. 여러 가지 데이터를 정리해서 한눈에 보기 쉽게 만들어 주기 때문이죠. 도구 상자에서 리스트 컨트롤을 더블클릭 합니다. 리스트 컨트롤 속성 중 맨 아래 View에 Icon, Small Icon, List, Report가 있는데 그 중 Report를 선택 합니다. 드래그로 화면을 크게 늘여 … Read more

[MFC] 버튼, 에디트 컨트롤, 스태틱 컨트롤

이번 글에서는 에디트 컨트롤에 입력을 하고, 버튼을 클릭하면 스태틱 컨트롤에 표시하는 것을 해보겠습니다. 1. 버튼 도구 상자에서, 버튼을 더블 클릭하여 버튼을 하나 생성합니다. 리소스에서 버튼을 더블 클릭하면 프로그램이 실행 됐을 때 버튼 클릭 이벤트가 발생하면 실행 되는 함수가 생성 됩니다. 간단히 말하자면 위처럼 더블 클릭하면 아래와 같이 헤더 파일과 Cpp 파일에 코드가 생성 됩니다. 리소스뷰에서 버튼을 클릭하면 우측 … Read more

[MFC] 대화 상자 만들기

기존 티스토리에 있던 글을 다시 올린 글 입니다. 실제 글을 썼던 시기와 차이가 있어 글이 정확하지 않을 수 있습니다. 대화 상자 만들기 앞전에 Visual Studio를 다운 받아야 합니다. 여기를 눌러 Visual Studio를 다운받아주세요.저는 2015 버전 Visual Studio C++ 기준으로 글을 쓰겠습니다.Visual Studio 2017까지 써봤는데, 개인적으로 2015가 제일 편하더라구요.각자 편하고 원하시는 버전 다운 받아서 차근차근 따라하시길 … Read more