随笔分类 - C++
MFC中PreTranslateMessage函数浅析
摘要:作用:PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码.MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,可以改变MFC的消息控制流程,甚至可以作一个全新的控制流出来。只有穿过消息队列的...
阅读全文
堆和栈的区别 (转贴)
摘要:非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似...
阅读全文
关于写文件(系统API函数&CFile类)
摘要:写文件是编程中很常用的手段。我们通常可以利用系统提供的API函数CreateFile去创建或打开一个文件(是创建还是打开在参数中可以设置)HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DW...
阅读全文
两个很常用的类CArray,CList
摘要:开始用过CArray这个非常好用的类(如何使用看这篇文章MFC数组类CArray的使用的操作详解 )。后来又发现CList这个类与它有些相似,于是Google了一下。在这里汇总一些比较好理解的说法去熟悉他们。以便在以后的编程中应用自如: TitleArray采用队列方式存储数据,因而其内部数据元素是以物理方式顺序排列的,所以检索、顺序执行GetAt()等函数的速度是相当快的。但是由于每次队列长度变...
阅读全文
MFC程序对win32的封装总结(窗口类的注册,窗口的创建,窗口的窗口过程指定)
摘要:首先来一张类结构层次图然后我们进入讨论的正题吧!CWinApp* pApp = AfxGetApp(),GfxGetApp是取得当前CMyApp的对象的一个函数 这样我们用当前的App对象(派生类)附值给CWinApp指针(父类)。这样下面pApp.InitInstance()调用的就是派生类的因为它是虚函数,如果派生类没有重写那就调用基类一层一层往上找标号为3,4处: 首先InitApplica...
阅读全文
Windows Mobile中使用html控件[转]
摘要:在某些特殊的应用场合,我们很想要一个类似IE功能的模块,定制自己的功能。HTML控件现在向我们张开了怀抱。稍稍奇怪的是,它并不完全支持WAP协议。看来,IE还是做了自己的解析。首先,我们要注册一下控件。把Htmlctrl.h包含进来,调用InitHTMLControl()函数,里面的参数为应用程序句柄。以下代码在MFC中使用:VERIFY(InitHTMLControl(AfxGetInstanc...
阅读全文
Win32中窗口的创建和消息机制以及MFC对Win32的封装简介
摘要:首先看一张图: 程序进入主函数---->注册窗口类(RegisterClass)--->创建窗口(CreateWindow)---->抓取消息并安排分发给相应的窗口函数(GetMessage那个循环)----->写一个处理所有消息和命令的窗口函数WNDPRO() 下面看更详细的一个图,详细到各个函数。 看看这几个函数是怎么写的: ---------------------------...
阅读全文
窗口过程函数-----WindowProc和DefWindowProc函数[转]
摘要:在Windows操作系统里,当窗口显示之后,它就可以接收到系统源源不断地发过来的消息,然后窗口就需要处理这些消息,因此就需要一个函数来处理这些消息。在API里定义了一个函数为回调函数,当系统需要向窗口发送消息时,就会调用窗口给出的回调函数WindowProc,如果WindowProc函数不处理这个消息,就可以把它转向DefWindowProc函数来处理,这是系统的默认消息处理函数。当你按下菜单,或...
阅读全文
VC 常见的108个问题[转]
摘要:(1) 如何通过代码获得应用程序主窗口的 指针? 主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。 AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED) //使程序最大化. (2) 确定应用程序的路径 Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。 Example...
阅读全文
MFC数组类CArray的使用的操作详解[转]
摘要:MFC的数组类支持的数组类似于常规数组,可以存放任何数据类型。常规数组在使用前必须将其定义成能够容纳所有可能需要的元素,即先确定大小,而MFC数组类创建的对象可以根据需要动态地增大或减小,数组的起始下标是0,而上限可以是固定的,也可以随着元素的增加而增加,数组在内存中的地址仍然是连续分配的。 MFC定义了数组模板类CArray,并针对各种常用变量类型定义了CByteArray,CArray...
阅读全文
Mobile开发之路_之小总结
摘要:1,从那种基本类中继承的函数 变异时都会自动被调用2,void *memset(void *s,int c,size_t n) 总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。3,DoDataExchange中 编辑框 DDX_Text(pDX, IDC_EDTXSXM, m_xsxm);//把ID_EDITSXM这个控件和字符串 ID_EDITSXM映射起来 下拉菜单 DDX_C...
阅读全文
C++中指针和引用的区别
摘要:C++引用与指针的比较 引用是C++中的概念,初学者容易把引用和指针混淆一起。 一下程序中,n是m的一个引用(reference),m是被引用物(referent)。 int m; i...
阅读全文
浙公网安备 33010602011771号