首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

MFC 編輯框輸入數字時光標保持在最右側:ES_RIGHT 樣式

     編輯:程式設計綜合問答

現象

編輯框 (CEdit) 輸入數字時,插入符 (光標) 不在最右側,期望始終靠右對齊(如計算器顯示)。

解決方案

在編輯框屬性中設置 **Right Align (ES_RIGHT)** 樣式:

  1. 資源編輯器:右鍵編輯框 → Properties → Styles → 勾選 **Right Align**。
  2. 代碼動態設置:
// 預創建窗口時修改樣式
BOOL CMyDialog::OnInitDialog() {
    CDialog::OnInitDialog();
    m_editNum.ModifyStyle(0, ES_RIGHT); // 添加右對齊樣式
    // 或創建時指定
    // m_editNum.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|ES_RIGHT, rect, this, IDC_EDIT);
    return TRUE;
}

參考文檔

補充:數字輸入限制

// 僅允許數字輸入
m_editNum.ModifyStyle(0, ES_NUMBER); // ES_NUMBER: 僅接受數字
// 或 ON_EN_CHANGE 手動過濾
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved