MFC:class and struct

1.MSG struct

http://msdn.microsoft.com/en-us/library/900ks98t.aspx

1 typedef struct tagMSG {
2     HWND    hwnd;
3     UINT      message;
4     WPARAM wParam;
5     LPARAM   lParam;
6     DWORD   time;
7     POINT      pt;
8 }  MSG;

2. WNDCLASS

http://msdn.microsoft.com/en-us/library/aa925944.aspx

 1 typedef struct _WNDCLASS {
 2   UINT style;
 3   WNDPROC lpfnWndProc;
 4   int cbClsExtra;
 5   int cbWndExtra;
 6   HANDLE hInstance;
 7   HICON hIcon;
 8   HCURSOR hCursor;
 9   HBRUSH hbrBackground;
10   LPCTSTR lpszMenuName;
11   LPCTSTR lpszClassName;
12 } WNDCLASS; 

时间: 2024-08-08 17:44:43

MFC:class and struct的相关文章

MFC:“Debug Assertion Failed!” ——自动生成的单文档程序项目编译运行就有错误

今天照着孙鑫老师的VC++教程学习文件的操作,VS2010,单文档应用程序,项目文件命名为File,也就有了自动生成的CFileDoc.CFileView等类,一进去就编译运行(就是最初自动生成的项目),编译通过,可运行时直接弹出错误框,有点小懵,,,啥都没做就给我看这个: 图一   错误提示框 后来搜索一查,网上好多类似的错误以及解决方案,几乎都试了个遍,有: 方法(1)-重新生成解决方案,或者将项目文件目录下Debug文件夹删了,重新生成Release版: 方法(2)-可以先声明一个临时的C

(转)MFC:Windows如何区分鼠标双击和两次单击

在Windows平台上,鼠标左键的按下.松开.快速的两次点击会产生WM_LBUTTONDOWN.WM_LBUTTONUP和WM_LBUTTONDBLCLK消息,但是Windows根据什么来区分连续的两次鼠标按键操作,是两次独立的单击,还是一次双击呢?最近在解决一个问题时,通过使用Spy++和查阅MSDN,弄清楚了这个问题.简单总结如下: Windows根据两个条件来做这个区分:(1)双击的时间间隔    这是很容易想到的.更准确的说法是这样的,两次单击会产生四个鼠标点击消息,如果第三个消息(第二

Socket 学习之 MFC:简单通信

最终界面如图所示: 客户端代码如下: // ClientDlg.h : 头文件 // #pragma once UINT Recv_Th(LPVOID p); // CClientDlg 对话框 class CClientDlg : public CDialog { // 构造 public: CClientDlg(CWnd* pParent = NULL); // 标准构造函数 // 对话框数据 enum { IDD = IDD_CLIENT_DIALOG }; protected: virt

《你必须知道的.NET》--后来居上:class和struct(Ⅳ)

本节主要内容:类和结构区别. Ⅰ.类class 在.NET中,所有类都最终继承自System.Objetct类,因此是一种引用类型,类实例化的对象的值,保存在托管堆(managed heap)中: Ⅱ.结构struct 结构是一种值类型,所有的结构都继承自System.ValueType类,实例分配在线程的堆栈(stack)中: Ⅲ.为何不用class完全取代struct 有以下几个地方,我们应该考虑使用struct代替class: a.实现一个主要用于存储数据的结构时,可以考虑struct:

MFC:ID命名和数字约定

今天早上双击一个刚刚编译完成的应用程序,界面刚刚显示,又自动触发了一个菜单事件,打开了一个网页.真的很意外.关闭窗口,再次双击,又自动打开了一个网页,再关闭,再双击,又不自动打开网页了.这是什么情况? 到百度搜索“mfc 菜单 id 范围”,找到一篇来自CSDN的帖子: http://topic.csdn.net/t/20030708/14/2003847.html 看到最后一位回复者(sxslyy)的内容: 见MFC   windows   程序设计   第199页   ID要为16的倍数,因

MFC:修改生成exe文件图标

网上找了一下,大概可以总结有 方法一:    要更改图标,在resource.h中打开之后可以看到各个资源的ID值,一般mfc自动生成的IDR_MAINFRAME是128,自己添加的会大于128,顺序后延,编译时默认将ID最小的作为exe的图标,所以只要我们将其改之就可以了,还是上面的对话框,将IDI_ICON1改为128,将IDR_MAINFRAME改为其他的大一点的数不能太大了,因为可能会有其他用处,然后重新rebuild,这时就可以看到exe图标变成了自己的IDI_ICON1的图标了. 方

MFC:Win32-Dll及MFC-Dll编写调用

一.win32-dll 1.编写 代码例如以下: Math.h #ifdef MATH_EXPORTS #define MATH_API __declspec(dllexport) #else #define MATH_API __declspec(dllimport) #endif extern MATH_API double PI; MATH_API int Add(int a ,int b); MATH_API int Sub(int a, int b); MATH_API int Mod

V4L2源代码之旅一:struct v4l2_device

一. 文档位置:linux-3.08/Documentation/video4linux/v4l2-framework.txt 二.翻译总结: V4L2驱动程序往往是很复杂的,其原因是硬件的复杂性:大多数设备有多个IC,从而导出多个设备节点/dev,并且创建了non-V4L2设备如DVB.ALSA,FB,I2C和输入(IR)设备. 特别的是,V4L2驱动必须组织IC支持完成音/视频的混流/编码/解码,这就导致V4L2驱动更加复杂.通常,这些IC是由一个或多个I2C总线连接到主桥驱动,其他总线也可

MFC控件:listctrl使用方法总结

以下未经说明,listctrl默认view 风格为report 相关类及处理函数 MFC:CListCtrl类 SDK:以 “ListView_”开头的一些宏.如 ListView_InsertColumn 1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标      LVS_SMALLICON: 为每个item显示小图标      LVS_LIST: 显示一列带有小图标的item      LVS_REPORT: 显示item详细资料 直观的理解:windows资源管