创建窗口

来源:互联网 发布:游方道仙数据 编辑:程序博客网 时间:2024/04/30 17:41

共用体和结构体的区别在于内存的占有长度,共用体的长度等于最长的成员长度,而结构体的内存长度是所有成员内存长度之和。

构造函数:用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的内部管理操作。

this指针指向一个类的对象的地址,每个成员函数都有一个this指针变量指向该成员函数所属的对象。

class 派生类名:【访问属性】基类名

多态性:派生类  虚拟函数   父类引用指向子类对象

C++不可以虚拟构造函数,可以虚拟析构函数

一个句柄是指windows使用的一个唯一的整数值,是一个4字节长的数值,用于标识应用程序中不同的对象和同类对象中不同的实例。

winmain函数    定义---注册窗口类,建立窗口执行其他必须的初始化  消息循环---档检测到WM_QUIT时消息终止。


建立窗口的实例

#include <windows.h>


LRESULT CALLBACK Wndproc(HWND,UNIT,WPARAM,LPARAM);//窗口函数说明

//初始化窗口类

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,,LPSTR lpszCmdLine,INT nCmdShow)

{

HWND hwnd;

MSG msg;

char lpszClassName[ ]="窗口";//窗口类名;

char lpszTitle [ ] ="My_Windows";//窗口标题名

//窗口类的定义

wndclass.style=0;//窗口类型为默认类型;

wndclass.lpfnWndProc=WndProc;//窗口处理函数为WndProc

wndclass.cbClsExtra=0;//窗口无拓展

wndclass.cbWndExtra=0;//窗口无实例拓展

wndclass.hInstance=hInstance;//当前实例句柄

wndclass.hIcon=LoasIcon(NULL,IDI_APPLICATION);//窗口最小化图标为默认图标

wndclass hCursor=LoadCursor(NULL,IDC_ARROW);//窗口选用箭头光标

wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景为白色

wndclass.lpszMenuName=NULL;//窗口无菜单

wndclass.lpszClassName=lpszClassName;//窗口类名


//-----------------------------------一下进行窗口类注册------------------------------

if(!RegisterClass(&wndclass)

{

MessageBeep(0);

return FALSE;

}

//创建窗口

hwnd=CreateWindow(

lpszClassName,//窗口类名

lpszTitle,

WS_OVERLAPPENDWINDOW,//窗口风格

CW_USEDEFAULT,

CW_USEDEFAULT,

CW_USEDEFAULT,

CW_USEDEFAULT,

NULL,//无父窗口

NULL,//无菜单

hInstance,//创建实例当前句柄

NULL,//不使用该值

);

ShowWindow(hwnd,nCmdShow);//显示窗口

UpdateWindow(hwnd);//绘制用户区

while(GetMessage(&Msg,NULL,0,0))

{

TranslateMessage(&Msg);

DispathMessage(&Msg);


}

return Msg.wParam;//程序终止时将信息返回


}

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM  lParam)


{

switch(messge)

{

case WM_DESTROY:

PostQuitMessage(0);

default:

return DefWindowProc(hwnd,message,wParam,lParam);


}

returm (0);

}



0 0