现在的位置: 首页 > 综合 > 正文

VC总结

2013年12月13日 ⁄ 综合 ⁄ 共 2545字 ⁄ 字号 评论关闭

数据转换:

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 :

  1. #include <sstream>   
  2. #include <string>   
  3. std::string text = "152";   
  4. int number;   
  5. std::stringstream ss;   
  6. ss < < text;//可以是其他数据类型   
  7. ss >> number; //string -> int   
  8. ss < < number;// int->string   
  9. 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”);

  1. TCHAR szMsg[MAX_PATH];  
  2. //将格式化的字符串写入szMsg  
  3. StringCchPrintf(szMsg,_countof(szMsg),TEXT("%d is a number!"),number);  
  4. 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()中添加代码:
  1. BOOL CShowImgDlg::OnInitDialog()  
  2. {  
  3.     CDialog::OnInitDialog();  
  4.     m_brush.CreateSolidBrush(RGB(255,255,255));//设置白色背景  
  5.     return TRUE;    
  6. }  
  • 重写WM_CTLCOLOR响应函数:
  1. HBRUSH CShowImgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)  
  2. {  
  3.     return m_brush;  
  4. }  
2、打开目录对话框:
       

  1. CString sFolderPath;  
  2.   BROWSEINFO bi;  
  3.   TCHAR Buffer[MAX_PATH];  
  4.   //初始化入口参数bi开始  
  5.   bi.hwndOwner = NULL;  
  6.   bi.pidlRoot = NULL;  
  7.   bi.pszDisplayName = Buffer;//此参数如为NULL则不能显示对话框  
  8.   bi.lpszTitle = TEXT("选择路径");  
  9.   bi.ulFlags = BIF_RETURNONLYFSDIRS;  
  10.   bi.lpfn = NULL;  
  11.   bi.iImage = 0;  
  12.  //初始化入口参数bi结束  
  13.  LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);//调用显示选择对话框  
  14.  if(pIDList)  

抱歉!评论已关闭.