MFC常用操作

1、获取本程序的运行目录

1 TCHAR AppPathName[MAX_PATH];
2 HINSTANCE hwnd = AfxGetAppModuleState()->m_hCurrentInstanceHandle;
3 GetModuleFileName(hwnd,AppPathName,MAX_PATH); 
4 CString strModulePath(AppPathName);
5 int nBinPos=strModulePath.ReverseFind(_T('\\'));
6 if(nBinPos!=-1)
7   strModulePath = strModulePath.Left(nBinPos);

2、由下往上发送消息(发送字符串消息)

     下不能获得上的对象,比如不能获得CMainFrame对象,只能以发送消息的形式进行通信

 1   发送消息:
 2   CString strName = "我是。。。。";
 3   char* chName = strName.GetBuffer(strName.GetLength());
 4   AfxGetMainWnd()->SendMessage(WM_MESSAGE_USER111, (WPARAM)chName, NULL);        //1
 5   //AfxGetMainWnd()->SendMessage(WM_MESSAGE_USER111, 0, *(LPARAM*)&strName);        //2
 6 
 7   消息响应:
 8   ON_MESSAGE(WM_MESSAGE_USER111,     OnCommandOpenReport)
 9 
10   处理消息:
11  LRESULT CMainFrame::OnCommandOpenReport( WPARAM wParam, LPARAM lParam )
12  {
13   CString strCurReportName = (char*)wParam;                        //1
14   //CString strPathFile = *(CString*)(LPARAM*)&lParam;                    //2
15   return 0L;
16  }

 

posted @ 2013-11-05 13:18  陳さん様  阅读(139)  评论(0)    收藏  举报