宏定义该放到哪:
若宏定义被多个.cpp文件使用,放到.h文件中。否则放到.c文件
包含的头文件放哪:
标准操作放到.h文件中
MFC添加自己写的文件
.h文件: 放入自己引用的头文件
.c文件 宏定义
.h文件 .c文件都应包含 <stdafx.h>和<iostreasm.h>
注意:有些时候会发生找不到头文件的情况,此时可以尝试将 "< >" 换为 " "
MFC编辑自动换行
编辑框属性设置
Vertical Scrollbar | TRUE |
MultiLine | TRUE |
Auto HScroll | FALSE |
MFC显示中文
引入#include "locale.h",在主函数中调用setlocale(LC_CTYPE, "chs");
转载于:MFC 解决中文乱码问题 - 阳光总能让人感到温暖 - 博客园
MFC中选择文件,并将文件路径转换为字符串
//选择文件类型
TCHAR szFilter[] = _T("表格(*.csv)|*.csv|");
CFileDialog Dlg(TRUE, 0, 0, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, NULL);
if (Dlg.DoModal() == IDOK)
{
strFilePath1 = Dlg.GetPathName();
//查看传入的路径名
//AfxMessageBox(strFilePath1);
}
else
{
AfxMessageBox(_T("取消打开文件"));
return;
}
//将CSring类型转化为字符串类型
int m1=strFilePath1.GetLength();
for(int index=0;index<m1;index++)
{
if(strFilePath1.GetAt(index)=='\\')
{
strFilePath1.Insert(index,'\\');
index++;
}
}
LPCTSTR p1=strFilePath1.GetBuffer();
DWORD dwMinSize1;
dwMinSize1=WideCharToMultiByte(CP_ACP,NULL,p1,-1,NULL,0,NULL,FALSE);
char * pp1=new char[dwMinSize1];
WideCharToMultiByte(CP_OEMCP,NULL,p1,-1,pp1,dwMinSize1,NULL,FALSE);
MFC在静态文本框显示内容
//显示汉字不乱码设置
setlocale(LC_CTYPE, "chs");
GetDlgItem(IDC_EDIT3)->SetWindowText(_T(""));//清空编辑框内内容
//读取文件
CString strLine, strTemp, result;
int row = 0;
CStdioFile file(code, CFile::modeRead);
while (file.ReadString(strLine))
{
//char *str = strLine.GetBufferSetLength(strLine.GetLength());
char *str = (char *)strLine.GetBufferSetLength(strLine.GetLength());
//char *p;
if (strLine != "")
{
result += _T("\r\n") + strLine;
//result += strLine;
//选择文本框
GetDlgItem(IDC_EDIT3)->SetWindowTextW(result);
GetDlgItem(IDC_EDIT3)->UpdateWindow();
//result = " ";
row++;
}
}
file.Close();