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功能擴充套件控制元件BCGSuite for MFC釋出v27.1|附下載套件控制元件UI
- MFC---ActiveX控制元件程式設計基礎控制元件程式設計
- 基於vs2012開發activex(MFC)控制元件控制元件
- OCX 控制元件主動傳送訊息給 MFC 視窗訊息控制元件
- 【轉】spin lock 和mutexMutex
- mfc+最大最小化視窗+控制元件變化+圖片(視訊幀)顯示在控制元件上控制元件
- MFC打包
- Latch的spin及sleep(zt)
- MFC: 檔案
- [20190419]shared latch spin count.txt
- [20190418]exclusive latch spin count.txt
- [20190419]shared latch spin count 2.txt
- [20210218]shared latch spin count 6.txt
- [20210218]shared latch spin count 5.txt
- MFC學習(五)
- 攻防世界-mfc逆向
- [20190417]隱含引數_SPIN_COUNT.txt
- MFC——SkinMagic使用詳解
- MFC訊息對映
- MFC程式設計(六)C程式程式設計
- MFC程式設計(一)C程式程式設計
- MFC程式設計(二)C程式程式設計
- MFC程式設計(三)C程式程式設計
- MFC程式設計(四)C程式程式設計
- MFC程式設計(五)C程式程式設計
- MFC 程式基本介面配置
- [20190401]隱含引數_mutex_spin_count.txtMutex
- MFC介面套包BCG Pro Edition for MFC正式釋出v27.3|附下載
- MFC介面套包BCGControlBar Pro Edition for MFC正式釋出v28.0|附下載GC
- 沒有找到MFC80UD.DLL"沒有找到MFC80UD.DLL,
- MFC介面開發類庫BCG Pro for MFC幫助文件:CBCGPEditCtrl的XML格式XML
- MFC框架軟體逆向研究框架
- Linux核心同步機制之(五):Read Write spin lock【轉】Linux
- 開發一個抽獎大轉盤 Lucky-spin
- VS2017 MFC C++入門C++
- MFC學習(四) 訊息機制
- MFC DLL如何響應PreTranslateMessage訊息
- MFC9.0層次結構圖