MFC项目遇到的一些问题

    技术2022-07-10  119

    ①mfc组合框(下拉列表)自动排序了,我要按输入数据时的顺序排列怎么办? 把属性里面sort改为false ②CString 与 string 间的转换 CString 转 string

    CString cstrTest = _T("test"); string strTest; string = CT2A(cstrTest.GetString());

    string 转 CString

    string strTest="test"; CString cstrTest; cstrTest= CA2T(strTest.c_str());

    CString转int

    CString strNum("100"); int num; //ANSI num = atoi(strNum); num = _ttoi(strNum); //UNICODE num = atoi(CT2A(strNum.Getbuff())); num = _ttoi(strNum); 使用 _ttoi 可以适用于 ANSI和UNICODE两种版本。

    ③MFC对话框button控件置灰

    GetDlgItem(IDC_XXX)->EnableWindow(FALSE)//IDC_XXX为你想变灰的按钮的ID

    ④MFC改变Edit控件字体的大小 首先,为edit控件绑定一个控制变量:

    m_edit;

    然后,在对话框类中添加一个成员变量:注:此处必须是成员变量,不能是局部变量。

    CFont m_oFont;

    3、最后就是,利用SetFont函数修改字体了,主要有两种方式,可以在对话框的初始化函数OnInitDialog中实现:

    m_oFont.CreatePointFont(180, _T("隶书")); m_edit.SetFont(&m_oFont);

    ⑤mfc 的编辑框中怎么显示系统的当前时间

    OnInitDialog()中添加代码: CString strTime; CTime tm; tm=CTime::GetCurrentTime(); //获取当前系统时间 strTime=tm.Format("%y年%m月%d日 %X"); //格式du化系统时间。即使系统时 间按照Format中设置的格式显dao示 SetDlgItemText(IDC_TIME,strTime); //初始化编辑框显示 SetTimer(1,1000,NULL); //启动定时器给对话框添加WM_TIMER消息处理函数,添加如下代码: CString strTime; CTime tm; tm=CTime::GetCurrentTime(); strTime=tm.Format("%Y-%m-%d %H:%M:%S"); SetDlgItemText(IDC_TIME,strTime); //显示系统时间

    ⑥CFile类写入txt,txt之前的内容被覆盖的问题

    首先,不能用CFile::ModeCreate模式,应当用CFile::ModeWrite模式 然后,每次打开文件要使用SeekToEnd函数 CStdioFile file; file.Open("C:\\a.txt",CFile::modeWrite); file.SeekToEnd(); file.WriteString("HELLO WORLD!"); file.Close(); 下面这个方法我没试过 char szBuf[] = "123"; CFile file("C:\\File.txt", CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate); file.SeekToEnd(); file.Write(szBuf, lstrlen(szBuf)); file.Close();

    ⑦MFC按下按钮改变按钮的文本以及获取按钮文本

    1)获取按钮的文本具体示例如下: //用于缓冲的临时CString CStringtempstr; //获取ID_SimPause按钮的文本内容,其中ID_SimPause为按钮的ID GetDlgItem(ID_SimPause)->GetWindowText(tempstr);2)设置按钮的文本具体示例如下: //,其中ID_SimPause为按钮的ID,””内为按钮的文字内容 GetDlgItem(ID_SimPause)->SetWindowText("仿真恢复");
    Processed: 0.010, SQL: 9