다운: 플렉스그리드에서 입력받기.zip
아마 이걸 이용해서 엑셀만한 기능은 못될지언정 비스무리 하게 만들 수는 있을 것 같네요.
소스내용은 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 |
MSHFlexGrid내의 밴드가 수평으로(가로질러) 표시됩니다. 기본값입니다. |
flexBandDisplayVertical |
1 |
MSHFlexGrid내의 밴드가 수직으로(위 아래로) 표시됩니다. |
DisplayCellSettings 속성(MSHFlexGrid)
상수 |
값 |
설명 |
FlexCellDisplayHorizontal |
0 |
MSHFlexGrid내의 밴드가 수평으로(가로질러) 표시됩니다. |
flexCellDisplayVertical |
1 |
MSHFlexGrid내의 밴드가 수직으로(위 아래로) 표시됩니다. |
FillStyle 속성
상수 |
값 |
설명 |
flexFillSingle |
0 |
단일. Text나 셀의 속성을 변경할 경우 활성 셀만 영향을 받습니다. 기본값입니다. |
flexFillRepeat |
1 |
반복. Text나 셀의 속성을 변경할 경우 선택된 모든 셀이 영향을 받습니다. |
FocusRect 속성
상수 |
값 |
설명 |
flexFocusNone |
0 |
현재 셀 주위에 포커스 사각형을 표시하지 않습니다. |
flexFocusLight |
1 |
현재 셀 주위에 가는 포커스 사각형을 표시합니다. 기본값입니다. |
flexFocusHeavy |
2 |
현재 셀 주위에 굵은 포커스 사각형을 표시합니다. |
GridLines, GridLinesFixed 속성
상수 |
값 |
설명 |
flexGridNone |
0 |
선 없음. 셀 사이에 선이 없습니다. MSFlexGrid에서 GridLines의 기본값입니다. |
flexGridFlat |
1 |
선. 셀 사이의 선 유형이 표준 평면 선으로 설정됩니다. MSHFlexGrid에서GridLines의 기본값입니다. |
flexGridInset |
2 |
오목한 선. 셀 사이의 선 유형이 오목한 선으로 설정됩니다. MSFlexGrid에서GridLinesFixed의 기본값입니다. |
flexGridRaised |
3 |
볼록한 선. 셀 사이의 선 유형이 볼록한 선으로 설정됩니다. MSHFlexGrid에서GridLinesFixed의 기본값입니다. |
HighLight 속성
상수 |
값 |
설명 |
flexHighlightNever |
0 |
선택된 셀을 반전하지 않습니다. |
flexHighlightAlways |
1 |
선택된 셀을 항상 반전합니다. 기본값입니다. |
FlexHighlightWithFocus |
2 |
컨트롤에 포커스가 있을 경우에만 반전합니다. |
MergeCells 속성
상수 |
값 |
설명 |
flexMergeNever |
0 |
병합 안함. 동일한 내용을 가진 셀들을 그룹화하지 않습니다. 기본값입니다. |
flexMergeFree |
1 |
자유. 동일한 내용을 가진 셀들을 항상 병합합니다. |
flexMergeRestrictRows |
2 |
행 제한. 행 내에서 동일한 내용을 갖는 인접 셀(현재 셀의 왼쪽에 있는)만 병합합니다. |
flexMergeRestrict-Columns |
3 |
열 제한. 열 내에서 동일한 내용을 갖는 인접 셀(현재 셀의 위에 있는)만 병합합니다. |
flexMergeRestrictBoth |
4 |
모두 제한. 행이나 열 내에서 동일한 내용을 갖는 인접 셀(현재 셀의 왼쪽 또는 위에 있는)만 병합합니다. |
MousePointer 속성
상수 |
값 |
설명 |
flexDefault |
0 |
MSHFlexGrid의 윤곽 |
flexArrow |
1 |
화살표 |
flexCross |
2 |
십자 모양 |
flexIBeam |
3 |
텍스트 입력을 위한 I형 |
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 |
행의 크기를 재조정할 경우 MSHFlexGrid의 모든 행 높이가 변경됩니다. |
SelectionMode 속성
상수 |
값 |
설명 |
flexSelectionFree |
0 |
자유. MSHFlexGrid의 각 셀을 스프레드시트 유형으로 선택할 수 있습니다. 기본값입니다. |
flexSelectionByRow |
1 |
행 단위. 다중 열 목록 상자나 레코드 단위로 표시할 때처럼 전체 행 단위로만 선택할 수 있습니다. |
flexSelectionByColumn |
2 |
열 단위. 차트의 범위를 선택하거나 정렬을 위해 필드를 선택할 때처럼 열 단위로만 선택할 수 있습니다. |
ScrollBars 속성
상수 |
값 |
설명 |
flexScrollNone |
0 |
MSHFlexGrid에 스크롤 막대가 없습니다. |
flexScrollHorizontal |
1 |
MSHFlexGrid에 수평 스크롤 막대를 둡니다. |
flexScrollVertical |
2 |
MSHFlexGrid에 수직 스크롤 막대를 둡니다. |
flexScrollBoth |
3 |
MSHFlexGrid에 수평 및 수직 스크롤 막대를 둡니다. 기본값입니다. |
Sort 속성
상수 |
값 |
설명 |
flexSortNone |
0 |
없음. 정렬하지 않습니다. |
flexSortGenericAscending |
1 |
일반 오름차순. 텍스트가 문자열인지 숫자인지를 예측하는 오름차순 정렬을 수행합니다. |
flexSortGenericDescending |
2 |
일반 내림차순. 텍스트가 문자열인지 숫자인지를 예측하는 내림차순 정렬을 수행합니다. |
flexSortNumericAscending |
3 |
숫자 오름차순. 문자열을 숫자로 변환하는 오름차순 정렬을 수행합니다. |
flexSortNumericDescending |
4 |
숫자 내림차순. 문자열을 숫자로 변환하는 내림차순 정렬을 수행합니다. |
flexSortStringNoCaseAsending |
5 |
문자열 오름차순. 대/소문자를 구분하지 않는 문자열 비교를 사용하는 오름차순 정렬을 수행합니다. |
flexSortNoCaseDescending |
6 |
문자열 내림차순. 대/소문자를 구분하지 않는 문자열 비교를 사용하는 내림차순 정렬을 수행합니다. |
flexSortStringAscending |
7 |
문자열 오름차순. 대/소문자 구분 문자열 비교를 사용하는 오름차순 정렬을 수행합니다. |
flexSortStringDescending |
8 |
문자열 내림차순. 대/소문자 구분 문자열 비교를 사용하는 내림차순 정렬을 수행합니다. |
flexSortCustom |
9 |
사용자 정의. Compare 이벤트를 사용하여 행을 비교합니다. |