ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:21.28KB ,
资源ID:18441964      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18441964.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(WINDOWS应用程序设计用到的基本术语Word格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

WINDOWS应用程序设计用到的基本术语Word格式.docx

1、例子备注LmClassLmObject表示类型本身不与范围前缀结合使用IInterface 接口IUnknown注:类名前缀改为Lm,对于非全局的类最好有语义表示其所属模块。类的实例命名与类名大致相同,只是类名语义表示类的通用含义,而类名表示此实例的具体语义。如类名LmSketPoint表示草图点的类定义,而它的两个实例 _StartPoint,_EndPoint分别代表起点和终点的语义。类的实例命名带上前缀_。特殊约定:a MouseTool的派生类的前缀为_Mt.b 对话框类的前缀为CDlg.c 橡皮条类的前缀为_Rb.范围前缀:前缀g_全局作用域g_Serversm_成员变量m_pDoc

2、, l_局部作用域l_strName少用编程时尽量少用全程变量,对于全程变量还应在类型前缀后加上如下关键字:特征模块 : Fea草图模块 Sket装配模块 Asm工程图模块 :Lay曲面模块 Surf界面模块 Ui常用的一般数据类型的前缀内存规格描述chchar8-bit characterchGradeTCHAR16-bit character if _UNICODE is definedchNamebBOOLBoolean valuebEnablednintInteger (size dependent on operating system)nLengthUINTUnsigned val

3、ue (size dependent on operating system)wWORD16-bit unsigned valuewPoslLONG32-bit signed integerlOffsetdwDWORD32-bit unsigned integerdwRangep*Ambient memory model pointerpDoclpFAR*Far pointerlpDoclpszLPSTR32-bit pointer to character stringlpszNameLPCSTR32-bit pointer to constant character stringLPCTS

4、TR32-bit pointer to constant character string if _UNICODE is definedhhandleHandle to Windows objecthWndlpfn(*fn)()callbackFar pointer to CALLBACK functionlpfnAbort常用Windows对象名称缩写Windows 对象例子变量MFC类例子对象HWNDhWnd;CWnd*pWnd;HDLGhDlg;CDialog*pDlg;HDChDC;CDC*pDC;HGDIOBJhGdiObj;CGdiObject*pGdiObj;HPENhPen;C

5、Pen*pPen;HBRUSHhBrush;CBrush*pBrush;HFONThFont;CFont*pFont;HBITMAPhBitmap;CBitmap*pBitmap;HPALETTEhPalette;CPalette*pPalette;HRGNhRgn;CRgn*pRgn;HMENUhMenu;CMenu*pMenu;hCtl;CStatic*pStatic;CButton*pBtn;CEdit*pEdit;CListBox*pListBox;CComboBox*pComboBox;Windows应用程序的基本运行机制与HelloWin程序详解总的来说最基本的Windows应用程

6、序的运行执行顺序总是以如下的基本顺序执行的。顺序结构:调用WinMain函数开始执行-定义窗口类-初始化窗口类-窗口的实例化-通过消息循环获取消息并将消息发送给消息处理函数做出相应的操作由于windows应用程序运行的逻辑结构特殊所以代码的详细解释笔者就不把程序于叙述分开了了,这样有利于阅读与分析。分析代码如下:/程序作者:管宁/站点:dev-/所有稿件均有版权,如要转载,请务必注明出处和作者#include #pragma comment(lib,winmm.lib)/为了要播放声音,必须导入这个库LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, L

7、PARAM);int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow) HINSTANCE 类型的含义为实例句柄。 hInstance 事实上就是当前应用程序自身的标识代号,代号通常都是一个32位整数。 hPrevInstance 与过去的16位应用程序有关系,表示指向前一个实例的句柄。 PSTR 类型的含义是指向以0结尾的字符串指针。 szCmdLine 前面的sz同样是表示指向以0结尾的字符串指针,这个对象用于保存命令行。 最后iCmdShow是一个整型数据,

8、标记了程序最初的显示状态。 为SW_SHOWNORAML的时候为一般大小显示方式。 为SW_SHOWMAXIMIZED的时候为最大化显示方式。 为SW_SHOWMINNOACTIVE的时候程序将显示在任务栏上。 static char szAppName = TEXT(HelloWin);/预先定义一个c风格字符串,稍后用于设置窗口类名称。 WNDCLASS wndclass;/定义窗口类对象 在这里不得不说一下的是,窗口类事实上是struct结构体,内部有10个分量,他们是用来于初始化窗口类对象而用的。 这个结构体在winuser.h头文件中定义,从方式上来说,分为ASCII版的WNDCLA

