您的位置:首页 > 其它

关于VC常用函数

2012-09-25 17:26 417 查看
让窗体随鼠标拖动 SendMessage(WM_NCLBUTTONDOWN, HTCAPTION, 0); (在mousedown事件中加入)

  获取控件文本 GetDlgItemText(hwnd,IDC_EDIT1,GetString,80);

  修改控件文本 SetDlgItemText(hwnd,IDC_EDIT1,"Playing..."); 或者 this->m_Status.SetWindowText("Playing..."); //m_Status 是绑定的变量 ,或者 m_Status.SetWindowText(_T("Playing..."));

  给控件发送消息 SendDlgItemMessage(hwnd,IDC_LIST1,LB_INSERTSTRING,(WPARAM)-1,(LPARAM)GetString);

  MFC中获取自身句柄 this->GetSafeHwnd()

  ExitWindowsEx(0,0);//调用ExitWindowsEx关闭机器。

  PostQuitMessage(0); //退出程序

  system("") ; 执行CMD命令

  1: 得到系统时间日期(使用GetLocalTime)

  CString sTime,sYear,sMonth,sDay;

  SYSTEMTIME CurTime;

  GetLocalTime(&CurTime);

  sYear.Format("%d年",CurTime.wYear);

  sMonth.Format("%d月",CurTime.wMonth);

  sDay.Format("%d日",CurTime.wDay);

  sTime = sYear+ sMonth + sDay;

  // CurTime.wHour

  // CurTime.wMinute

  // CurTime.wSecond IBM的

  AfxMessageBox(sTime);

  2: 分离字串

  CString str = "4d3f0a2278";

  unsigned char a[12];

  long x;

  for(int i = 0;i< (str.GetLength()/2);i++)

  {

  sscanf(str.Mid(2*i,2),"%x",&x);

  a = x;

  }

  3: 得到当前目录 (GetCurrentDirectory)

  char CurPath[MAX_PATH];

  DWORD size=MAX_PATH;

  GetCurrentDirectory(size,CurPath);

  AfxMessageBox(CurPath);

  //

  CString number;

  int len = LineLength(LineIndex(0));

  LPTSTR p=number.GetBuffer(len);

  this->GetLine(0,p,len);

  AfxMessageBox(number);

  得到系统目录 (GetSystemDirectory)

  4: 从字符串中提取数字

  CString strNum;

  CString str("测试125各国87kk");

  strNum = GetStr(str);

  AfxMessageBox(strNum);

  5: 创建无模对话框

  CDlg_Test *aa = new CDlg_Test;

  aa->Create(IDD_DIALOG1,NULL);

  aa->ShowWindow(SW_SHOW);

  6: 得到窗口绝对坐标

  CString strNum,strNum1;

  CRect rect;

  GetClientRect(&rect);

  ClientToScreen(&rect);

  strNum.Format("X: %d",rect.top);

  strNum1.Format(" Y: %d",rect.left);

  strNum = strNum + strNum1;

  AfxMessageBox(strNum);

  7: 复制文件夹

  SHFILEOPSTRUCT Op;

  char FromBuf[]="E:\\temp\0";

  char ToBuf[]="\\\\SINTEKSERVER\\个人文档\\陈伟\0";;

  Op.hwnd = NULL;

  Op.wFunc = FO_COPY;

  Op.pFrom = FromBuf;

  Op.pTo = ToBuf;

  Op.fFlags = FOF_NOCONFIRMATION | FOF_RENAMEONCOLLISION ;

  Op.fAnyOperationsAborted = FALSE;

  Op.hNameMappings = NULL;

  Op.lpszProgressTitle = NULL;

  if(SHFileOperation(&Op) == 0)

  MessageBox("复制完毕","提示",MB_OK|MB_ICONINFORMATION);

  8: 捕获 Ctrl+鼠标左键 组合

  case WM_LBUTTONDOWN://鼠标消息wParam ==

  if (wParam & MK_CONTROL)

  MessageBox(hwnd,"aaa","bbb",MB_OK);

  break;

  或

  case WM_LBUTTONDOWN:

  if(GetKeyState(VK_CONTROL)<0)

  MessageBox(hwnd,"aaa","bbb",MB_OK);

  break;

  9.音乐播放函数MCI

  HWND MCIWndCreate(

  HWND hwndParent, //父窗口句柄 GetSafeHwnd();

  HINSTANCE hInstance, //与MCIWnd窗口关联的模块实例句柄 AfxGetInstanceHandle()

  DWORD dwStyle, //WS_CHILD | MCIWNDF_NOMENU

  LPSTR szFile //音乐文件路径

  );

  成功:返回MCI窗口句柄。

  失败:返加0。

  LONG MCIWndPlay( hwnd ); //播放

  LONG MCIWndPause( hwnd ); //暂停

  LONG MCIWndSetVolume(

  hwnd,

  iVol // New volume level. Specify 1000 for normal volume level. Specify a higher value for a louder volume or a lower value for a quieter volume.

  ); //音量设置

  LONG MCIWndResume( hwnd ); //从暂停恢复播放

  LONG MCIWndStop( hwnd ); //停止播放

  PathFileExists 判断文件或目录是否有效

  GetFileSize 得到指定文件的大小

  CreateFile 打开或创建一个新的文件

  ReadFile 读取文件

  GetModuleFileName 得到当前模块文件的完整路径path\filename

  PathRemoveFileSpec 从文件完整路径得到所在文件夹路径,输入path\filename,得到path

  PathCombine 将两个路径合并为一个路径

  RegisterWindowMessage 注册一个系统消息供其他程序调用

  CMemoryState类 可以检测内存泄漏,参见msdn中“MFC 中的内存泄漏检测 ”

  MoveFile 将存在的一个文件或一个目录包含所有子文件目录移到新的文件或目录,有改名的作用。

  DeleteFile 删除一个存在的文件。

  PathCanonicalize(LPTSTR lpszDst,LPCTSTR lpszSrc) 将lpszSrc) 路径中的“.”去掉,将“..”返回上一级,赋值给lpszDst,例如lpszSrc(C:\a\.\bc\d\..\a),lpszDst则是(C: \a\bc\a)

  _taccess (path, 0)判断是否存在;(path,2)判断是否仅可写;(path,4)判断是否仅可读;(path,6)判断是否既可写又可读。返回-1表示不满足条件。

  CreateDirectory(dir,0) 创建一个目录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: