MFC NumericUpDown Spin控制元件 CSpinButtonCtrl
今天做MFC畫面時有一個像,.net中的NumericUpDown空間。
我想MFC和.net控制元件應該不一樣,查了一下,MFC中果然沒有這個控制元件。
帖子說就是:EDIT控制元件 + Spin控制元件
現在說一下怎麼做,在這裡記錄一下,替他童鞋少走彎路。
步驟:
1.新增EDIT控制元件
2.新增Spin控制元件
如果不是這樣的順序的話,使用ctrl+D改變Tab順序,使spin緊靠edit後面
3.在EDIT控制元件上面設定group屬性(特別注意)
或 ((CSpinButtonCtrl *)GetDlgItem(IDC_SPIN_ROUND))->SetBuddy(GetDlgItem(IDC_EDIT_ROUND));將兩個關聯
4.在Spin控制元件上設定
Auto Buddy 為 true
Set Buddy Integer 為 true
Alignment 為 Right Align
5.新增Edit控制元件 int 變數 m_nNumK;
這個時候點選向下應該可以增加數值
6.在OnInitDialog中新增以下語句
((CSpinButtonCtrl *)GetDlgItem(IDC_SPIN1))->SetRange(-100, 100);
這個時候向上的箭頭為增加,向下的箭頭為減小.
以上就結束了。但這樣只能增加整數,小數不行。
點選SPIN控制元件的增減按鍵時,對話方塊的 OnVScroll會收到訊息WM_VSCROLL。
如果你希望增量為 0.1,最小值為0.0且最大值為10.0,你可以設定SPIN的範圍為0-100 (100 = 10/0.1)
1.在上面6中新增如下程式碼:
CSpinButtonCtrl *pSpin1 = (CSpinButtonCtrl*)GetDlgItem(IDC_SPIN1);
pSpin1->SetRange(1, 100);
pSpin1->GetBuddy()->SetWindowText(_T("0.01"));
2.新增OnVScroll處理。
3.新增下面程式碼
void DetectDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
switch( pScrollBar->GetDlgCtrlID())
{
case IDC_SPIN1:
{
float nStep=0.01;
CString str;
str.Format(_T("%.2f"),nPos*nStep);
((CSpinButtonCtrl*) pScrollBar)->GetBuddy()->SetWindowText(str);
break;
}
break;
}
CDialogEx::OnVScroll(nSBCode, nPos, pScrollBar);
}
相關文章
- MFC控制元件使用大全控制元件
- MFC控制元件精簡控制元件
- c# numericupdown直接輸入(或上下調節)控制元件C#控制元件
- MFC控制元件之Button基本用法控制元件
- MFC中上下控制元件的使用控制元件
- spin_lock、spin_lock_irq、spin_lock_irqsave區別【轉】
- MFC中ListControl控制元件的使用控制元件
- MFC操作父視窗的子控制元件控制元件
- MFC功能擴充套件控制元件BCGSuite for MFC釋出v27.1|附下載套件控制元件UI
- MFC控制元件一些不常見的用法控制元件
- PostgreSQL spin 與 lwlockSQL
- MFC---ActiveX控制元件程式設計基礎控制元件程式設計
- MFC不能多執行緒操作控制元件的原因執行緒控制元件
- 初學MFC(3)——樹型控制元件之一 (轉)控制元件
- MFC控制元件程式設計:列表控制元件、樹控制元件、屬性頁對話方塊 (未完)控制元件程式設計
- 【轉】spin lock 和mutexMutex
- MFC在狀態列中使用進度條控制元件控制元件
- mfc ocx 控制元件開發需要注意的問題控制元件
- MFC動態建立控制元件的訊息處理 (轉)控制元件
- TAS 指令與PostgreSQL spin lockSQL
- 基於vs2012開發activex(MFC)控制元件控制元件
- OCX 控制元件主動傳送訊息給 MFC 視窗訊息控制元件
- 圖解修改VC++6.0 MFC控制元件風格為XP風格圖解C++控制元件
- 利用MFC程式設計在工具條中增加組合框控制元件 (轉)C程式程式設計控制元件
- mfc+最大最小化視窗+控制元件變化+圖片(視訊幀)顯示在控制元件上控制元件
- No Response from the Server, Does it Hang or Spin? (Doc ID 68738.1)Server
- vs2010開發activex(MFC)控制元件/ie外掛(一)控制元件
- MFC框架框架
- MFC打包
- Large result cache can cause sessions to spin -instance to hangSession
- MFC: 檔案
- MFC詳解
- MFC學習(五)
- No MFC,Only API (轉)API
- mfc程式流程 (轉)C程式
- 開發一個抽獎大轉盤 Lucky-spin
- 為大家分享一個 Ajax Loading —— spin.jsJS
- Visual C++/MFC 指南(4):MFC 簡要指點 (轉)C++