LuvSea

각 클래스별 자주 사용되는 멤버 함수 본문

sTudy

각 클래스별 자주 사용되는 멤버 함수

사랑海 2010. 3. 25. 17:49
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
1. CWnd Class에서 자주 사용되는 멤버 함수
   모든 컨트롤 클래스의 기반 클래스이기 때문에 CWnd 클래스의 멤버 함수는 모든 컨트롤 클래스의 멤버 함수이다.
Create : 윈도우를 생성
            이 함수는 윈도우의 스타일, 위치, 크기 등 많은 매개변수를 필요로 한다.
            CWnd 클래스에서 상속 받은 클래스는 모두  Create 함수를 호출하여 생성시킬 수 있다.
            CWnd 파생 클래스 중 상당 부분에는 이 함수가 재정의 되어 있슴.

ShowWindow :  윈도우를 화면에 보이게 하거나 보이지 않게 한다.
                       매개변수로 SW_SHOW를 넘겨주면 윈도우가 화면상에 보이게 되고, 매개변수로 SW_HIDE를 넘겨주면 윈도우가 화면에서  사라진다.
                       이것은 윈도우를 아예 없애는 것이 아니고, 그대로 존재는 하되, 보이지만 않게 만드는 것이다.

EnableWindow : 윈도우를 활성화 시키거나 비활성화 시키는 함수
                        매개변수로  TURE를 넘겨주면 윈도우가 활성화 되고, 매개변수로  FALSE를 넘겨주면 윈도우가 비활성화 된다.
                        윈도우 비활성시 색이 회색으로 바뀌고, 키보드나 마우스 등으로부터 아무런 입력도 받아들이지 않게 된다.

SetWindowPos,  MoveWindow : 윈도우의 크기와 위치를 변경

SetWindowText : 윈도우의 메인 텍스트를 변경
                         프레임 윈도우의 경우에 매인 텍스트는 타이틀에 씌어진 텍스트이고,  Edit 컨트롤의 경우에는 편집 상자에 씌어 있는 텍스트이며,
                         Button 컨트롤의 경우에는 버튼의 캡션이 메인 텍스트가 된다.


2. CEdit에서 자주 사용되는 멤버 함수
   Edit 컨트롤을 구현해 놓은 클래스.
   Edit 컨트롤의 주된 기능이 텍스트를 입력 받는 것인 만큼, CEdit 클래스에서는 텍스트를 제어하는데 필요한 기능들이 마련되어 있다.

GetSel, SetSel : 각각, Edit 컨트롤에서 선택된 부분의 문자열을 얻어오고, 특정 부분을 선택영역으로 설정하는 기능

ReplaceSel :  선택된 부분의 텍스트를 지정한 텍스트로 치환하는 기능

GetLineCount :  현제 Edit 컨트롤에 몇 줄의 텍스트가 입력되었는지 얻어오는 기능

GetLine : 지정된 라인의 텍스트를 얻어오는 기능


3. CButton Class에서 자주 사용되는 멤버 함수
    Button, Check Box, Radio Button 등 버튼에 관련된 모든 기능을 구현 해 놓은 클래스
    각 버튼별로 모양은 다르지만, 동작이나 제어 방법은 거의 비슷하기 때문에 CButton 클래스에서 일괄 관리하도록 되어 있다.
    버튼을 누르는 것이 주된 기능이기 때문에, CButton 클래스에는 눌려진 상태를 얻어오거나 설정하는 기능이 마련되어 있다.

GetCheck, SetCheck :  각각 버튼이 눌려진 상태를 얻어오고, 설정하는 기능을 한다.
                                  Check Box 컨트롤은 체크 된 상태가 눌려진 상태이고, Radio Button 컨트롤은 선택된 상태가 눌려진 상태이다.


4. CSpinButtonCtrl Class에서 자주 사용되는 멤버 함수
    Spin 컨트롤을 구현해 놓은 클래스
    Spin 컨트롤은 보통  Edit 컨트롤과 연결되어 화살표 버튼을 이용해 숫자를 증감시키는 기능을 수행한다. 

