본문 바로가기

Dev/[MFC]

[MFC] Grid Control 사용해보기

반응형

간단하지만 강력한 기능을 가진 라이브러리라고 생각됨.

엑셀과 복붙 호환이 된다는 것이 가장 큰 장점일듯

첨부된 파일은 최신 버전이 아닐 수 있음..

 

사용법

1. 본인 프로젝트에 첨부된 grid 를 임포트 한다.

2.Grid Control을 사용하고자 하는 다이얼로그에 Custom Control을 추가한다.

3.위와같이 Class부분에 MFCGridCtrl이라고 적어준다.

4. 다이얼로그의 헤더 파일에 다음과 같은 헤더를 Include해줌.

#include "GridCtrl.h"

5.또한 위에서 생성한 커스텀 컨트롤의 변수를 선언해준다.

클래스명은 CGridCtrl

 

직접 생성하면    DDX_GridControl(pDX, IDC_GRID, m_Grid);

같은 것을 추가로 사용해야 하므로, 리소스 뷰에서 생성한 커스텀 컨트롤을 우클릭 후 변수 추가 버튼을 눌러서 생성하자

 

 

6.MakeXXGrid();와 같은 함수를 만들어주고 이제부터 만들면 된다.

 

m_GridTest.SetEditable(TRUE);
 m_GridTest.SetListMode(TRUE);
 m_GridTest.EnableDragAndDrop(TRUE);
 m_GridTest.SetTextBkColor(RGB(0xFF, 0xFF, 0xE0));
 m_GridTest.SetRowCount(4);          
 m_GridTest.SetColumnCount(4);            
 m_GridTest.SetFixedRowCount(1);            
 m_GridTest.SetFixedColumnCount(1);           
 m_GridTest.SetRowHeight(0, 3*m_Grid.GetRowHeight(0)/2);
 m_GridTest.SetListMode(TRUE);
 m_GridTest.EnableDragAndDrop(FALSE);
 m_GridTest.SetTextBkColor(LTCYAN);    
 m_GridTest.SetBkColor(WHITE);
 m_GridTest.SetHeaderSort(FALSE);
 m_GridTest.SetFixedRowSelection(FALSE);
 m_GridTest.SetFixedColumnSelection(FALSE);
 m_GridTest.SetSingleRowSelection(FALSE);
 m_GridTest.EnableSelection(FALSE);
 m_GridTest.SetColumnWidth(0, 30);
 m_GridTest.SetFont(GetFont());
 m_GridTest.SetColumnResize(FALSE);
 m_GridTest.SetRowResize(FALSE);     

 m_GridTest.ExpandColumnsToFit();

이런식으로 변수명.으로 여러 가지 함수 들을 쓸 수 있다.

m_GridTest.SetRowCount(4);
m_GridTest.SetColumnCount(4);

이걸로 행 열의 개수를 지정한다. 조건문 등을 이용해 다방면으로 활용이 가능

반응형