
VC/MFC
Icer
C/C
Java
LUA
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MFC对话框Border类型(None、Thin、Resizing、Dialog Frame)对应的部分属性
在运行中转换对话框类型需要用到的属性Dialog FrameWS_CAPTION | WS_POPUP | WS_SYSMENU | WS_CLIPSIBLINGS | DS_MODALFRAMEWS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGEThin比Dialog Frame缺少一个扩展属性WS_EX_DLGMODALFRAMENone比D原创 2011-11-29 23:46:03 · 8207 阅读 · 0 评论 -
Invalidate、UpdateWindow、RedrawWindow的区别
void Invalidate( BOOL bErase = TRUE )Invalidate()是强制系统进行重画,但是不一定就马上进行重画。因为Invalidate()只是令窗口客户区变为无效。强制系统调用WM_PAINT,而这个消息只是通过PostMessage将该消息放入消息队列。由于WM_PAINT消息的优先级很低,它需要等消息队列中的其它消息发送完后才能被处理。BOOL Inv原创 2011-11-29 22:16:14 · 1660 阅读 · 0 评论 -
WM_COMMAND和WM_NOTIFY消息的区别
WM_COMMAND和WM_NOTIFY都是控件通知消息。 控件通知消息,是指这样一种消息,一个窗口内的控件发生了一些事情,需要通知父窗口。当用户与控件窗口交互时,控件通知消息就会从控件窗口发送到它的主窗口,这种消息一般不是为了处理用户命令,而是为了让主窗口能够改变控件。 在最初的Windows 3.x中,还没有WM_NOTIFY,只存在WM_COMM转载 2011-12-23 08:30:39 · 808 阅读 · 0 评论 -
实现类似于Windows开始运行中的带有自动匹配下拉列表的组合框(或编辑框)
1. 创建已经实现IAutoComplete接口的COM对象,需要初始化CoInitialize(NULL); IAutoComplete *pac = NULL; HRESULT hRet = CoCreateInstance(CLSID_AutoComplete, NULL, CLSCTX_INPROC_SERVER, IID_IAutoComplete, (LPV原创 2012-01-25 03:08:07 · 1082 阅读 · 0 评论 -
CString的堆错误 Heap block at
CString编程中遇到堆错误Heap block at 00619088 modified at 006190F3 past requested size of 6 CString::GetBuffer(0)或(LPTSTR)(LPCTSTR)强制转换来的指针只能用来修改、读取,不能用strlen获取长度!原创 2012-03-04 21:08:51 · 3397 阅读 · 0 评论 -
Winsock工作模型
Winsock工作模型 ( 转 )首先得弄清楚同步、异步、阻塞、非阻塞的概念。同步和异步是针对通讯的工作模式,阻塞和非阻塞是指socket的I/O操作。实际上对于socket,只存在阻塞和非阻塞,同步与异步是在程序实现上有所不同。以阻塞的方式执行recv函数,在没有收到数据前,此函数是不会返回的,所以这很容易执行函数的线程处于等待I/O上的数据状态,然后被挂起。非阻塞就不一转载 2013-05-28 22:44:30 · 740 阅读 · 1 评论