• MFC中Edit控件使用方法


    MFC中Edit用法:
    众所周知,现在微软出台的编译器已经很多了,如vc++6.0,vs2005,vs2008,vs2010等,虽然变化多样,但是万变不离其根本,最根本用法没有多大变化。打开你所安装的编译器,然后点击新建项目,弹出创建器对话框,以对话框程序为例。点击新建一个基于MFC的应用程序,创建对话框应用程序,在资源视图中,拖放Edit控件到对话框上,在编辑框控件上点右键,修改ID为一个有意义的标识。在View ->ClassWizard,在弹出的对话框中,选择Member Variables,找到刚才的编辑框ID,关联变量。关联变量分为两种。一种是Control变量,一种是Values变量。同一个控件,这两个变量都可以定义,也可定义其中的一个。
    例如:CString m_nName; DDX_Text(pDX, IDC_EDIT_FIND, m_nName);
    CEdit m_ncName; DDX_Control(pDX, IDC_EDIT_FIND, m_ncName);
    方法一:CString str;
    GetDlgItem(IDC_EDIT_FIND)->GetWindowText(str);
    CString str1=_T("abcdef");//_T是Unicode编码中的
    GetDlgItem(IDC_EDIT_FIND)->SetWindowText(str);
    方法二:CString str;
    m_ncName.GetWindowText(str);
    CString str1=_T("abcdef");
    m_ncName.SetWindowText(str1);
    方法三:CString str1=_T("abcdef");
    UpdateData(True);
    m_nName=str1;
    UpdateData(False);
    方法四:分别拖两个编辑框IDC_EDIT1,IDC_EDIT2,IDC_EDIT3。
    int num1,num2,num3;
    char val1[10],char val2[10],char val3[10];
    GetDlgItemText(IDC_EDIT1,val1,10);
    GetDlgItemText(IDC_EDIT2,val2,10);
    num1= atoi(ch1);
    num2= atoi(ch2);
    bum3=num1+num2;
    itoa(num3,ch3,10);
    SetDlgItemText(IDC_EDIT3,ch3);
    方法五:这种方法主要原理是利用消息来传值的,使用SendMessage来实现,发送WM_GETTEXT窗口消息和WM_SETTEXT消息。还是基于方法四基础,如下:
    int num1,num2,num3;
    char val1[10],char val2[10],char val3[10];
    ::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
    ::SendMessage(GetDlgItem(IDC_EDIT2)->m_hWnd,WM_GETTEXT,10,(LPARAM)ch2);或
    ::SendMessage(m_edit1.m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
    ::SendMessage(m_edit2.m_hWnd,WM_GETTEXT,10,(LPARAM)ch2);
    num1 =atoi(ch1);
    num2 =atoi(ch2);
    num3 =num1+num2;
    m_edit3.SendMessage(WM_SETTEXT,0,(LPARAM)ch3);
    方法六:同样的也有另外一类API函数SendDlgItemMessage,跟方法五类似也可以实现效果。
    int num1,num2,num3; char val1[10],char val2[10],char val3[10];
    SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT,10,(LPARAM)ch1);
    SendDlgItemMessage(IDC_EDIT2,WM_GETTEXT,10,(LPARAM)ch2);
    num1 =atoi(ch1);
    num2 =atoi(ch2);
    num3 =num1+num2;
    SendDlgItemMessage(IDC_EDIT3,WM_SETTEXT,0,(LPARAM)ch3);
    =

  • 相关阅读:
    靶场练习——SDcms文件上传漏洞靶场
    了解网上展馆的特点和优势,网上展馆带来展示新方式
    STM32CubeMX新建工程并点亮一个LED
    eslint错误修改之后依然报错
    如何让chatGPT给出高质量的回答?
    docker 转为docker-compose(composerize 命令)
    SAS学习7(gpolt过程、gchart过程、图形输出、ods功能、假设检验,ttest过程,rank过程,秩和检验(非参数检验))
    面试突击59:一个表中可以有多个自增列吗?
    Python 无废话-办公自动化Excel修改数据
    【1++的刷题系列】之双指针
  • 原文地址:https://blog.csdn.net/lbaihao/article/details/127808770