MFC项目遇到的一些问题

①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("仿真恢复");

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值