日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

VC++ 使用导入位图创建工具栏

發布時間:2025/3/21 c/c++ 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VC++ 使用导入位图创建工具栏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一,創建一個基于對話框的工程

第二,在主窗口頭文件中聲明一個CToolBarCtrl 類對象和兩個圖像列表對象。

?CImageList m_Images;
?CImageList m_HotImages;
?CToolBarCtrl m_ToolBar;

第三,在工作區的資源視圖窗口中導入圖標資源。

第三,在對話框的OnInitDialog方法中加載圖標,關聯圖像列表,創建工具欄。

BOOL CGraphicToolbarDlg::OnInitDialog()?CDialog::OnInitDialog();

?// Add "About..." menu item to systemmenu.

?// IDM_ABOUTBOX must be in the system commandrange.
?ASSERT((IDM_ABOUTBOX & 0xFFF0) ==IDM_ABOUTBOX);
?ASSERT(IDM_ABOUTBOX < 0xF000);

?CMenu* pSysMenu = GetSystemMenu(FALSE);
?if (pSysMenu != NULL)??CString strAboutMenu;
??strAboutMenu.LoadString(IDS_ABOUTBOX);
??if(!strAboutMenu.IsEmpty())???pSysMenu->AppendMenu(MF_SEPARATOR);
???pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX, strAboutMenu);?}

?// Set the icon for thisdialog.? The framework does thisautomatically
?//? when the application's mainwindow is not a dialog

SetIcon(m_hIcon,TRUE);???// Setbig icon
?SetIcon(m_hIcon,FALSE);??// Set small icon?//創建圖像列表
?m_Images.Create(32,32,ILC_COLOR24|ILC_MASK,1,1);
?m_HotImages.Create(32,32,ILC_COLOR24|ILC_MASK,1,1);?m_Images.Add(AfxGetApp()->LoadIcon(IDI_ICON9));
?m_Images.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
?m_Images.Add(AfxGetApp()->LoadIcon(IDI_ICON3));
?m_Images.Add(AfxGetApp()->LoadIcon(IDI_ICON4));
?m_Images.Add(AfxGetApp()->LoadIcon(IDI_ICON5));
?m_Images.Add(AfxGetApp()->LoadIcon(IDI_ICON6));
?m_Images.Add(AfxGetApp()->LoadIcon(IDI_ICON7));
?m_Images.Add(AfxGetApp()->LoadIcon(IDI_ICON8));

?m_HotImages.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
?m_HotImages.Add(AfxGetApp()->LoadIcon(IDI_ICON10));
?m_HotImages.Add(AfxGetApp()->LoadIcon(IDI_ICON11));
?m_HotImages.Add(AfxGetApp()->LoadIcon(IDI_ICON12));
?m_HotImages.Add(AfxGetApp()->LoadIcon(IDI_ICON13));
?m_HotImages.Add(AfxGetApp()->LoadIcon(IDI_ICON14));
?m_HotImages.Add(AfxGetApp()->LoadIcon(IDI_ICON15));
?m_HotImages.Add(AfxGetApp()->LoadIcon(IDI_ICON16));

?//創建工具欄
?m_Toolbar.Create(WS_CHILD|WS_VISIBLE,CRect(20,20,100,60),this,12345);
?TBBUTTON????btns[9];
?TBBUTTONINFO btnInfo[9];?for (int i = 0;i<8;i++)??memset(&btns[i],0,sizeof(TBBUTTON));
??if (i==3 || i==7)
???btns[i].fsStyle= TBSTYLE_SEP ; //第4、8個按鈕為分隔條
??else

??
???btns[i].idCommand=1001+i;
??btns[i].iBitmap = i;
??btns[i].fsState =TBSTATE_ENABLED ;
?}

?//添加工具欄按鈕
?m_Toolbar.AddButtons(9,btns);

?for (i = 0; i<9; i++)??btnInfo[i].cbSize?= sizeof(TBBUTTONINFO);
??btnInfo[i].dwMask?= TBIF_TEXT;

??char buffer[20] ;
??memset(buffer,0,20);

??itoa(i,buffer,10);
??strcat( buffer,"按鈕");
??btnInfo[i].pszText =buffer;
??m_Toolbar.SetButtonInfo(1001+i,&btnInfo[i]);
?}

?//設置工具欄關聯的圖像列表控件
?m_Toolbar.SetImageList(&m_Images);
?m_Toolbar.SetHotImageList(&m_HotImages);?m_Toolbar.SetButtonWidth(50,60);?m_Toolbar.SetBitmapSize(CSize(40,30));?m_Toolbar.SetStyle(TBSTYLE_FLAT|CCS_TOP);?RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);?return TRUE;

總結

以上是生活随笔為你收集整理的VC++ 使用导入位图创建工具栏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。