원본 : http://www.debuglab.com/knowledge/toolbarbutton.html
1.요약
프로그램 수행중에 특정상태에서만 툴바안에 어떤버튼이 추가되어야 할 경우 이 코드를 이용하면 유용하죠.
2.본문
이 기능을 구현하기 우해 기본적으로 CToolBarCtrl이라는 클래스가 필 요합니다. 이 클래스 안에서 툴바의 세세한 것까지 제어할 수 있는 여 러 함수들이 들어 있죠.
여기서는 CToolBarCtrl::AddButtons(int nNumButtons, LPTBBUTTON lpButtons)라는 함수를 이용하여 예제를 만들겠습니다.
CToolBar m_MainToolbar 라고 선언된 툴바 변수가 있으때 필요한 곳에서 아래와 같이 적어주기만 하면 m_MainToolbar의 맨끝에 새로운 버튼이 생성되게 됩니다.
CToolBarCtrl& ctrToolBar = m_MainToolbar.GetToolBarCtrl(); TBBUTTON tbButton; // Bitmap이미지 상의 순서(0부터 시작) // 이걸 사용하려면 CToolbar::SetBitmap()으로 이미지를 등록해 줘 // 야 합니다. tbButton.iBitmap = 5; // resource.h안에 반드시 ID값이 등록 되어 있어야한다. tbButton.idCommand = ID_HOME_LINK; tbButton.fsState = TBSTATE_ENABLED; // Seprator를 넣고 싶을 경우에는 TBSTYLE_SEP 를 넣는다. tbButton.fsStyle = TBSTYLE_BUTTON; ctrToolBar.AddButtons(1, &tbButton);
그럼 삭제하는건 어떻게 할까요?
저도 아직 안해봤는데 CToolBarCtrl::DeleteButton() 이라는 함수를 쓰면 되겠죠..
이걸 이용하면 툴바를 사용자가 Customize할 수 있는 기능을 구현할 수 있지 않을까요?
- 2001.08.13 Smile Seo -
- 절전 모드로 진입을 거부하는 방법 (0)2007/03/01
- 화면 정보 얻어오기 (0)2007/03/01
- Toolbar에 버튼 추가하기 (0)2007/03/01
- CFrameWnd가 아닌 윈도우에서 툴바의 툴팁 출력하기 (0)2007/02/28
- 공유 섹션 만들기 (0)2007/02/28

수안이의 컴퓨터 연구실



Leave your greetings.