9、SSA和Unicode版的WNDCLASSW两个。 typedef struct tagWNDCLASSA UINT style; WNDPROC lpfnWndProc; int cbClsExtra; cbWndExtra; HINSTANCE hInstance; HICONhIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCSTR lpszMenuName; lpszClassName; WNDCLASSA, *PWNDCLASSA, NEAR *NPWNDCLASSA, FAR *LPWNDCLASSA; typedef struct t

10、agWNDCLASSW style; lpfnWndProc; hInstance; hIcon; hbrBackground; LPCWSTR lpszMenuName; lpszClassName; WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW;/- 窗口类对象初始化过程 - wndclass.style = CS_HREDRAW | CS_VREDRAW; /* 设置窗口类对象的样式风格,CS_HREDRAW | CS_VREDRAW这两个值是通过位运算的与运算结合起来的。 表示了窗口在改变了水平和垂直大小的时候,

11、窗口要强迫刷新。 这些通过define定义的标识,可以在WinUser.h头文件中找到。 #define CS_VREDRAW0x0001 #define CS_HREDRAW0x0002 #define CS_DBLCLKS0x0008 #define CS_OWNDC0x0020 #define CS_CLASSDC0x0040 #define CS_PARENTDC 0x0080 #define CS_NOCLOSE 0x0200 #define CS_SAVEBITS 0x0800 #define CS_BYTEALIGNCLIENT 0x1000 #define CS_BYTEALI

12、GNWINDOW 0x2000 #define CS_GLOBALCLASS 0x4000 #define CS_IME 0x00010000 wndclass.lpfnWndProc = WndProc ;/指定窗口的处理函数为WndProc,WndProc将处理windows消息。 wndclass.cbClsExtra = 0;/窗口类无扩展 wndclass.cbWndExtra/窗口实例无扩展 wndclass.hInstance = hInstance;/指定当前应用程序实例句柄,也就是程序当前的标识号。 wndclass.hIcon = LoadIcon (NULL,IDI_AP

13、PLICATION); 通过LoadIcon函数设置应用程序窗口标题的icon图标。 HICON LoadIcon(HINSTANCE hInstance,LPCTSTR lpIconName); 函数返回HICON类型的图标句柄。 第一个参数表示当前应用程序的窗口句柄,第二个参数表示图标。 默认状态下,第一个参数为NULL,第二个为IDI_APPLICATION,表示使用系统默认提供的图标,可以在WinUser.h头文件中找到。 #define IDI_APPLICATION 32512 */ wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;

14、 通过LoadCursor函数设置应用程序窗口光标样式。 HCURSOR LoadCursor(HINSTANCE hInstance,LPCTSTR lpCursorName); 函数返回HCURSOR类型的光标句柄。 第一个参数表示当前应用程序的窗口句柄,第二个参数表示光标。 默认状态下,第一个参数为NULL,第二个为IDC_ARROW,表示使用系统默认提供的光标,可以在WinUser.h头文件中找到。 #define IDC_ARROW MAKEINTRESOURCE(32512) wndclass.hbrBackground = (HBRUSH)GetStockObject (WHIT

15、E_BRUSH); 通过GetStockObject函数设置应用程序窗口的背景颜色。 HGDIOBJ GetStockObject(int fnObject); 函数返回HCURSOR类型的GDI对象句柄,为了程序能够正确执行,必须把HGDIOBJ类型强制转换成HBRUSH画刷句柄。 参数表示当前使用的画刷颜色。 这些常量的定义可以在WinGDI.h头文件中找到。 #define WHITE_BRUSH 0 #define LTGRAY_BRUSH 1 #define GRAY_BRUSH 2 #define DKGRAY_BRUSH 3 #define BLACK_BRUSH 4 #defi

16、ne NULL_BRUSH 5 #define HOLLOW_BRUSH NULL_BRUSH wndclass.lpszMenuName = NULL; wndclass.lpszClassName = szAppName;/窗口类对象的名称/- RegisterClass (&wndclass); 注册窗口类,参数为窗口类对象的指针。 函数原形为: ATOM RegisterClass(CONST WNDCLASS *lpWndClass);/- 实例化过程 - HWND hwnd ; /创建用于保存窗口句柄的对象,窗口句柄是系统识别不同窗口的依据,它只是个代号。 hwnd = CreateWindow( szAppName, / 窗口类名称 你好世界, / 窗口标题 WS_OVERLAPPEDWINDOW, / 窗口样式 CW_USEDEFAULT, / 初始的窗口x轴位置 / 初始的窗口y轴位置 / 初始的窗口x轴大小 / 初始的窗口y轴大小 NULL, / 父窗口句柄

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1