我有一個編輯控件,其應該只需要整數betweeen 1和99.To實現這一dosallow 0,I使用的,modifystyle()和limittext() 。有沒有辦法限制0進入?CEdit的:: ModifyStyle()中,當es_number設置內部CDialog的:的OnInitDialog
回答
您無需控制值就可以使用您的代碼來限制它。 如果使用嚮導子類化(添加變量)編輯控件,則可以更容易,您可以選擇UINT類型並在此處設置最小值和最大值。 也不要忘記將樣式設置爲ES_NUMBER(在編輯控件屬性中將Number設置爲True)。
我已經有一個變量(在DoDataExchange()中分配)保存EditBox中的值。這是UINT類型。對Spincontrol來說,是Editcontrol(我正在研究)。我已經使用CSpinButtonCtrl :: SetRange(1,99)但只適用於SpinCOntrol,我如何管理EditControl? – user1438138
如果你絕對需要的是,你必須從CEdit
派生類,並相應地處理輸入。渲染說「不可接受的字符」的氣球可能有點棘手,給在線錯誤。只有當你打算在多個地方使用這種類(編輯控制)時,該類纔會有用,最好是具有不同的範圍。
它的唯一範圍是1到99之間。是否有任何其他替代方法限制在編輯框中輸入值0? – user1438138
您可以使用編輯控件附加旋轉按鈕控件(CSpinButtonCtrl)。和/或你可以處理EN_CHANGE通知。但是如果使用輸入「20」,然後通過刪除「2」然後輸入「3」來嘗試使其成爲「30」? – Ajay
這是完全不同的問題,從你的原始文章中的一個。
確保您的旋轉控制遵循Z順序(標籤順序)立即編輯控件。 在資源集微調器樣式爲:UDS_AUTOBUDDY UDS_SETBUDDYINT,UDS_ALIGNRIGHT ,. 這將使微調控制器:選擇編輯控件作爲好友,在編輯框中設置整數,將其自身置於編輯控件的右邊。
要做到這一點,在微調設置的屬性:「自動好友」真「設置好友整數」真與「Alingment」以右對齊。
你n要必須設置最低和最高的編輯控件,在EN_CHANGE通知命令處理程序現在處理它。
將此代碼放在處理程序中。
void CYourDlg::OnEnChangeEditNum()
{
int iValue = GetDlgItemInt(IDC_EDIT1);
if(iValue < 1 || iValue > 99)
{
m_Edit.ShowBalloonTip(_T("Number Out of Range"), _T("Value must fall between 1 and 99."), TTI_INFO_LARGE);
}
}
- 1. 在CPropertySheet/CDialog上使用帶WS_THICKFRAME的ModifyStyle
- 2. Visual C++ 6.0 - 派生CDialog類中的OnInitDialog不工作
- 3. OnInitDialog沒有在CDialog的後代中調用
- 4. CEdit CPropertyPage中的只讀背景顏色
- 5. VC10中的CDialog內存泄漏
- 6. C#中的內部屬性設置器
- 7. CEdit的,WM_PASTE
- 8. 設置textarea內部的標記位置
- 9. 在MFC窗口設計器中設置CEdit文本
- 10. 如何操作CEdit的內容?
- 11. 如何將焦點設置爲在TabCtrl中的子對話框中的CEdit?
- 12. MFC中的CEdit和GetwindowText
- 13. 將'release'配置的當前內部版本號設置爲'nightly build'配置?
- 14. 設置多維數組的內部值
- 15. 設置畫布的「內部」尺寸?
- 16. 無法設置內部html的屬性
- 17. jQuery設置內部div的bgcolor
- 18. iOS 8 - 設置UISearchBar的內部顏色
- 19. C#與內部設置器的接口
- 20. 將MouseListener設置爲JTable內部的JLabel
- 21. 從外部源設置內部UITableViewCell的內容?
- 22. 設置一個CEdit控件的文本值和它的自動換行
- 23. 內部版本庫設置
- 24. 設置Joomla內部網
- 25. 從R內部設置LD_LIBRARY_PATH
- 26. 設置內部原型
- 27. 循環設置內部HTML
- 28. MFC:改變CEdit的顏色
- 29. CDialog類的父 - 子實現
- 30. CDialog的對象分配
另外添加到它時,是否有es_number被覆蓋,使得它不取數字0的方法嗎? – user1438138