수안이의 컴퓨터 연구실

  • Mainpage
  • About Me
  • Tags
  • Metapage
  • Notice
  • Location
  • Keywords
  • Guestbook
  • Admin
  • Write an Article
  • Total | 1693767
  • Today | 118
  • Yesterday | 588

1 Articles, Search for 'Dropdown'

  1. 2007/02/23 툴바에 Dropdown버튼 넣기
Programming/MFC2007/02/23 10:07

툴바에 Dropdown버튼 넣기

원본 : http://www.debuglab.com/knowledge/toolbardrop.html

1.요약

툴바 버튼에 DropDown버튼을 넣는 방법


2.본문

DropDown버튼을 눌렀을 때 메뉴가 나타나게하는것을 예로 들어 설명.

1) 툴바를 생성한다. (Create())

2) 버튼 옆에 화살표 버튼을 생성시키기 위해 다음과 같이 스타일을 지정해 준다.

m_wndToolBar.GetToolBarCtrl().SetExtendedStyle( 

                                               TBSTYLE_EX_DRAWDDARROWS); 

3) 버튼이 생성 되길 원하는 버튼의 스타일도 다음과 같이 수정해 준다.

DWORD dwStyle = m_wndToolBar.GetButtonStyle( 

                                            m_wndToolBar.CommandToIndex(ID_DROPDOWN)); 

dwStyle |= TBSTYLE_DROPDOWN; 

m_wndToolBar.SetButtonStyle(m_wndToolBar.CommandToIndex   

                            (ID_DROPDOWN), dwStyle); 

4) Arrow버튼을 눌렀을 경우에 대한 메세지 처리를 위해 Mainfr.h에 다음과 같이 선언하고

afx_msg void OnToolbarDropDown(NMTOOLBAR* pnmh, LRESULT* 

                               plRes); 

MainFrm.cpp의 message map에도 다음과 같이 입력해 주고,

ON_NOTIFY(TBN_DROPDOWN, AFX_IDW_TOOLBAR,     

          OnToolbarDropDown) 

메뉴를 띄우기 위해 함수를 다음과 같이 구현 한다.

void CMainFrame::OnToolbarDropDown(NMTOOLBAR* pnmtb, LRESULT 

          *plr) 

{ 

    CWnd *pWnd; 

    UINT nID; 

    

    // Switch on button command id's. 

    switch (pnmtb->iItem) 

    { 

    case ID_DROPDOWN: 

        pWnd = &m_wndToolBar; 

        nID  = IDR_MENU1; 

        break; 

    default: 

        return; 

    } 

    

    // load and display popup menu 

    CMenu menu; 

    menu.LoadMenu(nID); 

    CMenu* pPopup = menu.GetSubMenu(0); 

    ASSERT(pPopup); 

    

    CRect rc; 

    pWnd->SendMessage(TB_GETRECT, pnmtb->iItem, (LPARAM)&rc); 

    pWnd->ClientToScreen(&rc); 

    

    pPopup->TrackPopupMenu( TPM_LEFTALIGN | TPM_LEFTBUTTON |   

        TPM_VERTICAL, rc.left, rc.bottom, this, &rc); 

} 

이렇게 한 후 프로그램을 실행 시켜보면 ID_DROPDOWN ID에 해당하는 버튼옆에 작은 화살표 버튼이 나타나고 그 버튼을 누르면 ID_MENU1 메뉴가 나타나게 된다.



- 2001.08.13 Smile Seo -
"MFC" 카테고리의 다른 글
  • 공유 섹션 만들기 (0)2007/02/28
  • VC++에서도 Regular Expression으로 검색할 수 있다 (0)2007/02/23
  • 툴바에 Dropdown버튼 넣기 (0)2007/02/23
  • 랭귀지 팩을 만들자!! (0)2007/02/23
  • 윈도에 포커스가 가지 못하게 하기 (0)2007/02/23
2007/02/23 10:07 2007/02/23 10:07
Posted by webdizen
Tags Dropdown
No Trackback No Comment

Trackback URL : http://www.webdizen.net/blog/trackback/2634

Leave your greetings.

[로그인][오픈아이디란?]

«Prev  1  Next»

RSS HanRSS
Blog Image
webdizen
이곳은 컴퓨터에 대해 연구하고, 공유하고, 소통하기 위한 연구실입니다. 개인적으로는 OLAP, Data Mining, Semantic Web, Data Modeling에 대해서 연구하고 있습니다.

Categories

