Php峥 2024-03-22 15:25 采纳率: 0%
浏览 3

MFC 文本框加自动加-,像ip那样

MFC 我想在文本框里面 自动加入 五个 - ,就像 ip control那样子可以自动加入四个点,我不知道这个应该怎么去写

  • 写回答

1条回答 默认 最新

  • 码农阿豪 Java领域优质创作者 2024-03-22 15:25
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    要实现在 MFC 文本框中自动加入五个连字符,可以利用 MFC 的消息机制,在文本框接收到焦点后自动添加。具体实现步骤如下:
    1. 在你想添加连字符的文本框控件上右键单击,选择“添加事件处理程序”。
    2. 在添加事件处理程序对话框中,选择“WM_SETFOCUS”消息,并点击“添加及编辑”按钮。
    3. 在弹出的“WM_SETFOCUS”消息处理函数中,添加如下代码:
    CString strText;
    GetWindowText(strText); // 获取当前文本框的文本内容
    if (strText.GetLength() == 5) // 如果当前文本框中的文本长度为5个字符,则添加五个“-”
    {
        strText += "-----";
        SetWindowText(strText); // 将修改后的文本内容显示在文本框中
    }
    
    1. 编译并运行程序,将焦点移动到文本框上时,就会像 IP 控件一样自动添加五个连字符了。 代码示例:
    void CMyDlg::OnSetfocusEdit1()
    {
        CString strText;
        GetDlgItemText(IDC_EDIT1, strText);
        if (strText.GetLength() == 5)
        {
            strText += "-----";
            SetDlgItemText(IDC_EDIT1, strText);
        }
    }
    

    需要注意的是,如果用户手动输入了超过5个字符的文本内容,焦点离开文本框后也不会再自动添加连字符,这需要根据具体需求进行处理。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月22日

悬赏问题

  • ¥30 arduino vector defined in discarded section `.text' of wiring.c.o (symbol from plugin)
  • ¥20 关于#c++#的问题:(2)运算二叉树·表达式一般由一个运算符和两个操作数组成:(相关搜索:二叉树遍历)
  • ¥20 如何训练大模型在复杂因素组成的系统中求得最优解
  • ¥15 关于#r语言#的问题:在进行倾向性评分匹配时,使用“match it"包提示”错误于eval(family$initialize): y值必需满足0 <= y <= 1“请问在进行PSM时
  • ¥45 求17位带符号原码乘法器verilog代码
  • ¥20 PySide6扩展QLable实现Word一样的图片裁剪框
  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)