Visual Studio 6.0에서는 ClassWizard가 있지만, 2008에서는 없습니다 .따라서 밑에 방법을 사용해야합니다. - 퍼왔습니다 출처는 밑에


Other Windows 에 포함되어있습니다.


단축키는 Alt+Enter 입니다. 외워두면 편하겠죠.

Property Window 가 등장했습니다.


이제부터 이 포스트의 본론이 시작되는군요.

class wizard 를 사용하고 싶은 클래스를 class view 에서 먼저 선택한 다음,


Property Window 를 쳐다봐줍니다.

Property Window 내의 두개의 아이콘이 중요한 역할을 합니다.

Message 버튼


수많은 윈도우 메세지들을 선택할 수 있으며

원하는 메세지에 우리에게 익숙한 함수들을 추가할 수 있습니다.

Overrides 버튼


역시 수많은 함수들이 존재하고, 각각의 클래스의 기본 함수에

우리들만의 함수를 override 할 수 있습니다.

출처: http://lafirr.tistory.com/59  by lafirr

'programming > MFC' 카테고리의 다른 글

Arp Table Edit ( ADD/ Modify / Remove ) - C/C++  (0) 2011.03.14
SendMessage & PostMessage  (0) 2011.02.23
visual 2008에서 ClassWiard 따라하기(?)  (1) 2010.12.23
MFC List 클래스  (0) 2010.12.21
MFC의 배열클래스  (0) 2010.12.21
PreTranslateMessage() 함수 사용 예제  (0) 2010.09.12
  1. MFC 종결자 2011.02.28 15:19

    감사합니다~ 이거네요~ ㅋㅋㅋㅋ

[리스트 클래스] p.351~


클래스

데이터 형식

CstringList

CString

CptrList

void *

CObList

CObject *

CString 형과 같이 직접 지원되는 경우는 CStrinList에 저장하고, 그렇지 않으면 CptrList 클래스에 저장하면 된다.


함수

기능

GetCount

리스트에 저장된 항목의 개수를 반환

IsEmpty

리스트에 저장된 항목이 없으면 TRUE 반환

GetHead

첫 노드의 값을 반환

GetTail

마지막 노드의 값을 반환

GetHeadPosition

첫 노드의 포인터를 반환

GetTailPosition

마지막 노드의 포인터를 반환

GetAt

주어진 포인터가 가리키는 값을 반환

GetNext

주어진 포인터가 가리키는 값을 반환하고, 포인터는 다음 노드를 가리키도록 한다.

GetPrev

주어진 포인터가 가리키는 값을 반환하고, 포인터는 이전 노드를 가리키도록 한다.

SetAt

주어진 포인터가 가리키는 값을 설정

AddHead

첫 노드 앞에 새로운 노드를 추가

AddTail

마지막 노드 뒤에 새로운 노드를 추가

InsertAfter

주어진 포인터가 가리키는 노드 뒤에 새로운 노드를 추가

InsertBefore

주어진 포인터가 가리키는 노드 앞에 새로운 노드를 추가

RemoveHead

첫 노드를 삭제

RemoveTail

마지막 노드를 삭제

RemoveAt

주어진 포인터가 가리키는 노드를 삭제

RemoveAll

모든 노드를 삭제

Find

주어진 값을 갖는 노드를 찾아 그 노드의 포인터를 반환

FindIndex

주어진 인덱스를 갖는 노드를 찾아 그 노드의 포인터를 반환


예제 소스)


Cstring strData[] = {_T(“SUN”), _T(“MON”), _T(“TUE”), _T(“WED”), _T(“THU”), _T(“FRI”), _T(“SAT”) };


void main()

{

Cstring data;

CstringList list;

POSITION pos;


for(int i=0; i<7; i++)

{

list.AddTail(strData[i]);
}

//AddTail 함수를 호출하여 리스트의 맨 마지막에 노드를 하나씩 추가!!

//AddHead 함수를 호출하게 되면, 순서가 바뀌게 된다!!

data = list.GetHead();

cout<<”Head: “<<data <<endl;

data = list.GetTail();

cout<<”Tail:” <<data <<endl;

//값은 각각 SUNSAT이 출력된다.


pos = list.GetHeadPosition();

while(pos)

{

data = list.GetNext(pos);

cout<<data<<endl;
}

// 전체 데이터를 차례로 보여준다.

// GetHeadPosition 함수는 맨 앞 노드의 포인터를 반환한다. 이 함수의 반환 값은 // POSITION이라는 타입의 변수로 받는데, 이것은 일종의 포인터 변수이다.

// 이 변수를 GetNex함수의 매개변수로 넘겨주면, 그 포인터가 가리키는 노드의 값 // 을 반환하고, 포인터는 다음 노드를 가리키도록 변경된다. 맨 마지막 노드에서 // GetNext 함수를 호출하면 NULL을 반환하기 때문에 while 루프를 돌면서 //GetNext 함수를 반복 호출하면 차례로 다음 노드를 참조할 수 있다.


pos = list.Find(_T(“WED”));

/* 특정 데이터를 검색하여 그 데이터가 저장된 노드의 포인터를 얻을 수 있다. /*

list.InsertAfter(pos, _T(“My BirthDay”));

/* 얻은 포인터를 매개변수로 넘겨주면서 InsertAfter 함수를 호출하면, 그 노드 바로 다음에 새로운 노드를 추가할 수 있고, InsertBefore 함수를 호출하면, 그 노드 바로 앞에 새로운 노드를 추가할 수 있다. */

for(pos = list.GetHeadPosition(); pos != NULL;)

{

data = list.GetNex(pos);

cout<<data<<endl;

}


}

p.s 요것또한 Visual c++ 6 완벽가이드 2nd 내용 중...


'programming > MFC' 카테고리의 다른 글

SendMessage & PostMessage  (0) 2011.02.23
visual 2008에서 ClassWiard 따라하기(?)  (1) 2010.12.23
MFC List 클래스  (0) 2010.12.21
MFC의 배열클래스  (0) 2010.12.21
PreTranslateMessage() 함수 사용 예제  (0) 2010.09.12
MFC 기본 윈도우 프로시져 소스  (0) 2010.09.06

+ Recent posts