컨트롤 클래스
l CButton
l CComboBox
l CEdit
l CListBox
l CStatic
CButton ( 푸시버튼, 라디오 버튼, 체크박스 )
l CButton
버튼 컨트롤의 생성자 함수
l ~CButton
버튼 컨트롤의 소멸자 함수
l Create
1. 설명 : 버튼컨트롤을 생성하기 위해 이 멤버함수를 호출하고 오브젝트에 붙인다.
2. 구문 : BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd * pParentWnd, UINT nID)
3. 파라미터
lpszCaption : 버튼에 표시되는 텍스트 (const char* and LPCTSTR function)
dwStyle : 정당한 윈도우나 버튼 스타일의 조합
rect : 부모 윈도우의 사용자 좌표인 컨트롤의 위치와 크기를 나타낸다.
pParentWnd : 컨트롤의 부모 윈도우.
nID : 이 컨트롤의 자식 ID. 형제 윈도우 중에서 중복되지 않아야 한다.
4. 리턴값 : 성공하면 TRUE, 그렇지 않으면 FALSE.
[ Button Style ]
BS_3STATE |
3상 체크박스를 만든다. 체크박스는 선택될 수도 있고 선택되지 않을 수도 있고 회색으로 그려진 상태일 수도 있다. 회색 상태는 일반적으로 체크 박스 값이 결정되지 않았음을 나타낸다. |
BS_AUTO3STATE |
사용자가 체크 박스를 선택했을 때 그 상태가 변하는 것 외에는BS_3STATE와 같다. |
BS_AUTOCHECKBOX |
사용자가 체크 박스를 선택했을 때 그 상태가 변하는 것 외에는BS_CHECKBOX와 같다. |
BS_AUTORADIOBUTTON |
사용자가 라디오버튼을 클릭할 때 그것이 선택되고 그 그룹의 다른 라디오 버튼은 선택되지 않는다는 것 외에는 BS_RADIOBUTTON과 같다. |
BS_BITMAP |
비트맵을 출력하는 버튼을 만든다. |
BS_BOTTOM |
버튼 사각형의 아래에 버튼 타이틀을 위치시킨다. |
BS_CENTER |
버튼 사각형 안의 타이틀을 수평으로 중앙에 위치시킨다. |
BS_CHECKBOX |
타이틀이 있는 체크박스를 만들고 BS_LEFTTEXT 스타일이 사용되지 않는 한 타이틀을 오른쪽에 위치시킨다. |
BS_DEFPUSHBUTTON |
사용자가 Enter키를 눌렀을 때 눌린 푸시버튼을 만든다. 버튼은 두껍고 검은 테두리가 있는 형태가 될 것이다. |
BS_GROUPBOX |
좌측 상단 꼭지점에 타이틀이 있는 박스를 만든다. |
BS_ICON |
아이콘을 출력하는 버튼을 만든다. |
BS_LEFT |
버튼 사각형의 타이틀을 좌측 정렬한다. 버튼이 체크 박스이거나 라디오 버튼이고 BS_RIGHTBUTTON 스타일을 가지지 않는다면 텍스트는 체크박스나 라디오버튼의 오른쪽에서 좌측정렬 될 것이다. |
BS_LEFTTEXT |
텍스트를 라디오 버튼이나 체크 박스의 왼쪽에 위치시킨다. |
BS_MONO |
버튼이 단 한 줄의 타이틀을 가졌음을 지정한다. |
BS_MULTILINE |
버튼이 여러 줄의 타이틀을 가졌음을 지정한다. 타이틀 텍스트를 한 줄에 나타내기에 공간이 부족할 때는 다음 줄로 넘어간다. |
BS_NOTIFY |
부모 윈도우로 메시지를 보낸다. 이는 기본적으로 전달되는 BN_CLICKED 와 BN_DBLCLK에 부가되는 것이다. |
BS_OWNERDRAW |
OWER-DRAWN 버튼을 만든다. 부모 윈도우는 버튼이 생성될 때에는 언제든지 WM_DRAWITEM 메시지를 받는다. 이 스타일은 다른 버튼 스타일과 조합해서 사용할 수 없다. |
BS_PUSHBUTTON |
버튼이 선택되었을 때 부모 윈도우로 WM_COMMAND 메시지를 전달하는 푸시 버튼을 만든다. |
BS_PUSHLIKE |
체크 박스나 라디오 버튼이 푸시 버튼의 모양을 가지며 작동도 푸시 버튼처럼 하게 만든다. |
BS_RIGHTBUTTON |
라디오 버튼이나 체크 박스 선택 영역을 버튼 사각형의 오른쪽부분으로 위치시킨다. |
BS_TEXT |
텍스트를 출력하는 버튼이다. |
BS_TOP |
타이틀을 버튼 사각형의 윗부분으로 위치시킨다. |
BS_VCENTER |
타이틀을 버튼 사각형에서 수직으로 중앙에 정열한다. |
l DrawItem
1. 설명 : Ownerdraw CButton 오브젝트가 표시되거나 갱신 될 필요가 있을 때 마다 호출된다. 그러므로 여기에 컨트롤의 모습을 그려주는 코드를 작성해 두면 컨트롤이 원하는 모양으로 그려진다. 컨트롤이 어떻게 그려지는가에 대한 여러가지 정보를 포함하는 DrawItemStruct 구조체에 대한 포인터로 전달된다.
2. 구문 : virtual void DrawItem( LPDRAWITEMSTRUCT lpDrawItemStruct );
3. 파라미터
lpDrawItemStruct : 항목을 그리는 것에 대한 파라미터를 포함한다.
4. 리턴값 : 아무것도 리턴하지 않는다.
l GetBitmap
1. 설명 : 버튼에 관련되는 비트맵에 대한 핸들을 얻는다. 비트맵은 CButtion::SetBitmap 멤버함수를 사용하여 버튼 표면에 표시된다.
2. 구문 : HBITMAP GetBitmap() const;
3. 파라미터 : 없음.
4. 리턴값 : 관련 비트맵에 대한 핸들이거나 어떤 비트맵도 관련되지 않으면 NULL.
l SetBitmap
1. 설명 : CButton에서 파생한 클래스의 버튼의 표면에 비트맵을 표시하도록 해준다. 이 버튼은 BS_BIMAP 스타일을 갖는 버튼에서만 사용될 수 있다. 기본적으로, 비트맵은 수평과 수직의 가운데 위치된다. 이것은 다음 스타일의 조합을 사용하여 수정될 수 있다.
2. 구문 : BS_TOP, BS_LEFT, BS_RIGHT, BS_CENTER, BS_BOTTOM, BS_VCENTER
HBITMAP SetBitmap( HBITMAP hBitmap );
3. 파라미터
hBitmap : 새로운 비트맵에 대한 핸들
4. 리턴값 : 이전에 관련된 비트맵에 대한 핸들이거나 어떤 비트맵도 버튼에 관련되지 않으면
NULL.
l GetButtonStyle
1. 설명 : 이 함수는 버튼의 윈도우 스타일을 얻는다. BS_로 시작하는 스타일만이 이함수에
의해 린턴된다. 버튼에 대한 스타일은 이전에 CButton::Create()나 CButton::SetButtonStyle() 함수로 설정된다.
2. 구문 : UINT GetButtonStyle() const;
3. 파라미터 : 없음.
4. 리턴값 : 버튼을 생성하는데 사용되는 스타일. 어떤 스타일이 사용되는가를 판단하기 위한 리턴값
l SetButtonStyle
1. 설명 : 버튼컨트롤에 대한 새로운 스타일을 설정한다. 이 스타일은 BS_로 시작되는 버튼 특정의 스타일의 조합이다.
2. 구문 : void SetButtonStyle( UINT nStyle, BOOL bRedraw = TRUE );
3. 파라미터
nStyle – BS_로 시작하는 버튼 특정의 스타일의 조합
dRedraw – TRUE는 컨트롤을 즉시 그리도록 한다. FALSE는 무효화될 때까지 컨트롤의 갱신을 지연한다.
4. 리턴값 : 아무것도 리턴하지 않는다.
l GetCheck
1. 설명 : 버튼의 체크 상태를 리턴한다. 이것은 라디오 버튼과 체크박스에 대해서만 유효하다.
2. 구문 : int GetCheck() const;
3. 파라미터 : 없음.
4. 리턴값
0 – 버튼이 체크되지 않았다.(또는 라디오 버튼이 선택되지 않았다.)
1 – 버튼이 체크되었다.(또는 라디오 버튼이 선택되었다.)
2 – 버튼이 중간 상태이다.(3단계 버튼인 경우)
l SetCheck
1. 설명 : 버튼의 체크 상태를 설정한다. 라디오 버튼과 체크 박스에서만 유효하다.
2. 구문 : void SetCheck( int nCheck );
3. 파라미터
nCheck – 버튼의 새로운 체크상태.
0 – 버튼이 체크되지 않게 된다.(또는 라디오 버튼은 선택되지 않는다.)
1 – 버튼이 체크된다.(또는 라디오 버튼이 선택된다.)
2 – 버튼이 중간 상태가 된다.(3단계 버튼인 경우)
4. 리턴값 : 아무것도 리턴하지 않는다.
l GetCursor
1. 설명 : 버튼에 관련되는 커서 이미지에 대한 핸들을 얻는다. 커서 이미지는 CButton::SetCursor 멤버 함수를 사용하여 버튼의 표면에 표시된다.
2. 구문 : HCURSOR GetCursor();
3. 파라미터 : 없음.
4. 리턴값 : 관련 커서에 대한 핸들이거나 어떤 커서도 버튼에 관련되지 않으면 NULL.
l SetCursor
1. 설명 : CButton에서 파생한 클래스에 대한 버튼의 표면에 커서 이미지를 표시한다. 이 함수는 BS_BITMAP 스타일 갖는 버튼에서만 사용할 수 있다. 기본적으로, 커서 이미지는 수평과 수직으로 가운데 위치된다. 이것은 다음 스타일의 조합을 사용하여 수정된다.
BS_TOP, BS_LEFT, BS_RIGHT, BS_CENTER, BS_BOTTOM, BS_VCENTER
2. 구문 : HCURSOR SetCursor( HCURSOR hCursor );
3. 파라미터
hCursor – 새로운 커서 이미지에 대한 핸들
4. 리턴값 : 이전에 관련된 커서 이미지에 대한 핸들이거나 어떤 커서도 버튼에 관련되지않으
면 NULL.
l GetIcon
1. 설명 : 버튼에 관련된 아이콘에 대한 핸들을 얻는다. 아이콘은 CButton::SetIcon 멤버함수를 사용하여 버튼표면에 표시된다.
2. 구문 : HICON GetIcon() const;
3. 파라미터 : 없음.
4. 리턴값 : 관련 아이콘에 대한 핸들이거나 어떤 아이콘도 버튼에 관련되지 않으면 NULL.
l SetIcon
1. 설명 : 버튼의 표면에 아이콘을 표시한다. 이 함수는 BS_ICON 스타일을 갖는 버튼에서만 사용할 수 있다. 기본적으로, 아이콘 이미지는 수평과 수직의 가운데 위치한다. 이것은 다으 스타일의 조합을 사용하여 수정된다.
BS_TOP, BS_LEFT, BS_RIGHT, BS_CENTER, BS_BOTTOM, BS_VCENTER
2. 구문 : HICON SetIcon( HICON hIcon);
3. 파라미터
hIcon – 새로운 아이콘에 대한 핸들
4. 리턴값 : 이전에 관련된 아이콘에 대한 핸들이거나 어떤 아이콘도 버튼에 관련되지 않으면
NULL이다.
l GetState
1. 설명 : 버튼이 하이라이트되고 입력 포커스를 가질 경우에 체크되었는지를 포함한 버튼(라디오버튼과 체크박스의 경우에만)에 대한 상태 정보를 얻는다.
2. 구문 : UINT GetState() const;
3. 파라미터 : 없음.
4. 리턴값 : 버튼의 상태. 개별특징을 판단하기 위하여, 리턴된 값에 대해 다음 비트 마스크를 이용하라.
0x0003 – 결과 값인 이 마스크를 사용하여 버튼(라디오 버튼과 체크박스에민 적용된다)의 체크된 상태를 판단한다. 결과 값이 0이면, 버튼은 체크되지 않았다. 결과 값이 1이면 버튼은 체크되었다. 버튼이 3단계 체크박스이면, 2의 값은 중간 상태를 나타낸다.
0x0004 – 이 마스크는 버튼의 하이라이트 상태를 판단한다. 결과 값이 0이면, 버튼은 하이라이트되었다.
0x0008 – 이 마스크는 컨트롤의 포커스 상태를 판단한다. 결과 값이 0이면, 컨트롤은 입력 포커스를 갖지 않는다.
l SetState
1. 설명 : 버튼의 하이라이트 상태를 제어한다.
2. 구문 : void SetState( BOOL bHighlight );
3. 파라미터
bHighlight – TRUE는 버튼이 하이라이트 되게 한다. FALSE는 하이라이트를 제거한다.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l OnChildNotify
1. 설명 : 알림 코드가 컨트롤에 적용될 때마다 CButton의 부모에 의해 호출된다. 이 함수는 직접 호출될 수 없지만, 오너드로 버튼을 위해 중복될 수 있다.
2. 구문 : virtual BOOL OnChildNotify( UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pLResult );
3. 파라미터
message – 알림 코드 메시지
wParam – 메시지 특정 데이터
lParam – 메시지 특정 데이터
pLResult – 알림 코드 메시지에 따라 리턴되는 결과 코드의 주소
4. 리턴값 : 기본 구현은 CButton::DrawItem()이 부르는 WM_DRAWITEM을 제외한 모든 메시지에 대해 FALSE를 리턴한다. 이것은 오너드로 버튼의 경우에만 발생한다.
CComboBox
l CComboBox
콤보박스 컨트롤에 대한 생성자. 이 오브젝트의 실제 구현은 create 멤버 함수에서 이루어진다.
l ~CComboBox
콤보 박스의 오브젝트를 파괴한다.
l AddString
1. 설명 : 콤보박스에 있는 현재의 항목에 문자열을 추가한다. 콤보박스가 CBS_SORT 타입을 가지면 문자열은 분류된 위치에 삽입된다.
2. 구문 : int AddString( LPCTSTR lpszString );
3. 파라미터
lpszString – 추가되는 텍스트를 포함하는 널로 끝나는 문자열
4. 리턴값 : 추가되는 문자열의 위치를 나타내는 0이거나 0보다 큰 값. 그렇지 않으면 리턴 값은 CB_ERR이거나 CB_ERRSPACE이다.
[ ComboBox Style ]
CBS_AUTOSCROLL |
콤보 박스의 에디트 컨트롤의 수평 스크롤을 허용한다. |
CBS_DISABLENOSCROOL |
리스트 내의 모든 항목이 화면상에 나타나 있더라도 수직 스크롤바를 보이게한다. 이때 리스트 내의 모든 항목을 보일 필요가 없으면 스크롤바가 사용 불가능하게 된다. 디폴트로는 스크롤바는 필요한 경우에만 나타난다. |
CBS_DROPDOWN |
드롭 다운 콤보 박스를 만든다. 리스트는 선택되었을 경우에만 화면상에 나타낸다. |
CBS_DROPODOWNLIST |
드롭 리스트 콤보 박스를 만든다. 편집은 허용되지 않는다. 선택된 항목은 나타나기만 한다. |
CBS_HASSTRINGS |
Owner-drawn 콤보 박스와 함께 사용되어 콤보 박스에 추가되는 문자열을 지정한다. 이 때 응용프로그램은 CB_GETLBTEXT 메시지를 이용해서 특정 항목을 얻어올 수 있다. |
CBS_LOWERCASE |
에디트 컨트롤에 소문자의 입력만을 허용한다. 대문자가 입력되면 자동으로 소문자로 바뀐다. |
CBS_NOINTEGRALHEIGHT |
콤보 박스를 지정된 크기 그대로 설정한다. 디폴트로는 항목이 잘리지 않도록 Windows에서 콤보 박스의 크기를 변경시킨다. |
CBS_OEMCONVERT |
입력된 텍스트는 Windows 문자 세트에서 OEM문자 세트로 변환되며 다시 Windows 세트로 되돌려 진다. 이는 AnsiToOem 함수를 사용할 때 변환이 정확히 일어나도록 해준다. |
CBS_OWNERDRAWFIXED |
Owner-draw 콤보 박스를 만든다. 부모 윈도우는 콤보 박스가 생성될 때는 WM_MEASUREITEM 메시지를, 항목이 칠해질 필요가 있을 때는 WM_DRAWITEM 메시지를 받게 된다. |
CBS_SIMPLE |
항목 리스트가 항상 화면상에 보이고 현재 선택된 내용이 에디트 컨트롤에 나타나는 간단한 콤보 박스를 만든다. |
CBS_SORT |
CB_ADDSTRING 메시지를 이용하여 리스트 박스 내에 첨가된 문자열을 정령한다. |
CBS_UPPERCASE |
에디트 컨트롤에 대문자의 입력만을 허용한다. 소문자가 입력되면 자동으로 대문자를 바뀐다. |
l Clear
1. 설명 : 콤보박스의 편집박스 부분에서 선택된 텍스트를 삭제한다.
2. 구문 : void Clear();
3. 파라미터 : 없음.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l CompareItem
1. 설명 : 프로그래머가 컨트롤에 있는 상대적인 값을 판단하여 기본적으로 시스템에서 제공하는 분류 알고리즘을 중복하도록 해준다. 이 함수는 오너드로 컨트롤에 대해서만 중복되어야 한다. 보통, 프로그래머는 2개의 주어진 항목에 대한 상대적인 분류키를 판단하기 위하여lpCompareItemStruct에서 제공되는 정보를 사용한다. 윈도우는 각 분류 쌍에 대해 이 멤버를 호출하는 것을 처리한다.
2. 구문 : virtual int CompareItem( LPCOMPAREITEMSTRUCT lpCompareItemStruct );
3. 파라미터
lpCompareItemStruct – 비교되는 항목의 인덱스를 포함하는 구조체.
4. 리턴값 : 리턴값은 3개 값을 가진다.
-1 – 항목1이 항목2 앞에 나타난다.
0 – 항목1과 항목2는 동일한 값이다.
1 – 항목1이 항목2 뒤에 나타난다.
l Copy
1. 설명 : 콤보박스의 편집박스 부분에서 선택된 텍스트를 클립보드에 복사한다. 이 데이터는 CF_TEXT 형식인 경우에만 가능하다. (CF_TEXT : Specifies the standard American National Standards Institute (ANSI) text format.)
2. 구문 : void Copy();
3. 파라미터 : 없음.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l Create
1. 설명 : 구축 후, 콤보박스 컨트롤을 생성하기 위해 이 멤버를 호출하고 오브젝트에 붙인다.
2. 구문 : BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
3. 파라미터
dwStyle – 유효한 윈도우나 콤보박스 스타일의 조합.
Rect – 부모 윈도우의 사용자 좌표인 컨트롤의 위치와 크기를 나타낸다.
PParentWnd – 컨트롤의 부모 윈도우.
nID – 컨트롤의 자식 ID. 형제 윈도우 사이에서 중복되지 않아야 한다.
4. 리턴값 : 성공하면 TRUE, 그렇지 않으면 FALSE.
l Cut
1. 설명 : 콤보박스의 편집박스 부분에서 선택된 텍스트를 클립보드에 복사하고, 그 선택한 내용을 제거한다. 이 데이터는 CF_TEXT 형식인 경우에만 가능하다.
2. 구문 : void Cut();
3. 파라미터 : 없음
4. 리턴값 : 아무 것도 리턴하지 않는다.
l DeleteItem
1. 설명 : 항목이 컨트롤에서 제거될 때 프레임워크로부터 알림 코드를 받기 위하여 중복된다.
2. 구문 : virtual void DeleteItem( LPDELETEITEMSTRUCT lpDeleteItemStruct );
3. 파라미터
lpDelectItemStruct – 제거되는 항목에 대한 정보를 포함하는 구조체.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l DeleteString
1. 설명 : 콤보박스에서 특정 항목을 제거한다.
2. 구문 : int DeleteString( UINT nIndex );
3. 파라미터
nIndex – 제거되는 항목의 인덱스. 이 값은 0에서 GetCount() – 1 이다.
4. 리턴값 : 성공하면 리턴 값은 남아 있는 항목의 수이고 그렇지 않으면 CB_ERR이다.
l Dir
1. 설명 : 파일이나 디렉토리의 리스트로 된 콤보박스를 로드한다.
2. 구문 : int Dir( UINT attr, LPCTSTR lpszWildCard );
3. 파라미터
attr – 어느 항목이 콤보박스로 로드되는지를 나타낸다. 다음 값의 조합이다.
※ DDL[Data Definition Language – 데이터 정의 언어]은 데이터와 데이터간의 관계를 정의하는데 사용되는 언어이다. 이것은 데이터베이스 내에서 데이터 구조를 만드는데 사용된다.
※ ARCHIVE - 마지막 백업 후에 바뀌는 파일. 읽기/쓰기 속성.
DDL_ARCHIVE – 파일은 아카이브이다.
DLL_DIRECTORY – lpszWildCard에 의해 기술된 이름은 디렉토리를 나타낸다.
DLL_DRIVES – lpszWildCard에의해 기술되는 이름과 일치하는 모든 드라이브를 포함한다.
DDL_EXCLUSIVE – 배타적인 플래그. 배타적인 플래그가 설정되면, 기술된 타입의 파일만이 리스트된다. 그렇지 않으면, 기술한 타입의 파일은 일반 파일 외에 리스트된다.
DDL_HIDDEN – 파일은 숨겨지고 디렉토리 리스트에는 보이지 않는다.
DDL_READWRITE – 읽고 쓸 수 있는 파일.
DDL_READONLY – 읽기만 하고 쓸 수 없는 파일.
DDL_SYSTEM – 시스템 파일.
LpszWildCard – 어느 파일이 로드되는가를 나타내는 널로 끝나는 문자열. 이 문자열은 와일드 카드(*.*와 같은)를 포함할 수 있다.
4. 리턴값 : 성공하면, 마지막 삽입된 항목의 인덱스, 아니면 CB_ERR이나 CB_ERRSPACE.
l DrawItem
1. 설명 : 이 중복 가능한 함수는 오너드로 콤보박스의 외부 모양이 변경될 때마다 호출된다. 이 함수는 오너드로 컨트롤을 위해 중복되어야 한다.
2. 구문 : virtual void DrawItem( LPDRAWITEMSTRUCT lpDrawItemStruct );
3. 파라미터
lpDrawItemStruct – 항목의 그리기를 수행하는 데 유용한 정보를 기술하는 구조체.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l FindString
1. 설명 : 제공된 문자열(대소문자 구분)을 포함하는 첫번째 항목을 찾는다.
2. 구문 : int FindString( int nStartAfter, LPCTSTR lpszString ) const;
3. 파라미터
nStartAfter – 찾기가 시작되는 항목의 첫번째 인덱스. 0에서 GetCount()-1까지의 범위이거나 콤보박스의 전체 내용을 찾기 위하여 –1이다.
LpszString – 콤보박스 항목내를 찾게되는 널로 끝나는 문자열. 이 문자열은 그 항목의 접두어가 있으면 항목과 일치한다.
4. 리턴값 : 일치하는 항목의 인덱스 또는 없으면 CB_ERR.
l FindStringExact
1. 설명 : 제공되는 문자열과 리스트박스 항목 사이에 정확하게 대소문자가 일치하는 것을 찾는다.
2. 구문 : int FindStringExact( int nIndexStart, LPCTSTR lpszFind ) const;
3. 파라미터
nIndexStart – 찾기가 시작하는 첫번째 인덱스. 이 값은 0에서 GetCount()-1까지의 범위이거나 리스트박스의 전체 내용을 찾기 위하여 –1.
lpszFind – 콤보박스 항목 내에서 찾는 널로 끝나는 문자열.
4. 리턴값 : 일치되는 항목의 인덱스가 발견되지 않으면 LB_ERR.
l GetCount
1. 설명 : 콤보박스에 있는 항목의 수를 얻는 데 사용된다.
2. 구문 : int GetCount() const;
3. 파라미터 : 없음.
4. 리턴값 : 리스트박스에 있는 항목의 수 또는 LB_ERR.
l GetCurSel
1. 설명 : 단일 선택 리스트박스로부터 현재 선택된 인덱스를 얻는데 사용된다.
2. 구문 : int GetCurSel() const;
3. 파라미터 : 없음.
4. 리턴값 : 현재 선택되어 있는 항목의 인덱스. LB_ERR의 값은 어떤 항목도 선택되지 않거나 리스트박스는 다중 선택이다. 이 인덱스는 0에서 시작한다.
l SetCurSel
1. 설명 : 단일 선택 리스트박스에 있는 현재 선택된 항목을 설정하는 데 사용된다. 항목이 뷰에 없으면, 항목은 뷰에 스크롤된다.
2. 구문 : int SetCurSel( int nSelect );
3. 파라미터
nSelect – 리스트박스에서 선택하는 문자열의 0에서 시작하는 인덱스. 이 파라미터에 대한 유효한 값은 0에서 CListBox::GetCount()-1까지의 범위이다. 또는 현재 선택을 해제하기 위하여–1.
4. 리턴값 : 선택된 항목의 인덱스 또는 LB_ERR.
l GetDroppedControlRect
1. 설명 : 콤보박스의 리스트박스 부분의 스크린 좌표를 얻는다.
2. 구문 : void GetDroppedControlRect( LPRECT lprect ) const;
3. 파라미터
lprect – 스크린 좌표를 얻는 RECT 구조체의 주소.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l GetDroppedState
1. 설명 : 콤보박스의 리스트박스 부분이 현재 표시되는(드롭다운)지를 리턴한다.
2. 구문 : BOOL GetDroppedState() const;
3. 파라미터 : 없음.
4. 리턴값 : 리스트박스 부분이 현재 표시되면 비제로, 그렇지 않으면 FALSE.
l GetDroppedWidth
1. 설명 : 콤보박스의 리스트박스 부분에 대한 최소한의 가능한 폭을 리턴한다.
2. 구문 : int GetDroppedWidth() const;
3. 파라미터 : 없음.
4. 리턴값 : 콤보박스의 리스트박스 부분에 대한 최소한의 폭.
l GetEditSel
1. 설명 : 콤보박스의 편집 컨트롤 부분에 선택되어 있는 시작과 마지막 위치를 얻는다.
2. 구문 : DWORD GetEditSel() const;
3. 파라미터 : 없음.
4. 리턴값 : 하위워드에 첫번째로 선택된 문자 위치와 상위워드에 첫번째로 선택되지 않은 문자를 포함하는 DWORD. 에러가 발생하거나 콤보박스가 어떤 편집 컨트롤도 갖지 않으면, 리턴값은 CB_ERR이다.
l SetEditSel
1. 설명 : 콤보박스의 편집 컨트롤 부분에 하이라이트된 선택 내용을 설정한다. 이 함수가 성공적으로 리턴하기 위하여 콤보박스는 CBS_DROPDOWNLIST스타일을 가져야 한다.
2. 구문 : BOOL SetEditSel( int nStartChar, int nEndChar);
3. 파라미터
nStartChar – 첫번째 선택된 문자 또는 현재 선택한 내용을 제거하기 위하여 –1.
NEndChar – 마지막 선택된 위치 또는 컨트롤에서 nStartChar에서 마지막 문자까지를 선택하기 위하여 –1.
4. 리턴값 : 성공하면 비제로, 그렇지 않으면 CB_ERR.
l GetExtendedUI
1. 설명 : 표준이거나 확장인 콤보박스 사용자 인터페이스의 현재 상태를 리턴한다.
2. 구문 : BOOL GetExtendedUI() const;
3. 파라미터 : 없음.
4. 리턴값 : 현재 사용자 인터페이스가 표준이면 0, 확장되면 비제로.
l SetExtendedUI
1. 설명 : 콤보박스에 대한 기본 사용자 인터페이스나 컨트롤이 CBS_DROPDOWNLIST나 CBS_DROPDOWN 스타일을 가지면 확장된 사용자 인터페이스를 설정한다.
2. 구문 : int SetExtendedUI( BOOL bExtended = TRUE );
3. 파라미터
bExtended – 확장된 사용자 인터페이스가 사용되면 TRUE, 그렇지 않고 기본 사용자 인터페이스에 대해서는 FALSE.
4. 리턴값 : 성공하면 CB_OKAY 그렇지 않으면 CB_ERR.
l GetHorizontalExtent
1. 설명 : 리스트박스가 수평으로 스크롤되는 픽셀 수를 판단한다. 이 값은 CListBox::SetHorizontalExtent() 멤버에 의해 판단된다. 기본적으로 0픽셀을 리턴한다.
2. 구문 : int GetHorizontalExtent() const;
3. 파라미터 : 없음.
4. 리턴값 : 리스트박스가 수평으로 스크롤하는 픽셀의 수.
l SetHorizontalExtent
1. 설명 : 리스트박스가 스크롤되는 수평 픽셀 수를 설정한다. WS_HSCROLL 스타일이 리스트박스에 설정되어 있어도 스크롤바는 수평 범위가 리스트박스의 폭보다 더 큰 값으로 설정되지 않으면 나타나지 않는다.
2. 구문 : void SetHorizontalExtent( int cxExtent );
3. 파라미터
cxExtent – 리스트박스가 스크롤되는 수평 폭(픽셀)을 판단한다.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l GetItemData
1. 설명 : 리스트박스에 있는 항목과 관련 있는 DWORD 값을 얻는다. 이 값은 CListBox::SetItemData() 멤버에 의해 설정된다. 항목 데이터는 보통 리스트박스에 있는 문자열에 대한 ID나 문자열을 관련시키는 데 사용된다.
2. 구문 : DWORD GetItemData( int nIndex ) const;
3. 파라미터
nIndex – 얻는 데이터의 항목의 인덱스
4. 32비트 관련 데이터 값 그렇지 않으면 LB_ERR
l SetItemData
1. 설명 : 리스트박스에 있는 항목과 관련되는 DWORD 값을 설정한다. 이 값은 CListBox::GetItemData() 멤버를 통하여 얻어진다. 항목 데이터는 보통 리스트박스에 있는 문자열에 대한 ID나 값을 관련시키는데 사용된다.
2. 구문 : int SetItemData( int nIndex, DWORD dwItemData );
3. 파라미터
nIndex – 설정되는 데이터 항목의 인덱스.
DwItemData – 주어진 인덱스와 관련되는 32비트 값.
4. 리턴값 : 아무것도 리턴하지 않는다.
l GetItemDataPtr
1. 설명 : 콤보박스에 있는 항목과 관련된 포인터(void*)를 얻는다. 이 값은 CComboBox::SetItemDataPtr() 멤버에 의해 설정된다.
2. 구문 : void GetItemDataPtr( int nIndex ) const;
3. 파라미터
nIndex – 얻는 데이터의 항목의 인덱스
4. 리턴값 : 항목에 관련되는 void *, 그렇지 않으면 CB_ERR.
l SetItemDataPtr
1. 설명 : 콤보박스에 있는 항목에 관련되는 (void *) 포이터를 설정한다. 이 포인터는 CComboBox::GetItemDataPtr() 멤버를 통하여 얻어진다.
2. 구문 : int SetItemDataPtr( int nIndex, void* pData );
3. 파라미터
nIndex – 설정되는 데이터의 항목의 인덱스.
PData – 주어진 항목에 관련되는 void *.
4. 리턴값 : 성공하면 비제로, 그렇지 않으면 CB_ERR.
l GetItemHeight
1. 설명 : 콤보박스에 있는 항목의 높이(픽셀)를 얻는다.
2. 구문 : int GetItemHeight( int nIndex ) const;
3. 파라미터
nIndex – 얻는 높이의 항목의 인덱스. –1의 인덱스는 컨트롤의 편집 부분을 나타낸다. 컨트롤이 CBS_OWNERDRAWVARIABLE 스타일을 갖지 않으면, -1이 아닌 인덱스 값은 리스트박스 부분에 있는 일정한 항목의 높이를 나타낸다. 그렇지 않으면, 0에서 GetCount()-1까지의 인덱스는 개별 항목의 높이를 나타낸다.
4. 리턴값 : 항목의 높이(픽셀)나 CB_ERR.
l SetItemHeight
1. 설명 : 컨트롤의 편집박스 부분의 높이나 리스트박스에 있는 항목의 높이를 설정하는 이중 역할을 한다. 컨트롤이 CBS_OWNERDRAWVARIABLE 스타일 플래그 셋을 갖지 않으면, 모든 리스트박스 항목들은 동일한 높이를 갖는다.
2. 구문 : int SetItemHeight( int nIndex, UINT cyItemHeight );
3. 파라미터
nIndex – 새로운 높이에 의해 영향을 받는 항목의 인덱스. –1의 인덱스는 컨트롤의 편집 부분을 나타낸다. 컨트롤이 CBS_OWNERDRAWVARIABLE 스타일을 가지지 않으면 –1이 아닌 다른 인덱스 값은 컨트롤의 리스트박스 부분에 있는 모든 항목들을 나타낸다. 그렇지 않으면, 0에서 GetCount()-1까지의 인덱스는 개별 항목을 나타낸다.
cyItemHeight – Index로 표시되는 항목의 높이(픽셀)
4. 리턴값 : 성공하면 CB_OKAY, 그렇지 않으면 CB_ERR.
l GetLBText
1. 설명 : 주어진 인덱스에 있는 리스트박스 엔트리의 텍스트를 얻는다.
2. 구문 : int GetLBText( int nIndex, LPTSTR lpszText ) const;
void GetLBText( int nIndex, CString& rString ) const;
3. 파라미터
nIndex – 콤보박스의 리스트박스 부분에 있는 엔트리의 인덱스.
lpszText – 텍스트에 대한 대상.
rString – 텍스트에 대한 대상.
4. 리턴값 : 성공하면 비제로, 그렇지 않으면 CB_ERR.
l GetLBTextLen
1. 설명 : 이 함수는 주어진 인덱스에 있는 텍스트의 길이를 얻는다.
2. 구문 : int GetLBTextLen( int nIndex ) const;
3. 파라미터
nIndex – 콤보박스의 리스트박스 부분에 있는 텍스트의 인덱스.
4. 리턴값 : 텍스트의 길이(바이트). 이 값은 끝을 나타내는 NULL 문자를 포함하지 않는다.
l GetLocale
1. 설명 : 콤보박스에 있는 문자열이 어떻게 처리되는가를 판단하는 지역 식별자를 얻는다.
2. 구문 : LCID GetLocale() const;
3. 파라미터 : 없음.
4. 리턴값 : 지역(locale) 식별자.
l SetLocale
1. 설명 : 콤보박스에 있는 문자열이 어떻게 처리되는가를 판단하는 지역 식별자를 설정한다.
2. 구문 : LCID SetLocale( LCID nNewLocale );
3. 파라미터
nNewLocale – 새로운 지역 식별자.
4. 리턴값 : 이전의 지역 식별자.
l GetTopIndex
1. 설명 : 콤보박스에 있는 최상위로 보이는 항목의 인덱스를 얻는다.
2. 구문 : int GetTopIndex() const;
3. 파라미터 : 없음.
4. 리턴값 : 콤보박스에 있는 최상위로 보이는 항목의 0에서 시작하는 인텍스.
l SetTopIndex
1. 설명 : 특정 항목을 콤보박스의 리스트박스 부분에 최상위로 보이는 항목으로 설정한다. 항목은 표시되지만 최대 수직 스크롤 범위에 도달하면 실제 최상위 항목이 아닐 수 있다.
2. 구문 : int SetTopIndex( int nIndex );
3. 파라미터
nIndex – 뷰에 스크롤되는 항목의 인덱스.
4. 리턴값 : 성공하면 0, 그렇지 않으면 CB_ERR.
l InitStorage
1. 설명 : 메모리 할당 시간을 최적화하기 위하여 콤보박스에 대량의 항목을 로드하기 전에 이 멤버를 호출한다. 보통, 개별 항목이 콤보박스에 추가될 때 메모리 할당이 발생한다. 이 멤버는 개별적이 아닌 한번에 많은 항목에 대한 메모리를 할당하여 퍼포먼스를 최적화하는 데 호출된다. 윈도우 95는 32.767개의 항목으로 제한되지만 사용하는 메모리는 사용할 수 있는 시스템 메모리에 의해서만 제한된다.
2. 구문 : int InitStorage( int nItems, UINT nBytes );
3. 파라미터
nItems – 콤보박스에 추가되는 항목의 수.
nBytes – 항목 문자열 엔트리를 보관하는 데 필요한 항목마다의 바이트의 수.
4. 리턴값 : 성공하면, 메모리 할당이 일어나기 저에 보관될 수 있는 항목의 최대 수. 그렇지 않으면 요청된 메모리의 양이 사용될 수 없으면 CB_ERR.
l InsertString
1. 설명 : 그 위치에 있는 현재 항목을 아래로 이동하고 주어진 인덱스에 새로운 항목을 삽입한다. 이런 방식으로 문자열을 삽입하는 것은 CBS_SORT 스타일이 설정되어 있으면 다른 분류 옵션을 중복시킨다.
2. 구문 : int InsertString( int nIndex, LPCTSTR lpszString );
3. 파라미터
nIndex – 새로운 문자열의 인덱스.
LpszString – 콤보박스에 삽입되는 널로 끝나는 문자열.
4. 리턴값 : 성공하면 새로 삽입된 항목의 인덱스, 아니면 CB_ERR나 CB_ERRSPACE.
l LimitText
1. 설명 : 사용자가 콤보박스의 편집 컨트롤 부분에 타이핑할 수 있는 텍스트의 길이(바이트)를 제한하는 데 사용된다. 콤보박스는 이 함수가 성공적으로 리턴하기 위하여 CBS_DROPDOWNLIST 스타일을 가져야 한다.
2. 구문 : BOOL LimitText( int nMaxChars );
3. 파라미터
nMaxChars – 입력할 수 있는 최대 바이트의 수. 0이면, 제한은 65,535이다.
4. 리턴값 : 성공하면 비제로 또는 CB_ERR.
l MeasureItem
1. 설명 : 오너드로 콤보박스에서만 유효한 이 함수는 컨트롤의 리스트박스 부분의 크기에 관한 정보를 오퍼레이텅 시스템으로부터 제공받기 위하여 중복된다. 이 함수는 CBS_OWERDRAWVARIABLE 스타일이 설정되지 않는 경우에 한번만 호출된다. 그런 다음에, 컨트롤에 있는 각 항목이 한 번 호출된다. 이 함수는 오너드로 컨트롤을 위해 중복되어야 된다.
2. 구문 : virtual void MeasureItem( LPMEASUREITEMSTRUCT lpMeasureItemStruct );
3. 파라미터
lpMeasureItemStruct – 컨트롤에 대한 정보, 현재 항목과 높이 정보에 대한 정보를 포함하는 구조체에 대한 포인터. 이 구조체는 적당한 크기로 채워져야 된다.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l OnChildNotify
1. 설명 : 부모 컨트롤로부터 알림 코드 메시지를 받도록 중복한다. 이 함수의 기본적인 구현은 다른 가상 알림 코드 멤버 함수를 해석하고 실행한다. (CComboBox::DrawItem()를 실행하기 위해 WM_DRAWITEM 메시지를 해석하는 것과 같은).
2. 구문 : virtual BOOL OnChildNotify( UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pLResult);
3. 파라미터
message – 메시지.
wParam – 메시지 특정의 데이터.
lParam – 메지지 특정의 데이터.
pLResult – 알림 코드 메시지에 따라 리턴된 결과 코드의 주소.
4. 리턴값 : 기본 구현은 모든 처리되지 않은 메시지에 대해 FALSE를 리턴하고 컨트롤에 의해 처리된 메시지에 대해서는 TRUE.
l Paste
1. 설명 : 콤보박스의 편집 컨트롤 부분(현재 커서가 있는 위치)에 클립보드의 내용(CF_TEXT 형식이면)을 복사한다.
2. 구문 : void Paste();
3. 파라미터 : 없음.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l ResetContent
1. 설명 : 콤보박스에서 모든 항목을 제거한다.
2. 구문 : void ResetContent();
3. 파라미터 : 없음.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l SelectString
1. 설명 : 제공된 텍스트(대소문자구분)를 포함하는 리스트박스에 있는 첫번째 항목을 선택하고 콤보박스의 편집 부분을 갱신한다.
2. 구문 : int SelectString( int nStartAfter, LPCTSTR lpszString );
3. 파라미터
nStartAfter – 찾기가 시작되는 항목의 첫번째 인덱스. 이 값이 0에서 GetCount()-1까지의 범위이거나 콤보박스의 전체 내용을 찾기 위해서는 –1.
lpszString – 콤보박스 함수 내에서 찾는 널로 끝나는 문자열. 이 문자열은 그것이 항목의 접두사이면 항목을 선택한다.
4. 리턴값 : 일치하는 항목의 인덱스 또는 없으면 CB_ERR.
l ShowDropDown
1. 설명 : 콤보박스의 리스트박스 부분을 표시하거나 숨긴다. 이것은 CBS_DROPDOWNLIST나 CBS_DROPDOWN 스타일로 된 콤보박스에만 적용된다.
2. 구문 : void ShowDropDown( BOOL bShowIt = TRUE );
3. 파라미터
bShowIt – 리스트박스 부분이 표시 되면 TRUE, 리스트박스를 숨기려면 FALSE.
4. 리턴값 : 아무 것도 리턴하지 않는다.
CListBox
l AddString
1. 설명 : 리스트박스에 있는 현재의 항목에 문자열을 추가한다. 리스트박스가 LBS_SORT 타입을 가지면 문자열은 분류된 위치에 삽입된다.
2. 구문 : int AddString( LPCTSTR lpszString );
3. 파라미터
lpszString – 추가되는 텍스트를 포함하는 널로 끝나는 문자열
4. 리턴값 : 추가되는 문자열의 위치를 나타내는 0이거나 0보다 큰 값. 그렇지 않으면 리턴 값은 LB_ERR이거나 LB_ERRSPACE이다.
l CharToItem
1. 설명 : 리스트박스로부터 보내진 WM_CHARTOITEM 메시지에 응답하여 항목의 커스텀 선택을 수행하기 위하여 이 멤버 함수를 중복한다. 이 멤버는 비어있지 않고 LBS_HASSTRINGS 스타일 플래그 셋을 갖지 않는 오너드로 리스트박스에만 호출된다. 이 멤버의 일반적인 사용은 키보드를 사용하여 리스트박스 엔트리의 커스텀 선택을 제공하는 것이다.
2. 구문 : virtual int CharToItem( UINT nKey, UINT nIndex );
3. 파라미터
nKey – 사용자가 누른 키의 ANSI 문자 코드.
NIndex – 현재 리스트박스 카렛 위치.
4. 리턴값 : 기본적으로, 이 멤버는 기본적인 리스트박스 처리를 수행하기 위하여 –1을 리턴한다. 이 멤버를 중복할 때, 어떤 처리도 이루어질 필요가 없는 것을 나타내기 위하여 –2를 리턴한다. 0이거나 0보다 큰 값의 리턴 인덱스 값은 nKey에 대한 기본 행위는 리턴 인덱스에 있는 항목으로 처리되어야한다는 것을 나타낸다.
l CompareItem
CComboBox::CompareItem()과 일치
l Create
CComboBox::Create()과 일치
l DeleteItem
CComboBox::DeleteItem()과 일치
l DeleteString
CComboBox::DeleteString()과 일치
l Dir
CComboBox::Dir()과 일치
l DrawItem
CComboBox::DrawItem()과 일치
l FindString
CComboBox::FindString()과 일치
l FindStringExact
CComboBox::FindStringExact()과 일치
l GetAnchorIndex
1. 설명 : 확장된 선택 기능을 사용하여 다중 선택 리스트박스에 대한 연속적인 선택 범위에 있는 현재 앵커를 얻는다. 앵커는 선택이 확장되는 시작 인덱스로 정의된다.
2. 구문 : int GetAnchorIndex() const;
3. 파라미터 : 없음
4. 리턴값 : 현재 앵커 항목의 인덱스, 그렇지 않으면 LB_ERR.
l SetAnchorIndex
1. 설명 : 확장 선택을 사용하여 다중 선택 리스트박스에 대해 연속적인 선택 범위에 첫번째 항목을 설정한다.
2. 구문 : void SetAnchorIndex( int nIndex );
3. 파라미터
nIndex – 리스트박스 항목의 인덱스.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l GetCaretIndex
1. 설명 : 다중 선택 리스트박스에서 현재 포커스를 갖는 항목 인덱스를 얻는다.
2. 구문 : int GetCaretIndex() const;
3. 파라미터 : 없음.
4. 리턴값 : 현재 포커스 항목의 인덱스 또는 단일 선택 리스트박스에 있는 현재 선택된 항목.
l SetCaretIndex
1. 설명 : 현재의 포커스를 다중 선택 리스트박스의 특정 항목으로 설정한다.
2. 구문 : int SetCaretIndex( int nIndex, BOOL bScroll = TRUE );
3. 파라미터
nIndex – 포커스를 받는 항목의 인덱스.
bScroll – TRUE이면 항목은 최소한 부분적으로 보일 때까지 뷰에 스크롤된다. FALSE이면, 항목은 전체가 보이도록 뷰에 스크롤된다.
4. 리턴값 – 에러가 발생하면 LB_ERR 그렇지 않으면 성공.
l GetCount
CComboBox::GetCount()과 동일
l GetCurSel
CComboBox::GetCurSel()과 동일
l SetCurSel
CComboBox::SetCurSel()과 동일
l GetHorizontalExtent
CComboBox::GetHorizontalExTent()과 동일
l SetHorizontalExtent
CComboBox::SetHorizontalExtent()과 동일
l GetItemData
CComboBox::GetItemData()과 동일
l SetItemData
CComboBox::SetItemData()과 동일
l GetItemDataPtr
CComboBox::GetItemDataPtr()과 동일
l SetItemDataPtr
CComboBox::SetItemDataPtr()과 동일
l GetItemHeight
CComboBox::GetItemHeight()과 동일 ( 차이점 : 콤보박스는 편집부분의 –1인덱스 포함 )
l SetItemHeight
CComboBox::SetItemHeight()과 동일 ( 차이점 : 콤보박스는 편집부분의 –1인덱스 포함 )
l GetItemRect
1. 설명 : 항목의 사각형의 리스트박스 사용자 좌표를 얻는다. 항목은 현재 보여야 한다.
2. 구문 : int GetItemRect( int nIndex, LPRECT lpRect ) const;
3. 파라미터
nIndex – 항목의 인덱스.
lpRect – 항목의 사용자 좌표가 넣어지는 주소.
4. 리턴값 : 에러가 발생하면 LB_ERR 그렇지 않으면 성공.
l GetLocale
CComboBox::GetLocale()과 동일
l SetLocale
CComboBox::SetLocale()과 동일
l GetSel
1. 설명 : 리스트박스에 있는 개별 항목의 선택 상태를 얻는다.
2. 구문 : int GetSel( int nIndex ) const;
3. 파라미터
nIndex – 리스트박스 항목의 인덱스.
4. 리턴값 : 항목이 현재 선택되어 있지 않으면 비제로, 그렇지 않으면 FALSE.
l SetSel
1. 설명 : 다중 선택 리스트박스에 있는 개별 항목의 선택 상태를 설정한다.
2. 구문 : int SetSel( int nIndex, BOOL bSelect = TRUE );
3. 파라미터
nIndex – 리스트박스 항목의 인덱스.
bSelect – TRUE는 항목을 선택하고, FALSE는 항목에서 선택을 제거한다.
4. 리턴값 : 에러가 발생하면 LB_ERR, 그렇지 않으면 성공.
l GetSelCount
1. 설명 : 다중 선택 리스트박스에 있는 선택된 항목의 수를 얻는다.
2. 구문 : int GetSelCount() const;
3. 파라미터 : 없음.
4. 리턴값 : 선택된 항목의 수, 단일 선택 리스트박스에 대해서는 LB_ERR.
l GetSelItems
1. 설명 : 다중 선택 리스트박스에 대한 선택된 항목 인덱스의 배열을 리턴한다.
2. 구문 : int GetSelItems( int nMaxItems, LPINT rgIndex ) const;
3. 파라미터
nMaxItems – rgIndex에서 보관되는 인덱스의 수.
rgIndex – 선택 인덱스에 대한 사용자가 할당하는 보관.
4. 리턴값 : rgIndex에 쓰여지는 인덱스의 수 또는 단일 선택 리스트박스에는 LB_ERR.
l GetText
1. 설명 : 주어진 인덱스에 있는 리스트박스 항목의 텍스트를 얻는다.
2. 구문 : int GetText( int nIndex, LPTSTR lpszBuffer ) const;
void GetText( int nIndex, CString& rString ) const;
3. 파라미터
nIndex – 항목의 인덱스.
LpszBuffer – 항목의 포함하는 버퍼의 주소. 이 버퍼는 항목 텍스트를 포함하기 위하여 충분항 영역을 가져야 한다.
rString – 항목 텍스트에 대한 대상 버퍼.
4. 리턴값 : 문자열의 길이(바이트), 그렇지 않고 에러가 발생하면 LB_ERR.
l GetTextLen
1. 설명 : 주어진 인덱스에 있는 항목의 텍스트의 높이를 얻는다.
2. 구문 : int GetTextLen( int nIndex ) const;
3. 파라미터
nIndex – 항목의 인덱스.
4. 리턴값 : 널로 끝나는 문자를 제외한 항목의 텍스트의 바이트 크기.
l GetTopIndex
CComboBox::GetTopIndex()과 동일
l InitStorage
CComboBox::InitStorage()과 동일
l InsertString
CComboBox::InsertString()과 동일
l ItemFromPoint
1. 설명 : 기술한 위치에서 가장 가까운 리스트박스 항목을 판단한다.
2. 구문 : UINT ItemFromPoint( Cpoint pt, BOOL& bOutside ) const;
3. 파라미터
pt – 리스트박스의 왼쪽 상단 구석을 기준으로 알려고 하는 위치를 나타내는 좌표.
bOutside – 불리언에 대한 참조. 이 값은 pt가 리스트박스의 사용자 영역의 밖에 있으면 TRUE로 설정되고 그렇지 않고 pt가 리스트박스 내에 있으면 FALSE.
4. 리턴값 : 주어진 좌표에 가장 가까운 항목의 인덱스.
l MeasureItem
CComboBox::MeasureItem()과 동일
l OnChildNotify
CComboBox::OnChildNotify()과 동일
l ResetContent
CComboBox::ResetContent()과 동일
l SelectString
CComboBox::SelectString()과 동일
l SelItemRange
1. 설명 : 리스트박스 내에 있는 어떤 범위의 항목들을 선택하거나 해제한다.
2. 구문 : int SelItemRange( BOOL bSelect, int nFirstItem, int nLastItem );
3. 파라미터
bSelect – TRUE는 어떤 범위를 선택한다. FALSE는그 범위에 있는 선택을 제거한다.
nFirstItem – 범위에 있는 첫번째 항목의 인덱스.
NLastItem – 범위에 있는 마지막 항목의 인덱스.
4. 리턴값 : 에러가 발생하면 LB_ERR, 그렇지 않으면 성공.
l SetColumnWidth
1. 설명 : LBS_MULTICOLUMN 스타일로 된 리스트박스에 있는 모든 컬럼의 폭을 픽셀로 설정한다.
2. 구문 : void SetColumnWidth( int cxWidth );
3. 파라미터
cxWidth – 리스트박스에 있는 컬럼의 폭(픽셀).
4. 리턴값 : 아무 것도 리턴하지 않는다.
l SetTabStops
1. 설명 : 위치를 변경시키기 위하여 리스트박스에 탭스톱을 설정한다. 이것은 LBS_USETABSTOPS 스타일을 갖는 리스트박스에만 영향을 준다. 이 탭스톱은 항목 텍스트에서 탭문자를 만날 때 마다 사용된다.
2. 구문 : BOOL SetTabStops( int nTabStops, LPINT rgTabStops );
BOOL SetTabStops( const int& cxEachStop );
3. 파라미터
nTabStops – rgTabStops에 포함되어 있는 탭스톱의 수(부호 없는 정수). 이 값은 1보다 커야한다.
rgTabStops – 개별 탭 스톱에 대한 다이얼로그 단위 갓을 나타내는 rgTabStops 부호없는 정수의 배열.
cxEachStop – 탭스톱은 모든 cxEachStop 다이얼로그 단위에 설정된다.
4. 리턴값 : 성공하면 비제로, 그렇지 않으면 0.
l SetTabStops
1. 설명 : 리스트박스에 있는 탭스톱을 다이얼로그 단위의 일정한 기존 위치로 설정한다. 이것은 LBS_USETABSTOPS 스타일을 갖는 리스트박스에만 영향을 준다.
2. 구문 : void SetTabStops();
3. 파라미터 : 없음.
4. 리턴값 : 성공하면 비제로, 그렇지 않으면 0.
l SetTabStops
1. 설명 : 위치를 통일하기 위하여 리스트박스에 탭스톱을 설정한다. 이것은 LBS_YESTABSTOPS 스타일을 갖는 리스트박스에만 영향을 준다.
2. 구문 : BOOL SetTabStops( const int& cxEachStop );
3. 파라미터
cxEachStop – 탭스톱은 cxEachStop 다이얼로그 단위에 설정된다.
4. 리턴값 : 성공하면 비제로, 그렇지 않으면 0.
l VKeyToItem
1. 설명 : 리스트박스로부터 보내지는 WM_VKEYTOITEM 메시지에 응답하기 위하여 커스텀 선택을 수행하기 위하여 이 멤버 함수를 중복시킨다.
2. 구문 : virtual int VKeyToItem( UINT nKey, UINT nIndex );
3. 파라미터
nKey – 사용자에 의해 누른 키의 가상 키 코드.
nIndex – 현재 리스트박스 카렛 위치.
4. 리턴값 : 기본적으로, 이 멤버는 기본 행위로 키를 처리하기 위하여 –1을 리턴한다. 이 멤버를 중복시킬 때, 어떤 처리도 이루어질 필요가 없다는 것을 나타내기 위하여 –2,0이나 0보다 더 큰 리턴 인덱스 값은 nKey에 대한 기본 행위는 리턴 인덱스에 있는 항목으로 수행되어야 한다.
CEdit
l CanUndo
1. 설명 : 마지막으로 편집한 처리가 원래대로 복원할 수 있는가를 판단한다. 이것은 입력한 텍스트뿐만 아니라 붙여 넣은 텍스트도 포함한다.
2. 구문 : BOOL CanUndo() const;
3. 파라미터 : 없음.
4. 리턴값 : 원래대로 복원할 수 있으면 TRUE, 그렇지 않으면 FALSE.
l CharFromPos
1. 설명 : 윈도우 95에서 사용되는 이 멤버는 CEdit 컨트롤 내에 있는 주어진 위치의 가장 가까운 라인과 문자 인덱스를 처리한다.
2. 구문 : int CharFromPos( CPoint pt ) const;
3. 파라미터
pt – CEdit 컨트롤 내에 있는 x, y 위치.
4. 리턴값 : 상위워드 WORD에 라인 인덱스와 하위워드 WORD에 문자의 인덱스.
l Clear
1. 설명 : 편집 컨트롤에서 선택된 텍스트를 삭제한다.
2. 구문 : void Clear();
3. 파라미터 : 없음.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l Copy
1. 설명 : 편집 컨트롤에서 선택된 텍스트를 클립보드에 복사한다. 이 데이터는 CF_TEXT 형식으로 클립보드에서 사용할 수 있다.
(clipboard - A set of functions and messages used to transfer information between applications or within an application.)
2. 구문 : void Copy();
3. 파라미터 : 없음.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l Create
1. 설명 : 구축한 다음에, 편집 컨트롤을 생성하고 오브젝트를 붙이기 위하여 이 멤버를 호출한다.
2. 구문 : BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
3. 파라미터
dwStyle – 컨트롤에 사용되는 스타일.
rect – 부모 윈도우의 사용자 좌표인 컨트롤의 위치와 크기를 나타낸다.
pParentWnd – 컨트롤의 부모 윈도우.
nID – 컨트롤의 자식 ID. 형제 윈도우 중에서 중복되지 않아야 한다.
4. 리턴값 : 성공하면 TRUE, 그렇지 않으면 FALSE.
[ Edit Style ]
ES_AUTOHSCROLL |
에디트 컨트롤 내에 텍스트를 입력할 때 에디트 영역의 크기를 넘기면 자동으로 수평 스크롤된다. |
ES_AUTOVSCROLL |
여러 줄의 에디트 컨트롤 내에 텍스트를 입력할 때 자동으로 수직스크롤된다. |
ES_CENTER |
여러 줄의 에디트 컨트롤에서 텍스트를 가운데로 정령한다. |
ES_LEFT |
텍스트를 좌측으로 정렬한다. |
ES_LOWERCASE |
에디트 컨트롤에 소문자의 입력만을 허용한다. 대문자가 입력되면 자동으로 소문자로 바뀐다. |
ES_MULTILINE |
여러 줄의 에디트 컨트롤을 만든다. 엔터키를 개행 문자(Carriage Return)로 인식시키려면 ES_WANTRETURN 스타일을 이용해야 한다. |
ES_NOHIDESEL |
에디트 컨트롤에 입력 초점을 가지고 있지 않더라도 선택 영역 표시가 없어지지 않도록 한다. |
ES_NUMBER |
에디트 컨트롤에 숫자만이 입력될 수 있도록 한다. |
ES_OEMCONVERT |
입력된 텍스트는 Windows 문자셋에서 OEM 문자 세트로 변환되며 다시 Windows 세트로 되돌려진다. 이는 CharToOem 함수를 사용했을 때 변환이 정확히 일어나게 해준다. (OEM - See original equipment manufacturer.) |
ES_PASSWORD |
입력되는 각 문자를 암호 문자로 표시한다. 디폴트 암호 문자는 애스터리스크(*)이다. 암호문자를 변경 하려면 ES_SETPASSWORDCHAR 메시지를 이용한다. |
ES_READONLY |
읽기 전용 컨트롤을 생성하여 사용자가 컨트롤 내에 텍스트를 입력하거나 편집할 수 없도록 한다. |
ES_RIGHT |
여러 줄의 에디트 컨트롤에서 텍스트를 오른쪽으로 정렬한다. |
ES_UPPERCASE |
에디트 컨트롤에 대문자의 입력만을 허용한다. 소문자가 입력되면 자동으로 대문자로 바뀐다. |
ES_WANTRETURN |
엔터키를 여러 줄의 에디트 컨트롤에서 개행 문자로 인식하도록 한다. 디폴트는 엔터키를 주르면 대화 상자 내의 디폴트 버튼을 선택하게 되며 이 때에는 ctrl-enter 키가 개행 문자 역할을 한다. |
l Cut
1. 설명 : 편집 컨트롤에서 선택된 텍스트를 클립보드에 복사한다. 이 데이터는 CF_TEXT 형식으로 클립보드에서 사용할 수 있다.
2. 구문 : void Cut();
3. 파라미터 : 없음.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l EmptyUndoBuffer
1. 설명 : 원래대로 하는 버퍼의 내용을 다시 고치고 이전 상태로 돌리는 것을 사용할 수 없게 한다. 이 함수는 자동적으로 CEdit::SetHandle()과 CWnd::SetWindowText() 함수에 의해 호출된다.
2. 구문 : void EmptyUndoBuffer();
3. 파라미터 : 없음.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l FmtLines
1. 설명 : 소프트라인 브레이크가 다중 라인 편집 컨트롤에 사용되는가를 판단한다. 소프트라인 브레이크가 두 개의 캐리지리턴 문자와 한 개의 라인피드 문자로 구성된다. 이들 문자는 보통 워드랩 때문에 텍스트에 삽입된다. 소프트라인 브레이크의 용도는 편집 컨트롤로부터 얻는 텍스트에만 영향을 주지만, 텍스트의 표시를 바꾸지는 않는다.
2. 구문 : BOOL FmtLines( BOOL bAddEOL );
3. 파라미터
bAddEOL – TRUE는 컨트롤이 소프트라인 브레이크를 사용하도록 하고, FALSE는 사용할 수 없게 한다.
4. 리턴값 : 컨트롤이 형식을 바꿔야 하면 비제로, 그렇지 않으면 0.
l GetFirstVisibleLine
1. 설명 : 다중 라인 편집 컨트롤에 첫번째로 보이는 라인의 인덱스를 리턴한다.
2. 구문 : int GetFirstVisibleLine() const;
3. 파라미터 : 없음.
4. 리턴값 : 다중 라인 편집 컨트롤에 첫번째 보이는 라인의 인덱스 또는 단일 라인 편집 컨트롤에 대해서는 0.
l GetHandle
1. 설명 : 다중 라인 편집 컨트롤의 내용을 포함하는 메모리 핸들을 리턴한다. 이 함수를 사용하기 위하여, 편집 컨트롤은 DS_LOCALEDIT 스타일을 가져야 한다.
2. 구문 : HLOCAL GetHandle() const; (HLOCAL : (DataType) local memory block의 핸들)
3. 파라미터 : 없음.
4. 리턴값 : 컨트롤의 내용에 대한 메모리 핸들. 그렇지 않으면 NULL. 컨트롤이 DS_LOCALEDIT 스타일을 갖지 않으면, 리턴된 값은 NULL이 아니고 사용될 수 없다.
l SetHandle
1. 설명 : 다중 라인 편집 컨트롤에 새로운 버퍼를 제공한다. 이 함수가 호출되기 전에 현재 버퍼는 CEdit::GetHandle()를 호출하여 얻어지고 윈도우 함수 LocalFree()를 호출하여 해제된다.
2. 구문 : void SetHandle( HLOCAL hBuffer );
3. 파라미터
hBuffer – 텍스트로 채워지는 새로운 버퍼에 대한 핸들. 텍스트는 널로 끝나거나 첫번째 바이트는 0으로 설정한다.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l GetLimitText
1. 설명 : 윈도우 95에서 처리되는 이 멤버는 컨트롤이 받을 수 있는 텍스트의 최대 크기를 얻는다.
2. 구문 : UINT GetLimitText() const;
3. 파라미터 : 없음.
4. 리턴값 : 컨트롤이 포함할 수 있는 텍스트의 최대 크기(바이트).
l SetLimitText
1. 설명 : 윈도우 95에서만 지원되는 이 멤버는 사용자가 컨트롤에 입력하는 텍스트의 최대 크기를 설정하지만 ::SetWindowText()를 사용하여 설정되는 텍스트의 크기는 영향을 받지 않는다.
2. 구문 : void SetLimitText( UINT nMax );
3. 파라미터
nMax – 사용자가 입력할 수 있는 텍스트의 최대 크기(바이트).
4. 리턴값 : 아무 것도 리턴하지 않는다.
l GetLine
1. 설명 : 컨트롤로부터 기술한 인덱스에 있는 텍스트의 라인을 얻는다.
2. 구문 : int GetLine( int nIndex, LPTSTR lpszBuffer ) const;
int GetLine( int nIndex, LPTSTR lpszBuffer, int nMaxLength ) const;
3. 파라미터
nIndex – 얻는 라인의 인덱스. 이 번호는 0과 GetLineCount()-1사이에 있어야 한다.
lpszBuffer – 얻는 텍스트의 대상 주소. 이 멤버는 첫번째 형식에서, 버퍼에 있는 첫번째 워드는 버퍼의 크기(바이트)를 포함하여야 한다.
nMaxLength – 버퍼의 크기(바이트).
4. 리턴값 : 복사되는 실제 바이트의 수
l GetLineCount
1. 설명 : 다중 라인 편집 컨트롤에 있는 텍스트 라인의 수를 리턴한다.
2. 구문 : int GetLineCount() const;
3. 파라미터 : 없음.
4. 리턴값 : 컨틀롤에 있는 라인의 수. 컨트롤이 어떤 텍스트도 포함하지 않으면 1의 값이 리턴된다.
l GetMargins
1. 설명 : 윈도우 95에서만 처리되는 이 멤버는 편집 컨트롤의 왼쪽과 오른쪽 경계를 얻는다.
2. 구문 : DWORD GetMargins() const;
3. 파라미터 : 없음.
4. 리턴값 : 하위워드는 왼쪽 경계(픽셀)를 포함하고, 상위워드는 오른쪽 경계(픽셀)을 포함.
l SetMargins
1. 설명 : 윈도우 95에서만 지원되는 이 멤버는 편집컨트롤의 왼쪽과 오른쪽 경계를 설정한다.
2. 구문 : void SetMargins( UINT nLeft, UINT nRight );
3. 파라미터
nLeft – 컨트롤에 대한 왼쪽 경계(픽셀).
nRight – 컨트롤에 대한 오른쪽 경계(픽셀).
4. 리턴값 : 아무 것도 리턴하지 않는다.
l GetModify
1. 설명 : 편집 컨트롤의 내용이 변경되었는가를 판단한다. 이 함수는 사용자 파라미터가 값을 변경했는가를 판단하는데 유용한다.
2. 구문 : BOOL GetModify() const;
3. 파라미터 : 없음.
4. 리턴값 : 컨트롤의 내용이 변경되었으면 비제로, 그렇지 않으면 0.
l SetModify
1. 설명 : 편집 컨트롤의 수정 상태를 결정한다.
2. 구문 : void SetModify( BOOL bModified = TRUE );
3. 파라미터
bModified – 컨트롤이 설정되는 상태. TRUE는 컨트롤이 수정되었다는 것을 나타내고, FALSE는 수정 플래그를 해제한다.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l GetPasswordChar
1. 설명 : 마스크 패스워드 편집 컨트롤에 사용되는 문자를 얻는다.
2. 구문 : TCHAR GetPasswordChar() const;
3. 파라미터 : 없음.
4. 리턴값 : 마스크에 사용되는 문자 또는 어떤 패스워드 문자도 설정되지 않았으면 NULL.
l SetPasswordChar
1. 설명 : 패스워드 마스크 문자가 단일 라인 편집 컨트롤에 적용되게 한다. 이 마스크 문자는 편집 컨토롤에 표시되는 텍스트를 바꾸는 데 사용된다.
2. 구문 : void SetPasswordChar( TCHAR ch );
3. 파라미터
ch – 문자 마스크나 이전의 패스워드 문자를 제거하기 위하여 0.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l GetRect
1. 설명 : 다중 라인 편집 컨트롤의 형식화된 사각형을 얻는다. 이 형식 사각형은 컨트롤의 크기에 무관하고 기본적으로 생성 시에 전체 컨트롤을 채운다.
2. 구문 : void GetRect( LPRECT lpRect ) const;
3. 파라미터
lpRect – 텍스트 형식 좌표를 포함하는 사각형의 주소.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l SetRect
1. 설명 : 다중 라인 편집 컨트롤의 형식 사각형을 설정한다. 이 형식 사각형은 컨트롤의 크기와 무관하고 기본적으로 생성 시에 전체 컨트롤을 채운다.
2. 구문 : void SetRect( LPCRECT lpRect );
3. 파라미터
lpRect – 형식 사각형 좌표를 정의하는 사각형의 주소.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l SetRectNP
1. 설명 : 컨트롤을 다시 그리지 않는 다중 라인 편집 컨트롤의 형식 사각형을 설정한다. 나머지는 SetRect와 동일.
l GetSel
1. 설명 : 컨트롤 내에있는 현재 하이라이트된 선택 텍스트의 시작과 마지막 위치를 리턴한다.
2. 구문 : DWORD GetSel() const;
void GetSel( int& nStartChar, int& nEndChar ) const;
3. 파라미터
nStartChar – 컨트롤 내에 있는 첫번째 선택된 문자의 값으로 채워진다.
NEndChar – 컨트롤 내에 있는 하이라이트된 선택 내용 다음에 첫번째 선택되지 않은 문자 위치의 값으로 채워진다.
4. 리턴값 : 첫번째 형식은 하위워드는 nStartChar를 상위워드는 nEndChar를 포함하는 값을 리턴한다. 이 멤버의 두번째 형식은 아무 것도 리턴하지 않는다.
l SetSel
1. 설명 : 컨트롤 내에 있는 문자의 범위를 선택한다.
2. 구문 : void SetSel( DWORD dwSelection, BOOL bNoScroll = FALSE );
void SetSel( int nStartChar, int nEndChar, BOOL bNoScroll = FALSE );
3. 파라미터
dwSelection – 하위워드에 시작 문자의 인덱스와 상위워드에 마지막 문자의 인덱스를 포함한다. 0의 시작 인덱스와 –1의 마지막 인덱스는 컨트롤 내에 있는 모든 텍스트를 선택한다. –1의 시작하는 인덱스는 현재 선택되어 있는 내용을 제거한다.
bNoScroll – FALSE는 카렛을 뷰로 스크롤하고, TRUE는 그렇지 않다.
nStartChar – 시작하는 문자 인덱스를 포함한다.
nEndChar – 마지막의 문자 인덱스를 포함한다. 0의 시작하는 인텍스와 –1의 마지막의 인덱스는 컨트롤에 있는 모든 텍스트를 선택한다. –1의 시작인덱스는 현재 선택되어 있는 내용을 제거한다.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l LimitText
1. 설명 : 컨트롤에 텍스트 입력 시 사용되는 바이트 수의 상한치를 설정한다.
2. 구문 : void LimitText( int nChars = 0 );
3. 파라미터
nChars – 컨트롤에 입력될 수 있는 문자의 수(바이트). 0의 값은 상한치를 UINT_MAX 바이트의 최대 값으로 설정한다.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l LineFromChar
1. 설명 : 다중 라인 편집 컨트롤의 텍스트 버퍼 내에 있는 문자 위치를 해석하여 라인 인덱스를 리턴한다. 그런 다음에, 이 인덱스는 CEdit::GetLine() 호출에 사용된다.
2. 구문 : int LineFromChar( int nIndex = -1 ) const;
3. 파라미터
nIndex – 원하는 라인 인덱스의 문자의 인덱스. –1의 값은 현재 라인 위치(카렛을 포함하는 라인)를 나타낸다.
4. 리턴값 : 문자 위치를 포함하는 라인의 인덱스 또는 nIndex=-1 이고 텍스트가 하이라이트 되면 첫번째로 선택된 문자의 라인 인덱스.
l LineIndex
1. 설명 : 라인 인덱스를 다중 라인 편집 컨트롤의 문자 인덱스로 변환된다. 문자 인덱스는 편집 컨트롤의 선두에서 기술한 라인까지 문자의 수이다.
2. 구문 : int LineIndex( int nLine = -1 ) const;
3. 파라미터
nLine – 얻는 문자 위치의 라인 인덱스. –1의 값은 현재 라인 위치(카렛을 포함하는 라인)를 나타낸다.
4. 리턴값 : 성공하면 라인의 문자 위치, 그렇지 않으면 –1.
l LineLength
1. 설명 : 기술한 라인의 길이(바이트)를 얻는다. 이 함수는 단일 그리고 다중 라인 편집 컨트롤에 사용된다.
2. 구문 : int LineLength( int nLine = -1 ) const;
3. 파라미터
nLine – 원하는 길이의 라인. –1의 값은 현재 라인(카렛을 포함하는 라인)을 나타낸다. 이 파라미터는 단일 라인 편집 컨트롤에 대해서는 무시된다.
4. 리턴값 : 기술된 라인의 길이(바이트).
l LineScroll
1. 설명 : 수직과 수평으로 다중 라인 편집 컨트롤을 스크롤한다.
2. 구문 : void LineScroll( int nLines, int nChars=0 );
3. 파라미터
nLines – 수직으로 스크롤하는 라인의 수. 편집 컨트롤이 컨트롤에 있는 텍스트의 마지막 라인데 도달될 때 스크롤을 중지한다.
nChars – 수평으로 스크롤하는 라인의 수. 이 파라미터는 ES_CENTER나 ES_RIGHT 스타일이 있으면 효과가 없다.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l Paste
1. 설명 : 클립보드의 내용(CF_TEXT 형식인 경우)을 편집 컨트롤에 있는 현재 카렛 위치에 복사한다.
2. 구문 : void Paste();
3. 파라미터 : 없음.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l PosFromChar
1. 설명 : 윈도우 95에서만 지원되는 이 멤버는 편집 컨트롤 내에 있는 주어진 문자의 좌표를 얻는다. 좌표는 문자 셀의 왼쪽 상단 구석을 나타낸다.
2. 구문 : void PosFromChar( UINT nChar ) const;
3. 파라미터
nChar – 리턴되는 위치의 문자의 0에서 시작하는 인덱스. 이 값이 컨트롤 내에 있는 문자의 수보다 크면, 리턴되는 위치는 현재 내용의 끝을 초과한 문자의 위치이다.
4. 리턴값 : 주어진 문자 셀의 양쪽 상단 좌표를 나타내는 위치.
l ReplaceSel
1. 설명 : 제공되는 텍스트가 있는 컨트롤 내에서 현재 선택되어 있는 텍스트를 바꾼다. 컨트롤이 현재 어떤 선택도 갖지 않으면, 텍스트는 현재 카렛 위치로 삽입된다.
2. 구문 : void ReplaceSel( LPCTSTR lpszNewText );
3. 파라미터
lpszNewText – 삽입하는 텍스트를 포함하는 널로 끝나는 문자열.
4. 리턴값 : 아무 것도 리턴하지 않는다.
l SetReadOnly
1. 설명 : 컨트롤의 편집 상태를 읽기전용과 편집 가능 사이를 토글한다.
2. 구문 : BOOL SetReadOnly( BOOL bReadOnly = TRUE );
3. 파라미터
bReadOnly – TRUE의 값은 컨트롤 내용의 편집을 할 수 없게 한다. FALSE는 편집을 허용한다.
4. 리턴값 : 성공하면 TRUE, 그렇지 않으면 FALSE.
l SetTabStops
1. 설명 : 위치를 바꾸기 위하여 다중 라인 편집 컨트롤에 있는 탭스톱을 설정한다. 이 탭스톱은 탭문자가 편집 컨트롤 텍스트에서 만날 때마다 사용된다. 이 함수는 자동적으로 편집 컨트롤을 갱신하지 않는다. 이 멤버의 첫번째 형식은 32 다이얼로그 단위의 일정한 기본 위치에 다중 라인 편집 컨트롤의 탭스톱을 설정한다. 이 메소드는 매킨토시에서는 사용할 수 없다.
2. 구문 : void SetTabStops();
BOOL SetTabStops( const int& cxEachStop );
BOOL SetTabStops( int nTabStops, LPINT rgTabStops );
3. 파라미터
cxEachStop – 탭스톱은 cxEachStop 다이얼로그 단위에 설정된다.
nTabStops – rgTabStops에 포함되어 있는 탭스톱의 수(부호 없는 정수). 이 값은 1보다 커야 한다.
RgTabStops – 개별 탭스톱에 대한 다이얼로그 단위 값을 나타내는 nTabStops 부호 없는 정수의 배열.
4. 리턴값 : 성공하면 비제로, 그렇지 않으면 0.
l Undo
1. 설명 : 마지막 편집 처리를 원래대로 복원한다. 이 함수는 편집 처리할 수 있게 하고 또한, 원래대로 복원시킬 수 있다.
2. 구문 : BOOL Undo();
3. 파라미터 : 없음.
4. 리턴값 : 항상 TRUE를 리턴하는 단일라인 편집 컨트롤. 다중 라인 편집 컨트롤은 성공하면 TRUE를 리턴한다. 그렇지 않으면 FALSE.
CStatic
l Create
1. 설명 : 구축한 다음에, 스태틱 텍스트 컨트롤을 생성하고 이 오브젝트에 붙이기 위하여 이멤버를 호출한다.
2. 구문 : BOOL Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
3. 파라미터
lpszText – 컨트롤에 표시되는 텍스트.
dwStyle – 유효한 윈도우 스택틱 텍스트 스타일의 조합.
rect – 부모의 사용자 좌표로 컨트롤의 위치와 크기를 나타낸다.
pParentWnd – 컨트롤의 부모 윈도우.
nID – 이 컨트롤의 자식 ID. 형제 윈도우 중에서 중복되지 않아야 한다.
4. 리턴값 : 성공하면 TRUE, 그렇지 않으면 FALSE.
SS_BITMAP |
LpszWindowName 파라미터로 지정된 비트맵을 출력하는 스태틱 컨트롤을 만든다. nWidth와 nHeight파라미터는 무시되고 크기는 비트맵에 알맞게 계산된다. |
SS_BLACKFRAME |
윈도우 프레임과 같은 색으로 그려진 사각형을 만든다. 디폴트 Windows색 구성은 검은색이다. |
SS_BLACKRECT |
윈도우 프레임과 같은 색으로 채워진 사각형을 만든다. |
SS_CENTER |
텍스트가 가운데로 정렬되고 필요한 경우 워드 래핑이 일어나는 스태틱 텍스트 컨트롤을 만든다. |
SS_CENTERIMAGE |
SS_BITMAP이나 SS_ICON 스타일을 가진 컨트롤의 중앙 위치가 비트맵이나 아이콘의 원래 크기에 따라 크기 조절이 있더라도 변하지 않는다는 것을 나타낸다. |
SS_GRAYFRAME |
화면 배경(데스크 탑)과 같은 색으로 그려진 사각형을 만든다. 기본적인 Window의 새 구성은 회색이다. |
SS_GRAYRECT |
화면과 같은 색으로 채워진 사각형을 만든다. |
SS_ICON |
lpszWindowName 파라미터로 지정된 아이콘을 출력하는 스태틱 컨트롤을 만든다. nWidth와 nHeight 파라미터는 무시되고 크기는 아이콘에 맞게 계산된다. |
SS_LEFT |
스태틱 텍스트 컨트롤을 만들고 주어진 텍스트를 좌측 정렬한다. 필요하면 워드 래핑시킨다. |
SS_LEFTNOWORDWRAP |
스태틱 텍스트 컨트롤을 만들고 주어진 텍스트를 좌측 정령한다. 텍스트는 워드 래핑시키지 않지만 탭은 확장된다. 텍스트가 줄의 범위를 벗어나면 잘려 나간다. |
SS_METAPICT |
lpszWindowName 파라미터로 지정된 메타파일을 출력하는 스태틱 컨트롤을 만든다. 컨트롤의 크기는 고정되고, 메타파일은 그에 맞추어서 크기가 조정된다. |
SS_NOPREFIX |
앰퍼샌드(&)를 단축기 문자로 인식하지 않도록 한다. |
SS_NOTIFY |
사용자가 컨트롤을 클릭하거나 더블 클릭하면 STN_CLICKED와 STN_DBLCLK 메시지를 부모 윈도우에 알려 준다. |
SS_RIGHT |
스태틱 택스트 컨트롤을 만들고 주어진 텍스트를 우측 정렬한다. 필요하면 워드 래핑시킨다. |
SS_RIGHTIMAGE |
스태틱 컨트롤의 우측 하단 부분이 컨트롤의 크기가 변하더라도 그 위치에 그대로 남아 있게 한다. 상단 부분과 좌측 부분만 비트맵이나 아이콘의 크기에 맞추어 조정된다. |
SS_SIMPLE |
간단한 스태틱 텍스트 컨트롤을 만들고 좌측 정렬시킨다. 부모 윈도우나 대화 상자에서는 WM_CTLCOLORSTATIC 메시지를 처리하면 안된다. |
SS_WHITEFRAME |
윈도우 배경과 같은 색으로 그려진 사각형을 만든다. 디폴트 Windows색구성은 흰색이다. |
SS_WHITERECT |
윈도우 배경과 같은 색으로 채워진 사각형을 만든다. |
l GetBitmap
1. 설명 : 윈도우 95에서만 사용되는 이 멤버는 CStatic오브젝트에 관련되는 비트맵을 얻는다.
2. 구문 : HBITMAP GetBitmap() const;
3. 파라미터 : 없음.
4. 리턴값 : 관련 비트맵의 핸들 또는 어떤 비트맵도 관련되지 않으면 NULL.
l SetBitmap
1. 설명 : 윈도우 95에서만 사용되는 이 멤버는 CStatic 윈도우에 표시되는 비트맵을 설정한다. 이 기능을 사용하기 위하여, SS_BITMAP 스타일 플래그가 설정되어야 한다. 기본적으로, 비트맵은 CStatic 윈도우의 왼쪽 상단 구석에 표시된다. 이것은 SS_CENTERIMAGE 스타일 플래그를 사용하여 수정된다.
2. 구문 : HBITMAP SetBitmap( HBITMAP hBitmap );
3. 파라미터
hBitmap – 새로운 비트맵 이미지에 대한 핸들.
4. 리턴값 : 이전의 관련 비트맵의 핸들이나 어떤 비트맵도 관련되어 있지 않았으면 NULL.
l GetCursor
1. 설명 : 윈도우 95에서만 사용되는 이 멤버는 CStatic 오브젝트에 관련되는 커서 이미지를 얻는다.
2. 구문 : HCURSOR GetCursor();
3. 파라미터 : 없음.
4. 리턴값 : 관련 커서 이미지의 핸들 또는 관련된 어떤 커서 이미지도 없으면 NULL.
l SetCursor
1. 설명 : 윈도우 95에서만 사용되는 이 멤버는 CStatic 윈도우에 표시되는 커서 이미지를 설정한다. 이 기능을 사용하기 위하여 SS_ICON 스타일 플래그가 설정되어야 한다. 기본적으로, 비트맵은 CStatic 윈도우의 왼쪽 상단 구석에 표시된다. 이것은 SS_CENTERIMAGE 스타일 플래그를 사용하여 수정된다.
2. 구문 : HCURSOR SetCursor( HCURSOR hCursor );
3. 파라미터
hCursor – 새로운 커서 이미지에 대한 핸들.
4. 리턴값 : 관련 커서 이미지의 핸들 또는 관련된 어떤 커서 이미지도 없으면 NULL.
l GetEnhMetafile
1. 설명 : 윈도우 95에서만 사용되는 이 멤버는 CStatic 오브젝트에 관련되는 개선된 메타파일을 얻는다.
2. 구문 : HENHMETAFILE GetEnhMetafile() const;
3. 파라미터 : 없음.
4. 리턴값 : 관련 개선된 메타파일의 핸들 또는 관련된 어떤 개선된 메타파일도 없으면 NULL.
l SetEnhMetafile
1. 설명 : 윈도우 95에서만 사용되는 이 멤버는 CStatic 오브젝트에 관련되는 개선된 메타파일을 설정한다. 이 기능을 사용하기 위하여 SS_ENHMETAFILE 스타일 플래그가 설정되어야 한다. 개선된 메타파일은 항상 CStatic 윈도우의 현재 크기로 조정된다.
2. 구문 : HENHMETAFILE SetEnhMetafile( HENHMETAFILE hMetaFile );
3. 파라미터
hMetaFile – 새로운 개선된 메타파일에 대한 핸들.
4. 리턴값 : 이전에 관련된 개선된 메타파일의 핸들 또는 이전에 관련된 어떤 개선된 페타파일도 없으면 NULL.
l GetIcon
1. 설명 : SS_ICON 스타일을 갖는 스태틱 텍스트 컨트롤에 표시되는 현재 아이콘을 얻는다.
2. 구문 : HICON GetIcon() const;
3. 파라미터 : 없음.
4. 리턴값 : 현재 아이콘의 핸들 또는 에러가 발생하면 NULL.
l SetIcon
1. 설명 : 새로운 아이콘을 SS_ICON 스타일을 갖는 스태틱 텍스트 컨트롤로 표시되게 설정한다.
2. 구문 : HICON SetIcon( HICON hIcon );
3. 파라미터
hIcon – 새로운 아이콘의 핸들.
4. 리턴값 : 컨트롤에 이전에 표시된 아이콘의 핸들 또는 에러가 발생하면 NULL.
'C & C++ > MFC 컨트롤' 카테고리의 다른 글
스핀(Spin) 컨트롤 - 스핀 (0) | 2011.12.14 |
---|---|
버튼(Button) 에 글자 / 배경색 지정 - 버튼 (0) | 2011.12.14 |
다이얼로그 자석 효과 (0) | 2011.12.14 |
팝업(Popup) 메뉴 생성 - 팝업 (0) | 2011.12.14 |
List 정렬하기 - 리스트 (0) | 2011.12.14 |
댓글