数据转换:
CString –> double : double dNum = atof(str);
double –> CString : CString cStr = (TCHAR*)(_bstr_t)dNum;
#include<comutil.h> comsuppwd.lib
CString –> std::string : std::string = (char*)(_bstr_t(cStr));
std::string –> CString: CString cStr = (TCHAR*)(_bstr_t(str.c_str()));
CString –> char*: LPTSTR p = cStr.GetBuffer();
string –> int :
- #include <sstream>
- #include <string>
- std::string text = "152";
- int number;
- std::stringstream ss;
- ss < < text;//可以是其他数据类型
- ss >> number; //string -> int
- ss < < number;// int->string
- string str = ss.str();
字符串转换:http://blog.csdn.net/jinhill/article/details/4025968
CString操作指南:http://blog.csdn.net/wilsonwong/article/details/1329420
---------------------------------------------------------------------------------------------------------------------------
数据格式化:
CString cFormatStr;
cFormatStr.Format(“%0.2f”,fOrg); //格式化为2位小数
时间日期:CTime cTime;
cTime = CTime::GetCurrentTime();
CString cTimeStr = cTime.Format(“%Y-%m-%d”);
- TCHAR szMsg[MAX_PATH];
- //将格式化的字符串写入szMsg
- StringCchPrintf(szMsg,_countof(szMsg),TEXT("%d is a number!"),number);
- AfxMessageBox(szMsg);
---------------------------------------------------------------------------------------------------------------------------
控件使用技巧:
1、静态文本响应事件:修改文本ID,Notify属性选为true.
2、静态文本显示位图:
- 建立一个文本控件,修改ID,并为其增加控制变量m_img
- m_img.ModifyStyle(0,SS_BITMAP|SS_CENTERIMAGE);
HBITMAP hBmp = (HBITMAP)::LoadImage(0,imgPath,IMAGE_BITMAP,0,0,LP_LOADFROMFILE);
m_img.SetBitmap(hBmp);
3、Button禁用或者启用:CWnd类的EnableWindow(BOOL)方法。TRUE为启用。
4、对话框控件显示与隐藏: CWnd::ShowWindow(SW_HIDE)和CWnd::ShowWindow(SW_NORMAL)
5、VC从文件中加载图片:http://blog.csdn.net/jinhill/article/details/4251551
---------------------------------------------------------------------------------------------------------------------------
对话框技巧:
1、设置对话框背景色:
方法1:设置单个对话框的背景色:
- 在对话框类添加全局变量:CBrush m_brush;
- 在OnInitDialog()中添加代码:
- BOOL CShowImgDlg::OnInitDialog()
- {
- CDialog::OnInitDialog();
- m_brush.CreateSolidBrush(RGB(255,255,255));//设置白色背景
- return TRUE;
- }
- 重写WM_CTLCOLOR响应函数:
- HBRUSH CShowImgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
- {
- return m_brush;
- }
2、打开目录对话框:
- CString sFolderPath;
- BROWSEINFO bi;
- TCHAR Buffer[MAX_PATH];
- //初始化入口参数bi开始
- bi.hwndOwner = NULL;
- bi.pidlRoot = NULL;
- bi.pszDisplayName = Buffer;//此参数如为NULL则不能显示对话框
- bi.lpszTitle = TEXT("选择路径");
- bi.ulFlags = BIF_RETURNONLYFSDIRS;
- bi.lpfn = NULL;
- bi.iImage = 0;
- //初始化入口参数bi结束
- LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);//调用显示选择对话框
- if(pIDList)