note

传递给RegisterClass函数的信息会在一个数据结构中设定好,
而传递给CreateWindow函数的信息会在函数单独的参数中设定好。
下面是HELLOWIN.C中的CreateWindows呼叫,每一个字段都做了完整的说明:
hwnd = CreateWindow (szAppName,      // window class name       
    TEXT ( "The Hello Program"),     // window caption       
            WS_OVERLAPPEDWINDOW,     // window style       
            CW_USEDEFAULT,           // initial x position       
            CW_USEDEFAULT,           // initial y position       
            CW_USEDEFAULT,           // initial x size       
            CW_USEDEFAULT,           // initial y size       
            NULL,                    // parent window handle       
            NULL,                    // window menu handle       
            hInstance,               // program instance handle       
            NULL) ;                  // creation parameters
       
在这里,我不想提实际上有CreateWindowA函数和CreateWindowW函数,
两个函数分别将前两个参数当成ASCII或者Unicode字符串来处理。
标记为「window class name」的参数是szAppName,
它含有字符串「HelloWin」-这是 程序注册的窗口 类别名称。
这就是我们建立的 窗口联结窗口类别 的方式。

此程序建立的窗口是一个普通的重迭式窗口。
它含有一个标题列,标题列左边有一个系统菜单按钮,
标题列右边有缩小、放大和关闭图示,四周还有一个表示窗口大小的边框。
这是标准样式的窗口,名为WS_OVERLAPPEDWINDOW,
出现在CreateWindow的「窗口样式」参数中。
如果看一下WINUSER.H,您将会发现此样式是几种位旗标的组合:

#define     WS_OVERLAPPEDWINDOW (WS_OVERLAPPED   | /     
                  WS_CAPTION                     | /       
                  WS_SYSMENU                     | /       
                  WS_THICKFRAME                  | /
                  WS_MINIMIZEBOX                 | /
                  WS_MAXIMIZEBOX)
       
「窗口标题」是显示在标题列中的文字。

注释着「initial x position」和「initial y position」的参数指定了窗口左上角相对于屏幕左上角的初始位置。
由于这些参数使用CW_USEDEFAULT标识符,指示Windows使用重迭窗口的内定位置。
(CW_USEDEFAULT定义为0x80000000。)内定情况下,Windows依次对新建立的窗口定位,
使各窗口左上角的垂直和水平距离在屏幕上按一定的大小递增。

与此类似,注释着「initial x size」和「initial y size」的参数分别指定窗口的宽度和高度。
同样使用了CW_USEDEFAULT标识符,表明希望Windows使用内定尺寸。
在建立一个「最上层」窗口,如应用程序窗口时,注释为「父窗口句柄」的参数设定为NULL。
通常,如果窗口之间存在有父子关系,则子窗口总是出现在父窗口的上面。
应用程序窗口出现在桌面窗口的上面,但不必为呼叫CreateWindow而找出桌面窗口的句柄。
因为窗口没有菜单,所以「窗口菜单句柄」也设定为NULL。
「程序执行实体句柄」设定为执行实体句柄,它是作为WinMain的参数传递给这个程序的。
最后,「建立参数」指标设定为NULL,可以用这个参数存取稍后程序中可能引用到的数据。
CreateWindow传回被建立的窗口的句柄,该句柄存放在变量hwnd中,
后者被定义为HWND型态(「窗口句柄型态」)。
Windows中的每个窗口都有一个句柄,程序用句柄来使用窗口。
许多Windows函数需要使用hwnd作为参数,这样,Windows才能知道函数是针对哪个窗口的。
如果一个程序建立了许多窗口,则每个窗口均有一个句柄。
窗口句柄是Windows程序所处理最重要的句柄之一。

 

 

F:/JCreatorV3/MyProjects
appletviewer AppletDemo.html
IDE集成开发环境
GUI图形用户界面

AWT GUI类
Applet  所有applet的超类
Button  按钮;单击它会引发事件
Component 所有GUI类的超类
Container 可包含其他组件的一个组件
Frame     带有标题栏的一个GUI窗口
Label     用于显示但不用于输入文本
Panel     不可见容器
TextField 用于显示和输入文本
Window    Frame类的超类

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值