我一直在做研究很多,仍然沒有線索如何顯示數字(特別是用兩個逗號或美分的貨幣數字)輸入作爲數字分組輸入即百萬= 1000000.25到1,000,000.25直接通過OnChange或OnKeyPress在德爾福7.德爾福7編輯框數字用逗號分組
我不想使用命令按鈕來改變,我希望它的行爲像Windows 7的計算器輸入框(通過OnChange,OnKeyPress)。它有數字分組,它有逗號(點)。
如果我看看Windows 7的計算器輸入框,並激活數字分組,這就是我也希望我的編輯框在德爾福7的行爲。有沒有任何方法或解決方案呢?
Windows計算器沒有您直接輸入的編輯框,它使用按鈕按鈕和截取的按鍵來跟蹤用戶的輸入,然後使用相當於Delphi的'SysUtils的函數在顯示框中顯示計算出的數字.FormatCurr()'函數。如果您想在實際編輯字段上完成分組,請使用「TMaskEdit」而不是「TEdit」。 –
所以它實際上攔截數字鍵盤,我實際上設法讓onkeypress工作,用戶可以輸入0到9只有單點(。)逗號,即10000.25,編輯框中不允許雙點。我只需要應用數字分組。 如果在這方面沒有解決方法,那麼我必須使用tmaskedit – Jon1024
同樣,計算器沒有實際的編輯框,所以它的運行方式與您正在嘗試的不同(並且更簡單)。如果你真的需要在TEdit中顯示數字分組,可以嘗試使用它的OnChange或OnExit事件來調用value:= StrToCurr(Edit.Text),後面跟着Edit.Text:= FormatCurr(' #,## 0。##',value)'或'Edit.Text:= CurrToStrF(value,ffNumber,2)'來解析用戶的輸入並根據需要重新格式化。 –