VC/MFC
偶尔e网事
折腾族:https://fusijie.github.io
展开
-
再谈计算机内存访问之2:虚拟内存访问
每个进程都拥有自己的虚拟地址空间,那么怎样才能访问这个空间呢?这就需要用到Windows API函数。这些函数直接与编写程序相关,因而更受软件工程师的关注。有关这方面的函数较多,这里介绍几个重要的函数。1 .获取系统信息在一个程序中不能直接应用某个系统的设备参数,否则将不利于程序的移植。因此,如果确实需要用到这样的设备参数,则需要一个系统信息函数来获得。VC++ 编译器所提供这样的函数转载 2013-06-15 15:55:41 · 3267 阅读 · 0 评论 -
Attach、Detach和DeleteObject
首先,要明白Windows对象和MFC对象的区别。MFC对象实际上并没有把整个Windows对象都包装在其中,它只是有一个窗口句柄而已,这个窗口句柄如果指向一个实际存在的窗口对象(窗口对象,也就是WNDCLASS,是一个Windows对象),那么这个MFC对象就是有效的,否则这个MFC对象是空的。如果你还不明白,请回忆一下,当我们使用MFC创建一个窗口时,是分两步进行的,第一步,new一个CWnd转载 2013-06-29 10:44:54 · 5421 阅读 · 0 评论 -
MFC对象指针不能在线程间传输!
对于大多数mfc对象,请不要在线程间传递它们,不管是栈上的还是堆上的!原因如下: 1、 mfc的大多数类不是线程安全的,调用传入对象的成员函数可能不会报错,但是未必能达到程序预定的功能! 2、 mfc与界面有关的类,其大多数成员方法都是通过sendmessage实现的,如果消息处理函数本身不是线程安全的,你从工作线程中调用这些方法迟早会同你界面线程的用户消息响应转载 2013-08-06 09:10:56 · 2819 阅读 · 0 评论 -
char*,string,CString,int,char[]之间的转换
CString 头文件#include string 头文件#include CString 转char *CString cstr;char *p = (LPSTR)(LPCTSTR)cstr;string 转 CStringCString.format(”%s”, string.c_str());char 转 CStringCString原创 2013-08-17 11:00:29 · 3448 阅读 · 0 评论 -
再谈计算机内存访问之1:内存管理概述
1. 引言 要成为一个程序编写高手,不仅需要熟悉各种计算机语言,而且还需要懂得计算机是如何工作的。虽然不必对计算机的各个部件了解得十分清楚,但至少需要懂得计算机操作系统对内存是如何管理的。只有这样,才能编写出计算机内核级的程序来。本书的以后章节会涉及到内存管理的一些操作函数,因此,有必要先介绍这方面的内容。其实,有关计算机内存管理的书籍已经很多了,为了加深读者对这些内存管理函数使用方转载 2013-09-09 09:01:14 · 4257 阅读 · 1 评论 -
高仿QQ右下角新闻弹窗之MFC版
由于项目需要做一个类似于QQ新闻的消息弹窗,谷歌一下,有现成的。感谢@泪闯天涯的分享。原版是Win32实现的,我把它改成MFC版,可以在代码中直接使用。1.开发环境VS2010/MFC2.源码说明保留Win32API实现自绘,支持多种风格。为区分于Win32版,更名为CMsgWindow类,继承于CWnd类。修改的内容主要有:(1)Create函数中窗口的注册使原创 2014-01-09 09:19:52 · 6503 阅读 · 3 评论