002.MFC_对话框_静态文本_编辑框

一、建立 名为dialogAndCtl的MFC工程,并添加如图控件

1、将上方static text 控件 Caption属性设置为在文本框中如数文本,可以统计字符

2、edit control控件属性 参照下图顺序设置,并将ID属性设置为IDC_EDIT_INPUT

3、设置button控件 Caption属性 为统计,ID属性为IDC_BTN_COUNT

4、设置下方static text 控件ID属性为IDC_STATIC_OUTPUT

二、双击button控件进入dialogAndCtlDlg.cpp文件添加

void CdialogAndCtlDlg::OnBnClickedBtnCount()
{
    // TODO: 在此添加控件通知处理程序代码
    CString strInput;                                                //定义一个mfc中字符串变量,用来保存输入的数据
    GetDlgItemText(IDC_EDIT_INPUT,strInput);                        //获取文本框中的输入
    int nLen= strInput.GetLength();                                    //计算文本框中字符个数
    
    int nCount=0;                                                    //for 中用于解决unicode字符集和多字节字符集显示不一致问题
    for(int i=0; i<nLen;i++)
    {
        if((BYTE)strInput[i]>0x7f) //一个中文=两个英文字符
        {
            ++i; //略过
        }
        nCount++;
    }

    CString strOutput;                                                //定义一个mfc中字符串变量,用来保存输出的数据
    strOutput.Format(_T("字符串长度: %d,字符个数:%d"),nLen,nLen);//显示输出文本长度
    SetDlgItemText(IDC_STATIC_OUTPUT,strOutput);                    //通过静态文本显示出来
}

三、以上方法可以统计出文本框输入字符个数,如需验证可参考下图修改顺序,修改字符集来验证。

 

转载于:https://www.cnblogs.com/Malphite/p/10848025.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 MFC 对话框程序,用于求解一元二次方程: 1. 在 Visual Studio 中创建一个 MFC 对话框应用程序。 2. 打开 `MyDlg.h`,添加以下控件: - 两个编辑框 `m_editA` 和 `m_editB`,用于输入方程的系数。 - 一个静态文本 `m_staticX1`,用于显示方程的第一个根。 - 一个静态文本 `m_staticX2`,用于显示方程的第二个根。 - 一个按钮 `m_btnSolve`,用于触发求解过程。 3. 在 `MyDlg.h` 中添加以下函数声明: ```c++ class CMyDlg : public CDialogEx { // ... public: // ... afx_msg void OnBnClickedBtnSolve(); private: double m_dA, m_dB; }; ``` 4. 打开 `MyDlg.cpp`,在类定义中添加以下代码: ```c++ void CMyDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT_A, m_dA); DDX_Text(pDX, IDC_EDIT_B, m_dB); DDX_Control(pDX, IDC_STATIC_X1, m_staticX1); DDX_Control(pDX, IDC_STATIC_X2, m_staticX2); } BEGIN_MESSAGE_MAP(CMyDlg, CDialogEx) // ... ON_BN_CLICKED(IDC_BTN_SOLVE, &CMyDlg::OnBnClickedBtnSolve) END_MESSAGE_MAP() ``` 5. 在 `OnBnClickedBtnSolve` 函数中添加以下代码,用于求解一元二次方程: ```c++ void CMyDlg::OnBnClickedBtnSolve() { UpdateData(TRUE); double delta = m_dB * m_dB - 4 * m_dA * m_dC; if (delta < 0) { m_staticX1.SetWindowText(_T("无实根")); m_staticX2.SetWindowText(_T("")); } else if (delta == 0) { double x = -m_dB / (2 * m_dA); CString str; str.Format(_T("x=%f"), x); m_staticX1.SetWindowText(str); m_staticX2.SetWindowText(_T("")); } else { double x1 = (-m_dB + sqrt(delta)) / (2 * m_dA); double x2 = (-m_dB - sqrt(delta)) / (2 * m_dA); CString str1, str2; str1.Format(_T("x1=%f"), x1); str2.Format(_T("x2=%f"), x2); m_staticX1.SetWindowText(str1); m_staticX2.SetWindowText(str2); } } ``` 6. 编译并运行程序,输入方程的系数,点击“求解”按钮即可得到方程的解。 以上是一个简单的 MFC 对话框程序,用于求解一元二次方程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值