전체 (3009)
Webdizen (141)
Life (6)
Diary (16)
Blog (9)
IDEA (2)
Travel (10)
Book (16)
Photo (7)
Movie (8)
Music (14)
Leisure Sports (10)
Funny (6)
Hardware (121)
Software (120)
Windows (5)
Unix & Linux (120)
Installation (5)
Kernel (10)
System (34)
Develop (22)
X-Window (0)
Applicaton (31)
Security (4)
Framework (2)
Hadoop (2)
Programming (804)
Algorithm & Data Structure (1)
Assembly (38)
UNIX/Linux C (95)
C++ (128)
STL (4)
Java (38)
Win32 API (92)
ATL/COM (44)
MFC (151)
.NET (26)
WCF/WPF (4)
C# (28)
Network Programming (17)
Database Programming (12)
OpenGL / DirectX (13)
Multimedia Programming (0)
Game Programming (21)
Parallel Distributed Progra... (0)
Reverse Engineering (0)
Debugging (9)
Python (1)
Ruby (1)
Ruby on Rails (1)
QT (4)
GTK (0)
JSP (0)
PHP (6)
ASP.NET (6)
ASP (2)
Development (28)
Useful Library (2)
Data Modeling (0)
Database (105)
Oracle (4)
MSSQL (41)
MySQL (2)
Data Warehouse (2)
Data Mining (4)
Network (66)
Web (79)
DHTML (4)
XHTML (1)
Javascript (1)
CSS (1)
AJAX (9)
XML (11)
Flex (1)
Silverlight (3)
Security (91)
DoS (1)
Kernel (10)
Scanning (3)
Sniffing (0)
Spoofing (4)
Overflow (28)
Web (11)
Shell (10)
Format String (14)
Window (2)
Embedded (70)
Multimedia (27)
Mobile (14)
Graphic (24)
Management (633)
Knowledge (581)
Hadoop (0)

Notice

  • 메타 블로그 사이트에 등록
  • 새해 맞이 블로그의 변화
  • 블로그 명칭 변경
  • 도메인(www.webdizen.net) 구...
  • TEXTCUBE 1.6.1로 업그레이드...

Tags

  • Run-Length
  • TPC-D
  • 삼척캠퍼스
  • 타이틀 윈도우
  • 리눅스
  • Naver
  • SQL Server 2008
  • 얼굴인식
  • 고급 명령
  • 청년 리더
  • Essboard
  • Lempel
  • RegCreateKeyEx
  • 마주앙 샤도네이
  • DB 래퍼 클래스
  • 다이얼로그
  • Baseline
  • 시바스 리갈
  • 에너지 버스
  • IBus

Recent Articles

  • 트위터(Twitter)의 시작!.
  • 청년 리더의 조건.
  • 애플의 타블렛 PC - 아이패드....
  • 미래의 인터페이스 - 육감 기....
  • 기초발성법 동영상 강좌.

Recent Comments

  • 학교 과제물중 쓰레드에 대하....
    장진혁 03/17
  • 관리자만 볼 수 있는 댓글입....
    비밀방문자 03/12
  • 상대방의 이야기를 열심히 경....
    DoNuts 03/03
  • Lots of students know techn....
    Bobbi35Shannon 02/25
  • 좋은글 잘 보고 갑니다..
    Und_hacker 01/08

Recent Trackbacks

  • printf,scanf를 이용한 형식....
    yundream의 프로그래밍 이야기 03/10
  • 파일 열기/저장하기 CFileDialog.
    은마군의 나태블록 2009
  • World IT Show 2008.
    상우 :: Oranzie's BLOG 2008
  • cvs서버 설치하기.
    3인3색 2008
  • 속속 공개되는 Google Chart....
    PHP와 Web 2.0 2007

Archive

  • 2010/02 (1)
  • 2010/01 (6)
  • 2009/12 (5)
  • 2009/09 (3)
  • 2009/08 (1)

Calendar

«   2010/03   »
일 월 화 수 목 금 토
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Bookmarks

    • Administration
      • IIS.NET
      • NTFAQ
      • OS의 모든 것
      • 리눅스포털
    • Database
      • SQL Server Central
      • SQL Team
    • Development
      • .NET Heaven
      • ASP Alliance
      • ASP.NET 2.0
      • Bullog.net
      • C# Corner
      • C++ (C PlusPlus.com)
      • C++ Reference
      • CodeGuru
      • CodePlex
      • DebugLab
      • Dev Articles
      • Devpia
      • DotNet Junkies
      • DotNet Zone
      • Driver Online
      • GOSU.NET
      • HOONS 닷넷
      • Joinc 팀블로그
      • KOSR
      • MSDN Home Page
      • OSR Online
      • Sky.ph - 개발자 커뮤니...
      • TAEYO.NET
      • The Code Project
      • WindowsClient.net
      • 김상욱의 개발자 Side
      • 조인시 위키
    • Human Networks
      • belief21c's e-space
      • I think I can
      • Invisible Rover's Blog :D
      • Rodman®
      • ■ Feel So Good~! ■
      • 까만 나비
      • 나를 가꾸는 시간.
      • 나만의 즐거움~~!
      • 단녕
      • 상우 :: Oranzie's BLOG
    • Information Technology
      • Microsoft TechNet
      • 지디넷코리아 - 글로벌...
    • Security
      • FoundStone
      • milw0rm
      • NewOrder
      • OpenRCE
      • Phrack.org
      • Reverse Engineering b1...
      • Reverse Engineering Team
      • RootKit
      • SecurityFocus
      • SecurityXploded by Nag...
      • Wow Hacker
      • Zone-H
Textcube
Louice Studio Inc.
Powered by Textcube. Original designed by Tistory.