GetRange, SetRange : 각각, Spin 컨트롤로 증감 시킬 수 있는 숫자의 범위를 얻어오고, 설정하는 기능

GetPos, SetPos : 각각  Spin 컨트롤에 현재 설정된 값을 얻어오고, 설정하는 기능

GetBuddy, SetBuddy :  각각 Spin 컨트롤과 연결된 컨트롤을 얻어오고, 설정하는 기능


5. CScrollBar Class에서 자주 사용되는 멤버 함수
   스크롤바 컨트롤을 구현해 놓은 클래스
   주어진 어떤 범위내의 숫자를 입력 받는 기능을 수행한다.
   따라서 CScrollBar 클래스에는 입력을 받아들일 범위를 설정하고, 입력된 숫자를 얻어오는데 관련된 기능들이 마련되어 있다.

GetScrollRange, SetScrollRange : 각각 스크롤바 컨트롤의 증감될 수 있는 숫자의 범위를 얻어오고, 설정하는 기능
                                                 EX) SetScrollRange(0, 100);을 호출할 경우 논리적으로 0부터 100까지의 범위를 스크롤하게 된다.

GetScrollPos, SetScrollPos :  각각 스크롤바 컨트롤에 현재 설정된 값을 얻어오고, 설정하는 기능을 한다.


6. CListBox Class와 CComboBox에서 자주 사용되는 멤버 함수
각각, List Box 컨트롤과 Combo Box 컨트롤을 구현해 놓은 클래스
둘 다 여러 개의 문자열을 출력시켜 주고, 그 중에서 문자열을 객관식으로 선택하여 입력할 수 있게 해준다는 점이 공통점이다.
다만, 리스트 박스는 선택할 수 있는 문자열을 한꺼번에 보여주고 있고, 콤보 박스는 화살표 버튼을 눌렀을 때만 보여준다는 점이 다르다.

따라서 각각의 클래스에 구현되어 있는 함수들은 함수명도 거의 같고, 기능도 거의 같다.
이 클래스들에는 문자열을 여러 개 추가해서 보여주고, 이 중에서 객관식으로 선택을 하는데 필요한 기능들이 마련되어 있다.

GetCount : 컨트롤에 들어있는 문자열의 개수를 얻어오는 기능을 한다.

GetCurSel, SetCurSel :  각각 현재 선택된 문자열의 인덱스를 얻어오거나, 설정하는 기능을 한다.
                                  EX) 현재, 다섯 번째 문자열이 선택되어 있는 상태에서 GetCurSel()함수를 호출하면 4가 반환(인덱스는 0부터 시작하기때문)
                                        반대로, SetCursel(4)을 호출하면 다섯 번째 문자열이 선택된다.

AddString, InsertString :  두 함수 모두 문자열을 추가하는 기능을 한다.
                                    AddString 함수는 문자열을 제일 뒤에 추가하고, InsertString  함수는 지정된 인덱스 뒤에 문자열을 삽입한다.
                                    EX) InsertString(3, "text")를 호출하면 네번째에 "text"문자열이 삽입된다.
                                          주의할 점은 List Box 컨트롤이나 Combo Box 컨트롤은 문자열이 가나다 순으로 정렬되어 출력되도록 하는 Sort스타일을 설정할 수 있는데,
                                          Sort 스타일이 설정되어 있을 경우에는  InsertString 함수에서 지정한 인덱스에 문자열이 삽입되더라도, 가나다 순으로 정렬되어 출력된다.

DeleteString, ResetContent : 문자열을 삭제한다.
                                         DeleteString 함수는 지정된 인덱스의 문자열만 삭제하고, ResetContent 함수는 모든 문자열을 한꺼번에 삭제합니다.
                                         EX) DeleteString(3)을 호출하면 네 번째 문자열이 삭제 된다.

Dir : 현재 디렉터리의 디렉터리와 파일명을 읽어 리스트 박스나, 콤보 박스를 채워준다.
       이 함수는 여러 가지 옵션을 주어 동작을 미세하게 제어할 수 있다.
Comments