MFC
文章平均质量分 56
ZaneZhu
这个作者很懒,什么都没留下…
展开
-
获得View类指针
获得View(已建立)指针:CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd;CYourView *pView=(CYourView *)pMain->GetActiveView();从文档类获得指针:CYourView* pYourView = NULL; CYourApp * pApp = (CShapeMapAp转载 2012-05-25 21:26:07 · 473 阅读 · 0 评论 -
防止多文档文档重复打开
1、调用此函数,程序会自动判断文档是否已经打开,若已经打开则把打开的此文档设为活动文档。CRadPupApp*pApp=(CRadPupApp*)AfxGetApp();pApp->OpenDocumentFile(filepath);//调用此函数,程序会自动判断2、自己写代码判断void CRadPupApp::OpenFile(LPCTSTR lpszPathName)//O原创 2012-05-25 15:44:34 · 678 阅读 · 0 评论 -
使程序一次运行一个实例
1、在App类中创建HANDLE对象m_hMutex2、在InitInstance()函数中添加代码://创建互斥对象,只允许一个实例运行 m_hMutex = ::CreateMutex(NULL,FALSE,_T("RadPup")); if (GetLastError()== ERROR_ALREADY_EXISTS) {原创 2012-05-25 21:06:42 · 400 阅读 · 0 评论 -
BCG中去掉WorkSpaceBar中的右击菜单
在所要修改的WorkSpaceBar中重写OnShowControlBarMenu (CPointpoint)函数:1、在头文件中添加:virtualBOOLOnShowControlBarMenu (CPointpoint);2、源文件中添加:BOOL CWorkSpaceBar2::OnShowControlBarMenu(CPointpoint){// 此处为自己原创 2012-05-25 15:37:38 · 873 阅读 · 0 评论 -
设置对话框为半透明
在OnInitDialog() 中添加代码://设置窗口扩展风格SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE) | 0x80000);typedef BOOL (WINAPI *FSetLayeredWindowAttributes)(HWND,COLORREF,BYTE,DW原创 2012-05-25 20:59:40 · 564 阅读 · 0 评论 -
使多文档启动时关闭默认文档
在App类的InitInstance()函数中修改代码://分析标准外壳命令、DDE、打开文件操作的命令行CCommandLineInfocmdInfo;ParseCommandLine(cmdInfo);//以下为添加的代码行cmdInfo.m_nShellCommand=CCommandLineInfo::FileNothing;//关闭默认打开子窗口原创 2012-05-25 21:10:01 · 441 阅读 · 0 评论 -
位图保存为文件
BOOL CRadPupView::SaveBitmapToFile(HBITMAP hBitmap,CString lpFileName) { HDC hDC; //设备描述表 int iBits; //当前显示分辨率下每个像素所占字节数 WORD wBitCount; //位图中每个像素所占字节数 DWORD dw原创 2012-05-25 21:11:15 · 501 阅读 · 0 评论 -
获得应用程序路径
CString CDetectSystemApp::GetAppPath(){ CString strPath = _T(""); TCHAR* szFileName = new TCHAR[MAX_PATH]; if (::GetModuleFileName(NULL,szFileName,MAX_PATH)) { CString strFileName = szFileName;原创 2012-05-25 15:49:08 · 466 阅读 · 0 评论 -
解决VS2008中FormView启动不能最大化
m_pMainWnd->ShowWindow(SW_SHOWDEFAULT);m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);m_pMainWnd->UpdateWindow();原创 2012-05-25 17:05:44 · 833 阅读 · 0 评论 -
删除注册表键值
long ret; LPCTSTR SubKey=_T("S-1-5-21-1644491937-1214440339-1801674531-500\\Software\\应用程序向导生成的本地应用程序\\DetectSystem\\Workspace\\DockablePaneAdapter-0") ; HKEY hSubKey; ret = RegOpenKeyEx(H原创 2012-05-25 20:55:16 · 672 阅读 · 0 评论 -
在View类中如何捕获鼠标离开消息
1、在MyView.h中添加鼠标离开消息响应函数声明:LRESULT OnMouseLeave(WPARAM wParam,LPARAM lParam);DECLARE_MESSAGE_MAP() 2、在MyView.cpp中添加函数函数原型:BEGIN_MESSAGE_MAP(CMyView,CView) ON_MESSAGE(WM_MOUSELE原创 2012-05-25 21:16:20 · 465 阅读 · 0 评论 -
Unicode下CString与char *之间的转换
1、Unicode下CString转换为char *方法一:使用API:WideCharToMultiByte进行转换 CStringstr = _T("D:\\校内项目\\QQ.bmp"); //注意:以下n和len的值大小不同,n是按字符计算的,len是按字节计算的 intn = str.GetLength(); // n = 14,转载 2012-05-25 21:18:58 · 520 阅读 · 0 评论 -
使窗口背景有渐变色
//在OnEraseBkgnd(CDC* pDC)函数中添加如下代码:BOOL CCDJDView::OnEraseBkgnd(CDC* pDC){ // TODO: 在此添加消息处理程序代码和/或调用默认值 CRect rect; GetClientRect(&rect); CBitmap m_pBmp; CDC dcMem; CBitmap* pOldBmp; COLORR原创 2012-05-25 21:08:33 · 417 阅读 · 0 评论 -
C++调用WinRAR压缩解压文件
1、压缩:CString aracmd = _T("a ")+strRarFile +_T(" ") +strMdbFile;//strRarFile为压缩后rar文件的全路径,包括压缩后rar文件的文件名(除_、字母、数字外的其他字符不支持),但不要包括后缀名.rar。strMdbFile为带压缩的文件名。//此命令中只有a和strRarFile、strRarFile和str原创 2012-05-25 15:40:21 · 5167 阅读 · 0 评论