Study/MFC

Study/MFC

[MFC] MFC 에서 Grid를 사용해보자 2 - 생성 및 설정 (MFC Grid Control)

이전 시간에는 MFC Grid Control(이하 Grid)을 사용하기 위한 과정을 봤습니다. 혹여나 잘 되지 않았다면 위 파일을 이용하여 해보세요. 이전 과정에서 수정했던 것을 반영한 MFC Grid Control 소스 입니다. MFC Grid Control 생성 이제 Grid를 생성하여봅시다. 도구 상자에서 Custom Control을 생성합니다. 여기서 중요한 것은 클래스(Class)에 MFCGridCtrl을 넣어주는 것입니다. (저는 ID를 IDC_GRID로 설정하였습니다.) 이제 메인 다이얼로그의 헤더 파일(h)로 와서 Grid 변수와 초기화용 함수를 선언해줍니다. #pragma once #include "GridCtrl_src/GridCtrl.h" class CMFC노리터Dlg : public..

Study/MFC

[MFC] MFC 에서 Grid를 사용해보자 1 (MFC Grid Control)

MFC 개발 환경에서는 기본적으로 Grid(또는 Data Grid)를 지원하지 않습니다. 그렇게 하여 많은 개발자들로 인해 MFC에서 Custom Control 형식으로 많은 Grid Control이 나왔지만 그 중에서 가장 많이 쓰이는 Grid Control 중 하나인 "MFC Grid Control"을 소개합니다. MFC Grid control 2.27 A fully featured MFC grid control for displaying tabular data. The grid is a custom control derived from CWnd www.codeproject.com 간단한 사용법을 알아봅시다. 소스 다운로드 및 기본 설정 홈페이지에서 "Download Grid Control Sourc..

Study/MFC

[MFC/Win32 API] 파일의 생성 시간, 접근 시간, 쓰기 시간

