MFC相关

本文介绍了MFC中关于Edit Control的操作,包括设置默认显示值和获取内容。还详细讲解了路径处理,如字符串拼接和判断文件是否存在。此外,文章讨论了如何读写INI配置文件,以及CSring与string之间的转换。同时,涵盖了LPCTSTR、GetModuleFileName()等函数的使用,以及获取可执行文件版本号的步骤和实现代码。
摘要由CSDN通过智能技术生成

1、Edit Control

1.1 编辑框中设置默认显示值

右击编辑框 --> 添加变量 --> 填写(变量类型:CEdit、变量名:m_Edit1、类别:control)
在cpp文件的BOOL C******Dlg::OnInitDialog()函数尾部添加

M_Edit1.SetWindowTextW(L"115200");
//或者
CString str'
str = "123";
M_Edit1.SetWindowTextW(str);

1.2 获取框中的内容、设置框中显示

M_Edit2.GetWindowTextW(strCOM);  //获取输入内容
M_Edit1.SetWindowTextW(strCOM1);  //设置框中显示内容

2、路径处理

2.1 字符串拼接和路径写法

2.1.1 获取当前路径

此时的路径为release所在路径

#include <direct.h>

char pwd[256];
_getcwd(pwd, 256);

2.2.2 路径写法及拼接方法

CString Ini_dir;
Ini_dir = "\\conf\\config.ini";  //要写两个\

CString strFilePath;
strFilePath = Release_dir;
strFilePath += Ini_dir;   //字符串拼接

2.2 判断文件是否存在(路径是否正确)

CFileFind finder;
	BOOL ifFind = finder.FindFile(strFilePath);
	if (!ifFind)
	{
   
		MessageBox(L"配置文件目录错误", L"提示");
		return;
	}

3、读/写INI配置文件

3.1 WritePrivateProfileString 写配置ini文件内容

WritePrivateProfileString(根节点, 子标记, 子标记的值, 文件路径);
WritePrivateProfileString(L"COM", L"name", strCOM, strFilePath);

3.2 GetPrivateProfileString 读配置ini文件内容

GetPrivateProfileString(根节点,子标记,子标记为空时的默认值, 返回读取节点的值,max容量,文件全路径);
GetPrivateProfileString(L"COM",L"name",L"无", strCOM1.GetBuffer(MAX_PATH),MAX_PATH,strFilePath);

4、CSrting与string相互转化

4.1 CString转string

CString str = "123";
string RetStr ;
RetStr = str.GetBuffer(0);

4.2 string转CString

string RetStr = "123";
CString str;
str = RetStr.c_str();

5、LPCTSTR

指向常量字符串的长指针。(和CString通用)

  • L: long指针
  • P: 指针
  • C: 常量
  • T: win32环境。_T宏
  • STR: 字符串

6、GetModuleFileName()

返回当前进程已加载可执行或DLL文件的完整路径名,该模块由当前进程地址空间加载。

DWORD WINAPI GetModuleFileName(
	In_opt  HMODULE hModule,   //应用程序或DLL实例句柄,NULL则为获取当前程序可执行文件路径名
	Out     LPTSTR lpFilename, //接收路径的字符串缓冲区
	In      DWORD nSize        //接收路径的字符缓冲区的大小
);

7、lstrcpy

赋值一个字符串到缓冲区。
原型:

LPTSTR lstrcpy(LPWSTR lpString1,LPCWSTR lpString2);
//lpString1:指向接收由参数lpString2指向字符串内容的缓冲区。缓冲区必须足够大来容纳字符串,还包括最后的NULL终止符。
//lpString2:指向待复制的以NULL为终止符的字符串。
//返回值:若函数运行成功,返回值是缓冲区的指针;若函数运行失败,返回值是NULL

8、CFileFind().FindFile(lpszFileName)

CFileFind 类的方法。
CFileFind::FindFile 在目录中搜索指定的文件名。

virtual BOOL FindFile(LPCTSTR pstrName = NULL,DWORD dwUnused = 0);
//pstrName  指向包含要查找的文件名称的字符串的指针。 如果为 NULL 传递 pstrName, FindFile 则 使用通配符 (*.*) 搜索。
//dwUnused  保留为使用派生 FindFile 类使多态。 必须为 0。

MFC类的网址这个网址非常好。

9、DWORD类型

  • DWORD是双字节数据类型。
  • Double Word,每个word为2个字节的长度,DWORD 双字即为4个字节,每个字节是8位,共32位。
  • DWORD在Windows下经常用来保存地址(或者存放指针)。
  • 使用时应该添加如下文件包含#include<windows.h> 。
  • DWORD的宏定义如下: #define DWORD unsigned long

10、HANDLE类型

  • 句柄。
  • 是Windows用来表示对象的(不是C++的对象),HWND是
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值