이걸 이용해서 엑셀만한 기능은 못될지언정 비스무리 하게 만들 수는 있을 것 같네요. 첨부된 소스내용은 MSHFlexGrid와 텍스트 박스를 이용해서 현재 선택된 셀에 텍스트 박스를 위치시켜 값을 입력받을 수 있게 하며 마우스 포인터가 다른 셀등으로 빠져 나갔을 경우 입력한 값을 셀에 입력합니다.
더 응용해서 1, 2, 3번째 셀에 숫자값을 입력하면 바로바로 5번째 셀에 1, 2, 3셀의 값을 더해서 뿌려줍니다. 4번째 셀은 마우스가 가도 입력되지 못하는 코드를 추가했습니다.
참고. MSHFlexGrid 컨트롤 상수 (MSDN에서 발췌합니다.)
이 절에는 MSHFlexGrid의 컨트롤 상수를 설명합니다. 다른 언급이 없을 경우 이들 상수는 MSFlexGrid에도 적용할 수 있습니다.
AddModeSettings 속성(MSHFlexGrid)
상수 | 값 | 설명 |
---|
flexNoAddNew | 0 | 현재 셀이 마지막 행에 있지 않고 보류 중인 AddNew 작업도 없습니다. |
flexAddNewCurrent | 1 | 현재 셀이 마지막 행에 있지만 보류 중인 AddNew 작업은 없습니다. |
flexAddNewPending | 2 | 현재 셀이 마지막 행 다음에 있습니다. 이것은 MSHFlexGrid의 사용자 인터페이스를 통해 사용자가 시작한 보류 AddNew 작업의 결과이거나 프로그램적으로 열의Value나 Text 속성을 설정한 결과입니다. |
AllowUserResizing 속성
상수 | 값 | 설명 |
---|
flexResizeNone | 0 | 마우스로 크기를 재조정할 수 없습니다. 기본값입니다. |
flexResizeColumns | 1 | 마우스로 열의 크기를 재조정할 수 있습니다. |
flexResizeRows | 2 | 마우스로 행의 크기를 재조정할 수 있습니다. |
flexResizeBoth | 3 | 마우스로 열과 행의 크기를 재조정할 수 있습니다. |
Appearance 속성
상수 | 값 | 설명 |
---|
flexFlat | 0 | MSHFlexGrid의 전체 모양이 평면이거나 표준입니다. |
flex3D | 1 | MSHFlexGrid의 전체 모양이 3차원입니다. |
BorderStyle 속성
상수 | 값 | 설명 |
---|
flexBorderNone | 0 | 테두리가 없습니다. |
flexBorderSingle | 1 | 단일 테두리입니다. |
CellAlignment 속성
상수 | 값 | 설명 |
---|
flexAlignLeftTop | 0 | 셀 내용을 왼쪽 위로 맞춥니다. |
flexAlignLeftCenter | 1 | 셀 내용을 왼쪽 가운데로 맞춥니다. 문자열에 대한 기본값입니다. |
flexAlignLeftBottom | 2 | 셀 내용을 왼쪽 아래로 맞춥니다. |
flexAlignCenterTop | 3 | 셀 내용을 가운데 위로 맞춥니다. |
flexAlignCenterCenter | 4 | 셀 내용을 중앙에 놓습니다. |
flexAlignCenterBottom | 5 | 셀 내용을 가운데 아래로 맞춥니다. |
flexAlignRightTop | 6 | 셀 내용을 오른쪽 위로 맞춥니다. |
flexAlignRightCenter | 7 | 셀 내용을 오른쪽 가운데로 맞춥니다. 숫자에 대한 기본값입니다. |
flexAlignRightBottom | 8 | 셀 내용을 오른쪽 아래로 맞춥니다. |
flexAlignGeneral | 9 | 셀 내용을 일반적인 맞춤 방법으로 정렬합니다. 문자열에 대해서는 "왼쪽 가운데"로 숫자에 대해서는 "오른쪽 가운데"로 맞춥니다. |
CellPictureAlignment 속성
상수 | 값 | 설명 |
---|
flexAlignLeftTop | 0 | 그림을 왼쪽 위로 맞춥니다. |
flexAlignLeftCenter | 1 | 그림을 왼쪽 가운데로 맞춥니다. |
flexAlignLeftBottom | 2 | 그림을 왼쪽 아래로 맞춥니다. |
flexAlignCenterTop | 3 | 그림을 가운데 위로 맞춥니다. |
flexAlignCenterCenter | 4 | 그림을 중앙에 놓습니다. |
flexAlignCenterBottom | 5 | 그림을 가운데 아래로 맞춥니다. |
flexAlignRightTop | 6 | 그림을 오른쪽 위로 맞춥니다. |
flexAlignRightCenter | 7 | 그림을 오른쪽 가운데로 맞춥니다. |
flexAlignRightBottom | 8 | 그림을 오른쪽 아래로 맞춥니다. |
CellTextStyle, TextStyle, TextStyleFixed 속성
상수 | 값 | 설명 |
---|
flexTextFlat | 0 | 표준 평면 텍스트입니다. |
flexTextRaised | 1 | 텍스트가 볼록하게 표시됩니다. |
flexTextInset | 2 | 텍스트가 오목하게 표시됩니다. |
flexTextRaisedLight | 3 | 텍스트가 약간 볼록하게 표시됩니다. |
flexTextInsetLight | 4 | 텍스트가 약간 오목하게 표시됩니다. |
CellType 속성(MSHFlexGrid)
상수 | 값 | 설명 |
---|
flexCellTypeStandard | 0 | 표준 셀입니다. |
flexCellTypeFixed | 1 | 고정된 행이나 열에 포함된 셀입니다. |
flexCellTypeHeader | 2 | 데이터 밴드의 머리글 셀입니다. |
flexCellTypeIndent | 3 | 데이터 밴드를 들여쓰기하는 열에서 사용하는 셀입니다. |
flexCellTypeUnpopulated | 4 | 채워지지 않는 셀입니다. |
ColAlignment 속성
상수 | 값 | 설명 |
---|
flexAlignLeftTop | 0 | 열 내용을 왼쪽 위로 맞춥니다. |
flexAlignLeftCenter | 1 | 열 내용을 왼쪽 가운데로 맞춥니다. 문자열에 대한 기본값입니다. |
flexAlignLeftBottom | 2 | 열 내용을 왼쪽 아래로 맞춥니다. |
flexAlignCenterTop | 3 | 열 내용을 가운데 위로 맞춥니다. |
flexAlignCenterCenter | 4 | 열 내용을 중앙에 놓습니다. |
flexAlignCenterBottom | 5 | 열 내용을 가운데 아래로 맞춥니다. |
flexAlignRightTop | 6 | 열 내용을 오른쪽 위로 맞춥니다. |
flexAlignRightCenter | 7 | 열 내용을 오른쪽 가운데로 맞춥니다. 숫자에 대한 기본값입니다. |
flexAlignRightBottom | 8 | 열 내용을 오른쪽 아래로 맞춥니다. |
flexAlignGeneral | 9 | 열 내용을 일반적인 맞춤 방법으로 정렬합니다. 문자열에 대해서는 왼쪽 가운데로 숫자에 대해서는 오른쪽 가운데로 맞춥니다. |
ColHeader 속성 (MSHFlexGrid)
상수 | 값 | 설명 |
---|
FlexColHeaderOn | 0 | 각 밴드에 머리글을 표시합니다. |
FlexColHeaderOff | 1 | 밴드에 머리글이 표시되지 않습니다. |
FlexColHeaderOnce | 2 | 밴드가 축소되면 한 개의 머리글만 표시됩니다. 이중 머리글은 표시되지 않습니다. |
DisplayBandSettings 속성 (MSHFlexGrid)
상수 | 값 | 설명 |
---|
FlexBandDisplayHorizontal | 0 | 밴드가 수평으로 표시됩니다. (기본값) |
FlexBandDisplayVertical | 1 | 밴드가 수직으로 표시됩니다. |
DisplayCellSettings 속성 (MSHFlexGrid)
상수 | 값 | 설명 |
---|
FlexCellDisplayHorizontal | 0 | 밴드가 수평으로 표시됩니다. |
FlexCellDisplayVertical | 1 | 밴드가 수직으로 표시됩니다. |
FillStyle 속성
상수 | 값 | 설명 |
---|
FlexFillSingle | 0 | 활성 셀만 영향을 받습니다. (기본값) |
FlexFillRepeat | 1 | 선택된 모든 셀에 영향을 줍니다. |
FocusRect 속성
상수 | 값 | 설명 |
---|
flexFocusNone | 0 | 포커스 사각형 없음 |
flexFocusLight | 1 | 가는 포커스 사각형 (기본값) |
flexFocusHeavy | 2 | 굵은 포커스 사각형 |
GridLines, GridLinesFixed 속성
상수 | 값 | 설명 |
---|
flexGridNone | 0 | 선 없음 (MSFlexGrid 기본값) |
flexGridFlat | 1 | 평면 선 (MSHFlexGrid 기본값) |
flexGridInset | 2 | 오목한 선 (GridLinesFixed 기본값) |
flexGridRaised | 3 | 볼록한 선 (GridLinesFixed 기본값) |
HighLight 속성
상수 | 값 | 설명 |
---|
flexHighlightNever | 0 | 반전하지 않음 |
flexHighlightAlways | 1 | 항상 반전 (기본값) |
FlexHighlightWithFocus | 2 | 포커스가 있을 때만 반전 |
MergeCells 속성
상수 | 값 | 설명 |
---|
flexMergeNever | 0 | 병합 안함 (기본값) |
flexMergeFree | 1 | 항상 병합 |
flexMergeRestrictRows | 2 | 행 내 병합만 허용 |
flexMergeRestrict-Columns | 3 | 열 내 병합만 허용 |
flexMergeRestrictBoth | 4 | 행 또는 열에서만 병합 허용 |
MousePointer 속성
상수 | 값 | 설명 |
---|
flexDefault | 0 | 기본 포인터 |
flexArrow | 1 | 화살표 |
flexCross | 2 | 십자 모양 |
flexIBeam | 3 | 텍스트 입력용 |
flexIcon | 4 | 아이콘 포인터 |
flexSize | 5 | 상하좌우 크기 조정 |
flexSizeNESW | 6 | ↘↖ 방향 조정 |
flexSizeNS | 7 | 상하 조정 |
flexSizeNWSE | 8 | ↗↙ 방향 조정 |
flexSizeEW | 9 | 좌우 조정 |
flexUpArrow | 10 | 위쪽 화살표 |
flexHourGlass | 11 | 모래시계 |
flexNoDrop | 12 | 드롭 불가 |
flexCustom | 13 | 사용자 정의 |
PictureType 속성
상수 | 값 | 설명 |
---|
flexPictureColor | 0 | 고품질 컬러 이미지 |
flexPictureMonochrome | 1 | 저품질 단색 이미지 |
RowSizingSettings 속성 (MSHFlexGrid)
상수 | 값 | 설명 |
---|
flexRowSizeIndividual | 0 | 개별 행만 높이 변경 (기본값) |
flexRowSizeAll | 1 | 모든 행의 높이 변경 |
SelectionMode 속성
상수 | 값 | 설명 |
---|
flexSelectionFree | 0 | 셀 단위 선택 (기본값) |
flexSelectionByRow | 1 | 행 단위 선택 |
flexSelectionByColumn | 2 | 열 단위 선택 |
ScrollBars 속성
상수 | 값 | 설명 |
---|
flexScrollNone | 0 | 스크롤 없음 |
flexScrollHorizontal | 1 | 수평 스크롤 |
flexScrollVertical | 2 | 수직 스크롤 |
flexScrollBoth | 3 | 수평 및 수직 스크롤 (기본값) |
Sort 속성
상수 | 값 | 설명 |
---|
flexSortNone | 0 | 정렬 없음 |
flexSortGenericAscending | 1 | 일반 오름차순 |
flexSortGenericDescending | 2 | 일반 내림차순 |
flexSortNumericAscending | 3 | 숫자 오름차순 |
flexSortNumericDescending | 4 | 숫자 내림차순 |
flexSortStringNoCaseAsending | 5 | 문자열 오름차순 (대소문자 구분 없음) |
flexSortNoCaseDescending | 6 | 문자열 내림차순 (대소문자 구분 없음) |
flexSortStringAscending | 7 | 문자열 오름차순 (대소문자 구분) |
flexSortStringDescending | 8 | 문자열 내림차순 (대소문자 구분) |
flexSortCustom | 9 | 사용자 정의 정렬 |