創(chuàng)建Visual Studio輔助控件
作者:佚名
這里介紹Visual Studio 2010為了支持現(xiàn)代軟件對豐厚的界面交互方式的要求,于是就提供了很多其他的Visual Studio輔助控件,例如我們通常會用到的“上一步”按鈕,標簽文本,超鏈文本,滑動條,進度條等等。
#t#本人很喜歡Visual Studio,在工作中也很喜歡總結(jié)關(guān)于創(chuàng)建Visual Studio輔助控件的經(jīng)驗教訓,下面就這個問題來詳細說說吧。Visual Studio 2010為了支持現(xiàn)代軟件對豐厚的界面交互方式的要求,于是就提供了很多其他的Visual Studio輔助控件,例如我們通常會用到的“上一步”按鈕,標簽文本,超鏈文本,滑動條,進度條等等。這些Visual Studio輔助控件,極大地豐富了Ribbon界面的表現(xiàn)力。
如下代碼演示了Visual Studio輔助控件的創(chuàng)建過程:
- // 添加“上一步”按鈕
- CMFCRibbonPanel* pPanel1 = pCategory->AddPanel(_T("Undo"));
- CMFCRibbonUndoButton* pBtn1 = new CMFCRibbonUndoButton(ID_RIBBON_OBTN_1, _T("Undo"), 0, 0);
- // 為返回按鈕添加可以返回的動作
- for (int i = 0; i < 10; i++)
- {
- CString str;
- str.Format(_T("Action %d"), i + 1);
- pBtn1->AddUndoAction(str);
- }
- pPanel1->Add(pBtn1);
- // 添加文本標簽
- CMFCRibbonPanel* pPanel2 = pCategory->AddPanel(_T("Label"));
- pPanel2->Add(new CMFCRibbonLabel(_T("Label 1")));
- pPanel2->Add(new CMFCRibbonLabel(_T("Label 2")));
- pPanel2->Add(new CMFCRibbonLabel(_T("Label 3")));
- // 在面板中添加一個分隔符
- pPanel2->Add(new CMFCRibbonSeparator());
- // 多行文本標簽
- pPanel2->Add(new CMFCRibbonLabel(_T("This is a multi-line label"), TRUE));
- // 添加超鏈標簽
- CMFCRibbonPanel* pPanel3 = pCategory->AddPanel(_T("Hyperlink"));
- // 寫mail給我啊
- pPanel3->Add(new CMFCRibbonLinkCtrl(ID_RIBBON_OBTN_2, _T("Send e-mail"),
_T("mailto:chenlq@live.com")));- // 歡迎訪問我的blog
- pPanel3->Add(new CMFCRibbonLinkCtrl(ID_RIBBON_OBTN_3, _T("Visit site"),
_T("http://space.itpub.net/17237043/")));- pPanel3->Add(new CMFCRibbonLinkCtrl(ID_RIBBON_OBTN_4, _T("Launch Notepad"), _T("notepad")));
- // 滑動條
- CMFCRibbonPanel* pPanel4 = pCategory->AddPanel(_T("Sliders"));
- pPanel4->SetCenterColumnVert();
- pPanel4->Add(new CMFCRibbonLabel(_T("Simple Slider:")));
- pPanel4->Add(new CMFCRibbonSlider(ID_RIBBON_OBTN_5, 70 /* Slider width */));
- pPanel4->Add(new CMFCRibbonSeparator());
- pPanel4->Add(new CMFCRibbonLabel(_T("Slider with Buttons:")));
- CMFCRibbonSlider* pBtn6 = new CMFCRibbonSlider(ID_RIBBON_OBTN_6, 70 /* Slider width */);
- // 設(shè)置縮放按鈕
- pBtn6->SetZoomButtons();
- pBtn6->SetRange(0, 100);
- pBtn6->SetPos(50);
- pPanel4->Add(pBtn6);
- // 進度條
- CMFCRibbonPanel* pPanel5 = pCategory->AddPanel(_T("Progress Bars"));
- pPanel5->SetCenterColumnVert();
- // 簡單進度條
- pPanel5->Add(new CMFCRibbonLabel(_T("Simple Progress:")));
- pPanel5->Add(new CMFCRibbonProgressBar(ID_RIBBON_OBTN_7, 100 /* Bar width */));
- pPanel5->Add(new CMFCRibbonButton(ID_RIBBON_OBTN_8, _T("Show Progress 1")));
- pPanel5->Add(new CMFCRibbonSeparator());
- pPanel5->Add(new CMFCRibbonLabel(_T("Infinite Progress:")));
- CMFCRibbonProgressBar* pBtn9 = new CMFCRibbonProgressBar(ID_RIBBON_OBTN_9, 100 /* Bar width */);
- // 設(shè)置為無限模式,表示動作在進行,但是沒有明確的進度
- pBtn9->SetInfiniteMode();
- pPanel5->Add(pBtn9);
- pPanel5->Add(new CMFCRibbonButton(ID_RIBBON_OBTN_10, _T("Show Progress 2")));
責任編輯:佚名
來源:
博客