VC/MFC
akonlbjrd
这个作者很懒,什么都没留下…
展开
-
禁止对话框窗口的改变和实现窗口的拉伸
1.禁止对话框窗口的改变(1)响应WM_SYSCOMMAND 消息void CMfcDemoDlg::OnSysCommand(UINT nID, LPARAM lParam){ if (nID == SC_MOVE || nID==SC_MINIMIZE||nID==SC_MAXIMIZE||SC_CLOSE) return; else CDialog::OnSysCommand原创 2010-05-20 20:06:00 · 5986 阅读 · 0 评论 -
error C2018: 未知字符“0x60
<br />一次在写代码的时候<br />我在一个头文件里面Def.h进行宏定义。<br /><br />#define Help 108<br /><br />在MainFrame.cpp里面<br /><br />BEGIN_MASSGEMAP<br /><br />END_MASSAGEMAP中间添加映射宏<br />ON_COMMAND(HELP, ONHELP)<br />ONHELP定义都没有错<br /><br />但是编译出现error C2018: 未知字符“0x60,这个以前从来没有运到原创 2011-04-03 22:53:00 · 10277 阅读 · 5 评论 -
ClistCtrl 的部分使用技巧总结
<br />一、ClistCtrl 避免大数量闪烁的几种方法, 网上一大堆, 我这里讲的是我的一些使用心得, 在进行大数据量的更新,比如说定时更新的时候,最好是处理OnEraseBkgnd 和OnPaint<br /> <br />BOOL CMyListCtrl::OnEraseBkgnd(CDC* pDC){ // TODO: 在此添加消息处理程序代码和/或调用默认 return FALSE;}void CMyListCtrl::OnPaint(){ CPaintDC d原创 2011-04-03 21:50:00 · 1259 阅读 · 0 评论 -
枚举当前系统进程以及进程加载模块
枚举当前系统进程的方法大致分一下几个步骤:一、 提升应用程序的进程权限///////////////自定义函数实现/////////////////BOOL PromotePrivilege(BOOL bEnable){ // 附给本进程特权,以便访问系统进程 HANDLE hToken; // 打开一个进程的访问令牌 if(::OpenProcessToken(::GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken))原创 2011-04-03 21:11:00 · 11704 阅读 · 1 评论 -
创建浏览文件夹对话框
BROWSEINFO Visual C++(VC)中,BROWSEINFO结构中包含有用户选中目录的重要信息。 (1)BROWSEINFO结构 ●定义 typedef struct_browseinfo { HWND hwndOwner; LPCITEMIDLIST pidlRoot; LPSTR pszDisplayName; LPCSTR lpszTitle; UINT ulFlags; BFFCALLBACK lpfn; LPARAM lParam;原创 2011-04-03 22:07:00 · 5272 阅读 · 1 评论 -
CSpinButtonCtrl使用说明
<br />CSpinButtonCtrl使用起来比较特殊,使用起来,需要注意一些地方.实际的教程也比较少.为了让后人少走弯路,这里写这篇文章以说明.<br />1.添加EDIT控件<br />2.添加Spin控件<br />如果不是这样的顺序的话,使用ctrl+D改变Tab顺序,使spin紧靠edit后面<br />关于改变Tab顺序的方法有以下几种:<br />方法一:<br />在动态创建控件的时候STYLE设置成为WS_CHILD|WS_VISIBLE|WS_TABSTOP,其中WS_TABSTOP原创 2011-04-02 15:24:00 · 9362 阅读 · 0 评论 -
解决闪烁的主要方法
<br /> 一.基本概念<br />CClientDC, CPaintDC都是从CDC派生出来的类。<br />两者的区别有:<br />1.ClientDC的构造函数执行执行GetDC, 析构函数执行ReleaseDC;CPaintDC的构造函数执行BeginPaint 析构函数执行EndPaint <br />2.CClientDC不会使无效矩形区域变为有效,而CPaintDC会无效矩形变为有效。<br />如下代码:<br /> <br />void CDemoDlg::OnPaint()<br原创 2010-11-11 21:02:00 · 3073 阅读 · 0 评论 -
MFC截取桌面背景图
<br />在OnPaint()函数里面添加如下代码:<br />CWnd* wnd = GetDesktopWindow(); CWindowDC cdc(wnd); int width = GetSystemMetrics(SM_CXSCREEN); int heigth = GetSystemMetrics(SM_CYSCREEN); CRect rect; GetClientRect(&rect); CDC memdc; memdc.CreateCompatibleDC原创 2010-06-22 16:06:00 · 2232 阅读 · 2 评论 -
mfc中钩子的使用
<br />钩子的安装与卸载<br /><br /> 系统是通过调用位于钩子链表最开始处的钩子函数而进行消息拦截处理的,因此在设置钩子时要把回调函数放置于钩子链表的链首,操作系统会使其首先被调用。由函数SetWindowsHookEx()负责将回调函数放置于钩子链表的开始位置。SetWindowsHookEx()函数原型声明为:<br />HHOOK SetWindowsHookEx(int idHook;HOOKPROC lpfn;HINSTANCE hMod;DWORD dwThreadId);<br原创 2010-06-01 13:39:00 · 10646 阅读 · 0 评论 -
使窗口总是在别的窗口的上面
<br />用函数BOOLSetWindowPos(<br /> constCWnd*pWndInsertAfter,<br /> intx,<br /> inty,<br /> intcx,<br /> intcy,<br /> UINTnFlags<br />);<br />该函数用来设置窗口的位置 <br />具体见下:<br />BOOL ChookDlg::OnInitDialog(){ CDialog::OnInitDialog(); // 将“关于...原创 2010-05-31 22:25:00 · 1662 阅读 · 0 评论 -
VC实现将资源打包并释放到指定文件夹
<br />很多时候,我们可能要将某些文件打包到资源中,然后当程序执行的时候,发现缺少某些文件时,进行自我修复,以维持程序的正常执行, <br />很多安装程序或者比较高级点的智能程序都已经这样做,比如文件损坏时,安装程序将修复这些文件.一些高级程序的常用设置及文件 <br />遇到破坏时,也会自我修复,它们的这些神奇功能,全都是依靠自身的资源包,替换损坏的文件,或者创建新的默认文件实现的. <br />下面我来说一说这种程序比较普通的一些做法: <br />首先在程序入口处,我们以MFC程序为例子,我们找转载 2011-04-03 22:55:00 · 4778 阅读 · 1 评论