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

展开阅读全文

Git 实用技巧

11-24
这几年越来越多的开发团队使用了Git,掌握Git的使用已经越来越重要,已经是一个开发者必备的一项技能;但很多人在刚开始学习Git的时候会遇到很多疑问,比如之前使用过SVN的开发者想不通Git提交代码为什么需要先commit然后再去push,而不是一条命令一次性搞定; 更多的开发者对Git已经入门,不过在遇到一些代码冲突、需要恢复Git代码时候就不知所措,这个时候哪些对 Git掌握得比较好的少数人,就像团队中的神一样,在队友遇到 Git 相关的问题的时候用各种流利的操作来帮助队友于水火。 我去年刚加入新团队,发现一些同事对Git的常规操作没太大问题,但对Git的理解还是比较生疏,比如说分支和分支之间的关联关系、合并代码时候的冲突解决、提交代码前未拉取新代码导致冲突问题的处理等,我在协助处理这些问题的时候也记录各种问题的解决办法,希望整理后通过教程帮助到更多对Git操作进阶的开发者。 本期教程学习方法分为“掌握基础——稳步进阶——熟悉协作”三个层次。从掌握基础的 Git的推送和拉取开始,以案例进行演示,分析每一个步骤的操作方式和原理,从理解Git 工具的操作到学会代码存储结构、演示不同场景下Git遇到问题的不同处理方案。循序渐进让同学们掌握Git工具在团队协作中的整体协作流程。 在教程中会通过大量案例进行分析,案例会模拟在工作中遇到问题,从最基础的代码提交和拉取、代码冲突解决、代码仓库的数据维护、Git服务端搭建等。为了让同学们容易理解,对Git简单易懂,文章中详细记录了详细的操作步骤,提供大量演示截图和解析。在教程的最后部分,会从提升团队整体效率的角度对Git工具进行讲解,包括规范操作、Gitlab的搭建、钩子事件的应用等。 为了让同学们可以利用碎片化时间来灵活学习,在教程文章中大程度降低了上下文的依赖,让大家可以在工作之余进行学习与实战,并同时掌握里面涉及的Git不常见操作的相关知识,理解Git工具在工作遇到问题解决思路和方法,相信一定会对大家的前端技能进阶大有帮助。
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值