MFC杂记

本文介绍了MFC编程中的一些实用技巧,包括获取硬盘空间、listBox设置、GetModuleFileName应用、解决内存分配问题、读写ini文件、使用copyfile函数、字符串转义、获取程序目录、VC6.0到VS2008的迁移、加载图标、ToolBar创建、视图背景填充及滚动窗口图形错位的解决方法。
摘要由CSDN通过智能技术生成

一  如何获得硬盘空间大小

CCalculayeHardDesk  calculateHardDesk ;
CString strFreeDeskSize = TEXT("") ;
strFreeDeskSize = calculateHardDesk.GetDeskCharVolumSize(deskDesc) ;


if (strFreeDeskSize == "")
{
GetDlgItem(IDC_STATIC_FREEDESK)->SetWindowText(TEXT("获取当前磁盘剩余空间失败"));
}
else
{
strFreeDeskSize = TEXT("当前磁盘剩余空间:") + strFreeDeskSize ;
GetDlgItem(IDC_STATIC_FREEDESK)->SetWindowText(strFreeDeskSize) ;//在IDC_STATIC_FREEDESK静态文本框中显示所剩硬盘大小。
}


}

二 对一个listBox的设置 (m_listBox)

  m_listBox.SetExtendedStyle(LVS_EX_CHECKBOXES|LVS_EX_GRIDLINES| LVS_EX_FULLROWSELECT|LVS_EX_INFOTIP);
m_listBox.InsertColumn(0, TEXT("工具名称"), LVCFMT_LEFT,100);
m_listBox.InsertColumn(1, TEXT("版本"), LVCFMT_LEFT, 100);
m_listBox.InsertColumn(2, TEXT("聊天记录路径"), LVCFMT_LEFT,112);
m_listBox.InsertColumn(3, TEXT("文件路径"), LVCFMT_LEFT, 112);

三 对于函数GetModuleFileName()的应用

 这个函数GetModuleFileName()得到模块的完整路径名;

函数原型:

  DWORD GetModuleFileName(
  HMODULE hModule,
  LPTSTR lpFilename,
  DWORD nSize
  );
  函数参数说明:
  hModule HMODULE 装载一个程序实例的句柄。如果该参数为NULL,该函数返回该当前应用程序全路径。
  lpFileName LPTSTR 是你存放返回的名字的内存块的指针,是一个输出参数//返回的程序所在路径
  nSize DWORD ,装载到缓冲区lpFileName的最大值
  函数返回值:
  如果返回为成功,将在lpFileName的缓冲区当中返回相应模块的路径,如果所为的nSize过小,哪么返回仅按所设置缓冲区大小返回相应字符串内容。
  如果函数失败,返回值将为0,并返回GetLastError异常代码。
  需要的头文件为:
  include Windows.h

如 要是获得QQ的路径的路径 则显示的是.....//...///..//..//qq.exe;

如果要获得路径 应该把最后一个程序的名字删除,可以使用CString.reversefind("//")来截取前面的路径部分。

GetCurrentDirectory() 
GetModuleFileName() 这两个函数都可以用来获得当前程序的路径。

四 uafxwce.lib(afxmem.obj) : ..."void __cdecl operator delete(void *)" (??3@YAXPAX@Z)

   解决方法   可以将平台设置从Not Using MFC 改变成为Use MFC in a Shared DLL方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值