MFC에서 파일의 생성 시간(Creation Time), 접근 시간(Last Access Time), 쓰기 시간(Last Write Time)을 확인하는 방법입니다. 여기서 사용하는 핵심 함수는 크게 3가지 입니다. /** 파일의 시간을 받아오는 함수 @paramhFile 시간을 받아올 파일 핸들 @paramlpCreationTime 파일의 생성시간을 반환할 포인터 (NULL인경우 반환 안함) @paramlpLastAccessTime 파일의 마지막 접근 시간을 반환할 포인터 (NULL인경우 반환 안함) @paramlpLastWriteTime 파일의 마지막 쓰기 시간을 반환할 포인터 (NULL인경우 반환 안함) */ BOOL GetFileTime( [in] HANDLE hFile, [out, optiona..

Study/MFC

[MFC] ListBox 컨트롤 (리스트박스)

흔히 위와 같은 컨트롤을 ListControl ListBox 등으로 표현합니다. (사실 위의 컨트롤은 TreeControl에 가깝죠) MFC에서는 List 관련 컨트롤이 크게 ListBox와 ListControl로 나뉩니다. 더욱 세부적으로 표현할 수 있는 것은 ListControl이지만 간단하게 사용할 수 있는 것은 ListBox입니다. ListBox 생성 및 설정 ListBox를 생성해 봅시다. ListBox를 처음 생성하면 우측과 같이 텅 빈 공간이 생깁니다. 아직 아이템이 채워지지 않은 ListBox가 생성되었습니다. ListBox에서 자주 사용되는 속성 항목은 다음과 같습니다. 속성 (한글) 속성 (영어) 설명 정렬 Sort 아이템이 문자열 순서대로 정렬 (오름차순) 이제 ListBox를 사용하..

Study/MFC

[MFC] Radio Button 컨트롤 (라디오 버튼)

Radio Button 이란? Check Box와 비슷하지만 약간은 다른 선택형 컨트롤 입니다. Check Box는 일반적으로 다수의 Check Box를 선택할 수 있지만, Radio Button은 일반적으로 한 Group 안에서 하나의 선택만 할 수 있도록 유도하는 선택형 컨트롤 입니다. Radio Button도 Check Box와 마찬가지로 Button 입니다. Radio Button 생성 "도구 상자" 에서 "Radio Button"을 선택하여 생성합니다. Radio Button은 "Group" 설정을 해야합니다. Group 설정에는 다음과 같은 요구 조건이 필요합니다. Group 의 가장 첫 번째 Radio Button 컨트롤은 "Group 속성"이 "True" 한 Group에 있는 Radio B..

Study/MFC

[MFC] Check Box 컨트롤 (체크 박스)

Check Box 란? 말 그래도 체크할 수 있는 박스 컨트롤 입니다. 상태는 총 2가지로 "Checked", "Unchecked" 두 가지 상태입니다. 그런데 사실 MFC에서 Check Box는 Button입니다. Check Box 생성 "도구 상자" 에서 "Check Box"를 선택하여 생성합니다. Check Box를 사용하기 위해서 변수 생성을 합니다. 아까 "사실 MFC에서 Check Box는 Button입니다." 라고 말했었습니다. Check Box를 변수로 제어 할때는 CButton 타입으로 선언하여 제어하게 됩니다. Check Box 현재 상태 확인 버튼을 하나 만들어서 버튼을 클릭할 때 CheckBox의 상태를 받아와봅시다. 이렇게 이벤트 처리기를 이용하여 "BN_CLICKED" 이벤트를 ..

Study/MFC

[MFC] Combo Box 컨트롤 (콤보 박스)

콤보 박스란? 버튼(또는 박스)을 누르면 아래로 컨텍스트 메뉴가 제공되어 항목을 선택할 수 있게 해주는 컨트롤을 의미합니다. 콤보 박스 컨트롤 생성 도구 상자에서 Combo Box(이하 콤보 박스) 컨트롤을 하나 만듭니다. 콤보 박스 컨트롤에서 가장 많이 쓰이는 속성은 위의 2가지 입니다. 속성 (한글) 속성 (영어) 설명 정렬 Sort 항목이 추가되었을 때 자동으로 정렬할지 유무 (알파벳 순서) 형식 Type 콤보 박스 형식 (Simple, Dropdown, Drop List) 정렬 항목이 true인 경우에는 // AddString은 ComboBox에 항목을 추가하는 기능을 합니다. ctrlCBox->AddString(_T("Tomato")); ctrlCBox->AddString(_T("Apple"))..

Study/MFC

[MFC] Button 컨트롤 - 색상 변경

[MFC] Button 컨트롤 (버튼 컨트롤) Button 이란 말 그대로 무언가 눌러서 상호작용을 할 수 있는 컨트롤을 말합니다. 버튼 컨트롤 생성 도구 상자에서 Button 컨트롤을 하나 만듭니다. 버튼 컨트롤에서 가장 많이 쓰이는 속성은 위의 4 eskeptor.tistory.com 이번에는 Button 컨트롤에 색상을 넣는 법을 알아봅니다. Button의 경우에는 버튼이 속한 다이얼로그에서 "WM_DRAWITEM" 이라는 이벤트를 이용해서 Button을 손수 그려주어야합니다. "WM_DRAWITEM"의 경우에는 다이얼로그의 각 컨트롤 객체가 그려질 때 호출되는 이벤트입니다. 먼저 이벤트를 만들기 전에 Button의 속성중에서 "Style - Owner Draw(동작 - 소유자 그리기)"를 true..

Study/MFC

[MFC] Button 컨트롤 (버튼 컨트롤)

Button 이란 말 그대로 무언가 눌러서 상호작용을 할 수 있는 컨트롤을 말합니다. 버튼 컨트롤 생성 도구 상자에서 Button 컨트롤을 하나 만듭니다. 버튼 컨트롤에서 가장 많이 쓰이는 속성은 위의 4가지 입니다. 속성 (한글) 속성 (영어) 설명 가로 맞춤 Horizontal Alignment 캡션의 가로 정렬 방식 세로 맞춤 Vertical Alignment 캡션의 세로 정렬 방식 여러 줄 Multiline 개행 기호(\n)를 이용하여 여러줄의 캡션 사용 캡션 Caption 버튼에 표시되는 글자 아래의 사진을 보시면 대충 속성들이 어떤 역할을 하는지 알게 됩니다. 버튼 이벤트 사용 버튼에서 가장 많이 쓰이는 이벤트는 바로 클릭 이벤트 입니다. BN_CLICKED라는 이벤트 입니다. 버튼 클릭 이벤..

Study/MFC

[MFC] Tab 컨트롤

탭 컨트롤은 위의 저 부분을 뜻하지요. MFC 탭 컨트롤에 대해서 알아보겠습니다. MFC에서 탭은 "탭 컨트롤 + 탭 페이지" 로 구분됩니다. 여기서 탭 컨트롤은 도구 상자에서 끌어와서 탭이 위치할 자리를 잡아주고 탭 페이지는 다이얼로그를 만들어서 탭 위에 올려주게됩니다. 탭 컨트롤 생성 도구 상자에서 "Tab Control"을 끌어와서 하나 생성합니다. 생성함과 동시에 5개의 탭이 생성된 것처럼 보이지만 실은 아무것도 없습니다. 여기에 탭을 추가하여 넣어주어야합니다. Visual Studio 2022로 넘어오면서 속성까지 한글로 변해버렸다........ 일단 속성에서는 세로(Vertical), 여러 줄(MultiLine)이 가장 많이 쓰입니다. 세로는 탭을 세로줄에 추가할지 유무이며, 여러줄은 탭이 많..

Eskeptor
'Study/MFC' 카테고리의 글 목록