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

上传人:b****3 文档编号:18441964 上传时间:2022-12-16 格式:DOCX 页数:10 大小:21.28KB
下载 相关 举报
WINDOWS应用程序设计用到的基本术语Word格式.docx_第1页
第1页 / 共10页
WINDOWS应用程序设计用到的基本术语Word格式.docx_第2页
第2页 / 共10页
WINDOWS应用程序设计用到的基本术语Word格式.docx_第3页
第3页 / 共10页
WINDOWS应用程序设计用到的基本术语Word格式.docx_第4页
第4页 / 共10页
WINDOWS应用程序设计用到的基本术语Word格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

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

《WINDOWS应用程序设计用到的基本术语Word格式.docx》由会员分享,可在线阅读,更多相关《WINDOWS应用程序设计用到的基本术语Word格式.docx(10页珍藏版)》请在冰豆网上搜索。

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

例子

备注

Lm

Class 

LmObject

表示类型本身

不与范围前缀结合使用

I

Interface接口

IUnknown

注:

类名前缀改为Lm,对于非全局的类最好有语义表示其所属模块。

类的实例命名与类名大致相同,只是类名语义表示类的通用含义,而类名表示此实例的具体语义。

如类名LmSketPoint表示草图点的类定义,而它的两个实例_StartPoint,_EndPoint分别代表起点和终点的语义。

类的实例命名带上前缀_。

特殊约定:

a.MouseTool的派生类的前缀为_Mt.

b.对话框类的前缀为CDlg.

c.橡皮条类的前缀为_Rb.

范围前缀:

前缀

g_

全局作用域

g_Servers

m_

成员变量

m_pDoc,

l_

局部作用域

l_strName

少用

编程时尽量少用全程变量,对于全程变量还应在类型前缀后加上如下关键字:

特征模块 

 

Fea

草图模块 

Sket

装配模块 

Asm

工程图模块:

Lay

曲面模块 

Surf

界面模块 

Ui

常用的一般数据类型的前缀

内存规格描述

ch

char

8-bitcharacter

chGrade

TCHAR

16-bitcharacterif_UNICODEisdefined

chName

b

BOOL

Booleanvalue

bEnabled

n

int

Integer(sizedependentonoperatingsystem)

nLength

UINT

Unsignedvalue(sizedependentonoperatingsystem)

w

WORD

16-bitunsignedvalue

wPos

l

LONG

32-bitsignedinteger

lOffset

dw

DWORD

32-bitunsignedinteger

dwRange

p

*

Ambientmemorymodelpointer

pDoc

lp

FAR*

Farpointer

lpDoc

lpsz

LPSTR

32-bitpointertocharacterstring

lpszName

LPCSTR

32-bitpointertoconstantcharacterstring

LPCTSTR

32-bitpointertoconstantcharacterstringif_UNICODEisdefined

h

handle

HandletoWindowsobject

hWnd

lpfn

(*fn)()

callbackFarpointertoCALLBACKfunction

lpfnAbort

常用Windows对象名称缩写

Windows对象

例子变量

MFC类

例子对象

HWND

hWnd;

CWnd*

pWnd;

HDLG

hDlg;

CDialog*

pDlg;

HDC

hDC;

CDC*

pDC;

HGDIOBJ

hGdiObj;

CGdiObject*

pGdiObj;

HPEN

hPen;

CPen*

pPen;

HBRUSH

hBrush;

CBrush*

pBrush;

HFONT

hFont;

CFont*

pFont;

HBITMAP

hBitmap;

CBitmap*

pBitmap;

HPALETTE

hPalette;

CPalette*

pPalette;

HRGN

hRgn;

CRgn*

pRgn;

HMENU

hMenu;

CMenu*

pMenu;

hCtl;

CStatic*

pStatic;

CButton*

pBtn;

CEdit*

pEdit;

CListBox*

pListBox;

CComboBox*

pComboBox;

Windows应用程序的基本运行机制与HelloWin程序详解

总的来说最基本的Windows应用程序的运行执行顺序总是以如下的基本顺序执行的。

顺序结构:

调用WinMain函数开始执行--à

定义窗口类--à

初始化窗口类--à

窗口的实例化--à

通过消息循环获取消息并将消息发送给消息处理函数做出相应的操作

由于windows应用程序运行的逻辑结构特殊所以代码的详细解释笔者就不把程序于叙述分开了了,这样有利于阅读与分析。

分析代码如下:

//程序作者:

管宁 

//站点:

dev- 

//所有稿件均有版权,如要转载,请务必注明出处和作者 

#include<

windows.h>

#pragmacomment(lib,"

winmm.lib"

)//为了要播放声音,必须导入这个库

LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);

intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow)

HINSTANCE类型的含义为实例句柄。

hInstance事实上就是当前应用程序自身的标识代号,代号通常都是一个32位整数。

hPrevInstance与过去的16位应用程序有关系,表示指向前一个实例的句柄。

PSTR类型的含义是指向以\0结尾的字符串指针。

szCmdLine前面的sz同样是表示指向以\0结尾的字符串指针,这个对象用于保存命令行。

最后iCmdShow是一个整型数据,标记了程序最初的显示状态。

为SW_SHOWNORAML的时候为一般大小显示方式。

为SW_SHOWMAXIMIZED的时候为最大化显示方式。

为SW_SHOWMINNOACTIVE的时候程序将显示在任务栏上。

{

staticcharszAppName[]=TEXT("

HelloWin"

);

//预先定义一个c风格字符串,稍后用于设置窗口类名称。

WNDCLASSwndclass;

//定义窗口类对象

在这里不得不说一下的是,窗口类事实上是struct结构体,内部有10个分量,他们是用来于初始化窗口类对象而用的。

这个结构体在winuser.h头文件中定义,从方式上来说,分为ASCII版的WNDCLASSA和Unicode版的WNDCLASSW两个。

typedefstructtagWNDCLASSA{

UINT 

 style;

WNDPROC 

lpfnWndProc;

int 

  cbClsExtra;

  cbWndExtra;

HINSTANCE 

 hInstance;

HICON 

 hIcon;

HCURSOR 

hCursor;

HBRUSH 

 hbrBackground;

LPCSTR 

 lpszMenuName;

 lpszClassName;

}WNDCLASSA,*PWNDCLASSA,NEAR*NPWNDCLASSA,FAR*LPWNDCLASSA;

typedefstructtagWNDCLASSW{

  style;

 lpfnWndProc;

hInstance;

 hIcon;

hbrBackground;

LPCWSTR 

lpszMenuName;

lpszClassName;

}WNDCLASSW,*PWNDCLASSW,NEAR*NPWNDCLASSW,FAR*LPWNDCLASSW;

//-------------------------------窗口类对象初始化过程------------------------------------

wndclass.style 

=CS_HREDRAW|CS_VREDRAW;

/*

设置窗口类对象的样式风格,CS_HREDRAW|CS_VREDRAW这两个值是通过位运算的与运算结合起来的。

表示了窗口在改变了水平和垂直大小的时候,窗口要强迫刷新。

这些通过define定义的标识,可以在WinUser.h头文件中找到。

#defineCS_VREDRAW 

0x0001

#defineCS_HREDRAW 

0x0002

#defineCS_DBLCLKS 

0x0008

#defineCS_OWNDC 

0x0020

#defineCS_CLASSDC 

0x0040

#defineCS_PARENTDC 

 0x0080

#defineCS_NOCLOSE 

 0x0200

#defineCS_SAVEBITS 

0x0800

#defineCS_BYTEALIGNCLIENT 

0x1000

#defineCS_BYTEALIGNWINDOW 

0x2000

#defineCS_GLOBALCLASS 

 0x4000

#defineCS_IME 

  0x00010000

wndclass.lpfnWndProc 

=WndProc;

//指定窗口的处理函数为WndProc,WndProc将处理windows消息。

wndclass.cbClsExtra 

=0;

//窗口类无扩展

wndclass.cbWndExtra 

//窗口实例无扩展

wndclass.hInstance 

=hInstance;

//指定当前应用程序实例句柄,也就是程序当前的标识号。

wndclass.hIcon 

=LoadIcon(NULL,IDI_APPLICATION);

通过LoadIcon函数设置应用程序窗口标题的icon图标。

HICONLoadIcon(HINSTANCEhInstance,LPCTSTRlpIconName);

函数返回HICON类型的图标句柄。

第一个参数表示当前应用程序的窗口句柄,第二个参数表示图标。

默认状态下,第一个参数为NULL,第二个为IDI_APPLICATION,表示使用系统默认提供的图标,可以在WinUser.h头文件中找到。

#defineIDI_APPLICATION 

32512

*/

wndclass.hCursor 

=LoadCursor(NULL,IDC_ARROW);

通过LoadCursor函数设置应用程序窗口光标样式。

HCURSORLoadCursor(HINSTANCEhInstance,LPCTSTRlpCursorName);

函数返回HCURSOR类型的光标句柄。

第一个参数表示当前应用程序的窗口句柄,第二个参数表示光标。

默认状态下,第一个参数为NULL,第二个为IDC_ARROW,表示使用系统默认提供的光标,可以在WinUser.h头文件中找到。

#defineIDC_ARROW 

MAKEINTRESOURCE(32512)

wndclass.hbrBackground 

(HBRUSH)GetStockObject(WHITE_BRUSH);

通过GetStockObject函数设置应用程序窗口的背景颜色。

HGDIOBJGetStockObject(intfnObject);

函数返回HCURSOR类型的GDI对象句柄,为了程序能够正确执行,必须把HGDIOBJ类型强制转换成HBRUSH画刷句柄。

参数表示当前使用的画刷颜色。

这些常量的定义可以在WinGDI.h头文件中找到。

#defineWHITE_BRUSH 

0

#defineLTGRAY_BRUSH 

1

#defineGRAY_BRUSH 

2

#defineDKGRAY_BRUSH 

3

#defineBLACK_BRUSH 

4

#defineNULL_BRUSH 

5

#defineHOLLOW_BRUSH 

NULL_BRUSH

wndclass.lpszMenuName 

=NULL;

wndclass.lpszClassName=szAppName;

//窗口类对象的名称

//-----------------------------------------------------------------------------------------

RegisterClass(&

wndclass);

注册窗口类,参数为窗口类对象的指针。

函数原形为:

ATOMRegisterClass(CONSTWNDCLASS*lpWndClass);

//-------------------------- 

实例化过程 

-------------------------------------------------

HWND 

hwnd;

//创建用于保存窗口句柄的对象,窗口句柄是系统识别不同窗口的依据,它只是个代号。

hwnd=CreateWindow(

szAppName, 

//窗口类名称

"

你好世界"

 

//窗口标题

WS_OVERLAPPEDWINDOW, 

//窗口样式

CW_USEDEFAULT, 

//初始的窗口x轴位置

//初始的窗口y轴位置

//初始的窗口x轴大小

//初始的窗口y轴大小

NULL, 

//父窗口句柄

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

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

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