窗口是指什么意思

窗口是指什么意思,第1张

计算机界面上的窗口:在计算机软件中,窗口通常是指在屏幕上出现的矩形区域,可以用来显示程序或文档的内容,或者提供用户与程序交互的界面。

时间窗口:在时间管理中,时间窗口指的是一段时间内可以进行某种活动的时间段。例如,某个机场可能规定,只有在特定的时间窗口内,飞机才能起飞或降落。

营业窗口:在商店或银行等场合,窗口通常指专门用来接待顾客的柜台或窗口。例如,银行的柜台或售票窗口。

程序中断点:在计算机程序设计中,窗口通常指一段程序代码的断点,可以用来在程序执行过程中暂停程序的运行并检查程序状态。

物理意义上的窗口:窗口也可以指建筑物中的窗户,可以用来通风、采光等。在航空器或车辆中,窗口指的是透明的玻璃或塑料材料,可以用来观察外部环境。

因此,具体的含义需要根据上下文来判断。

除此之外,窗口可能是指建筑物或车辆等设施上的一个开口,通常由一个或多个玻璃面板组成,用于让光线和空气进入室内或车内。窗口也可以指计算机程序或 *** 作系统中的一个可视化界面,用于显示和处理信息。在商业和服务行业中,窗口通常指专门用于接待客户、提供服务或销售产品的柜台或窗口。

//我写了一个C++ windows应用程序框架代码,供参考,此源代码属函数编程,不涉及MFC类库,可以保证程序的灵活性,

//时间有限,部分代码的注释可能不太精确,毕尽windows编程太过精深,不是一两句话可以说清楚的,最好在编译器上使用,

//这样比较容易看明白,已经使用VC 60 验证。

//////////////////////////基本注释////////////////////////////////////////////

// 纷雪繁沙 20090531 c++ visual c++ 60 windows xp windowscpp

//////////////////////////编写预处理命/////////////////////////////////////////

#include <windowsh> // windows头文件

//////////////////////////声明全局变量/////////////////////////////////////////

//这只是一个框架程序所以还没有全局变量

//////////////////////////声明自定义函数///////////////////////////////////////

//这只是一个框架程序所以还没有自定义函数

//函数的定义一般放在末尾

//////////////////////////自定义类的声明定义///////////////////////////////////

//这只是一个框架程序所以还没有自定义类

//习惯类的声明定义同时进行

//////////////////////////编写消息处理函数/////////////////////////////////////

//函数名可自定义,但形式固定//////////////////////////

LRESULT CALLBACK WindowProc(HWND hwnd, //指定窗口句柄

UINT msg, //消息代码

WPARAM wparam, //消息附加参数

LPARAM lparam)//消息附加参数

//下面是消息处理函数的函数体,由使用者根据需要编写具体内容

{

PAINTSTRUCT ps; //声明PAINTSTRUCT结构体结构体,包含用于绘制窗口客户区的信息

HDC hdc; //声明一个窗口设备描述表,供调用

//响应消息////////////////////////////////////////////////////////////////////////

//这个switch语句是整个应用程序的中心,我们编写的绝大多数代码,都是通过响应消息来工作

switch(msg)

//常见系统消息有以下几种

//WN_ACTIVATE 当窗口被激活或者成为一个焦点时传递

//WM_CLOSE当窗口关闭时传递

//WM_CREATE当窗口第一次创建时传递

//WM_DESTROY当窗口可能要被破坏时传递

//WM_MOVE 当窗口移动时传递

//WM_MOUSEMOVE 当移动鼠标时传递

//WM_KEYUP当松开一个键时传递

//WM_KEYDOWN当按钮一下键时传递

//WM_TIMER当发生定时程序事件时传递

//WM_USER 允许传递消息

//WM_PAINT当一个窗口需重画时传递

//WM_QUIT当Windows应用程序最后结束时传递

//WM_SIZE当一个窗口改变大小时传递

{

case WM_CREATE:// 当窗口第一次创建时传递

{

//这里根据需要编写对应消息的处理代码

} break;//离开语句

case WM_PAINT: //当一个窗口需要重画时

{

hdc =BeginPaint(hwnd,&ps);//准备指定的窗口来重绘并将窗口设备描述表放到一个结构体中

EndPaint(hwnd,&ps);//释放BeginPaint所占用的资源

} break;//离开语句

case WM_DESTROY: //当窗口可能要被破坏时传递

{

PostQuitMessage(0);//发送一个WM_QUIT消息给消息队列

} break;//离开语句

default://如果消息没有相对应的处理,使用默认的处理方式

return (DefWindowProc(hwnd, msg, wparam, lparam));

}

return (0);

}//消息处理函数结束////////////////////////////////////////////////////////////////////

//////////////////////////主函数////////////////////////////////////////////////////////

//主函数参数由系统传入//////////////////////////

int WINAPI WinMain( HINSTANCE hinstance,//windows为应用程序生成的实例句柄

HINSTANCE hprevinstance,//此参数已经过时,不再使用

LPSTR lpcmdline,//程序命令行参数

int ncmdshow)//打开主程序窗口的方式

{

//主函数函数体//////////////////////////////////////////////////////////////////////////

//声明所需数据////////////

WNDCLASSEX winclass; // 声明窗口类

HWND hwnd; // 声明窗口句柄标识

MSG msg; // 声明消息结构体标识

//定义窗口类///////////////

winclasscbSize = sizeof(WNDCLASSEX);//窗口类占用内存的大小

winclassstyle = CS_DBLCLKS | CS_OWNDC |

CS_HREDRAW | CS_VREDRAW;//窗口属性,常用以下几种:

//CS_HREDRAW 若移动或改变了窗口宽度,则刷新整个窗口

//CS_VREDRAW 若移动或改变了窗口高度,则刷新整个窗口

//CS_OWNDC为该类中每个窗口分配一个单值的设备描述表

//CS_DBLCLKS 当用户双击鼠标时向窗口程序发送一个双击的信息,光标位于属于该类的窗口中

//CS_PARENTDC 在母窗口中设定一个子窗口的剪切区,以便于子窗口能够画在母窗口中

//CS_SAVEBITS 在一个窗口中保存用户图像,以便于在该窗口被遮住、移动时不必每次刷新屏幕

//CS_NOCLOSE 禁止系统菜单上的关闭命令

winclasslpfnWndProc = WindowProc;//窗口消息回调函数的指针,此函数从系统获得消息

winclasscbClsExtra = 0; //用于保存附加的运行时间,一般默认0

winclasscbWndExtra = 0; //用于保存附加的运行时间,一般默认0

winclasshInstance = hinstance; //应用程序生成的实例句柄

winclasshIcon = LoadIcon(NULL,IDI_HAND);//应用程序图标

//IDI_APPLICATION 默认图标

//IDI_ASTERISK 星号

//IDI_EXCLAMATION 惊叹号

//IDI_HAND 手形图标

//IDI_QUESTION 问号

//IDI_WINLOGO Windows徽标

winclasshCursor = LoadCursor(NULL,IDC_WAIT );//应用程序光标,

//IDC_ARROW 标准箭头

//IDC_APPSTARTING 标准箭头和小沙漏标

//IDC_CROSS横标线

//IDC_IBEAM文本I型标

//IDC_NO带正斜线的圆圈

//IDC_SIZEALL 四向箭头

//IDC_SIZENESW 指向东北-西南方向的双向箭头

//IDC_SIZENS指向南北方向的双向箭头

//IDC_SIZENWSE 指向东南-西北方向的双向箭头

//IDC_SIZEWE指向东西方向的双向箭头

//IDC_UPARROW  垂直方向的箭头

//IDC_WAIT 沙漏

winclasshbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);//窗口背景

//BLACK_BRUSH黑色画笔

//WHITE_BRUSH白色画笔

//GRAY_BRUSH灰色画笔

//LTGRAY_BRUSH淡灰色画笔

//DKGRAY_BRUSH深灰色画笔

//HOLLOW_BRUSH 空心画笔

//NULL_BRUSH无效(NULL)画笔

//BLACK_PEN黑色笔

//WHITE_PEN白色笔

//NULL_PEN无效(NULL)笔

winclasslpszMenuName = NULL;//菜单资源

winclasslpszClassName = "WINCLASS01";//窗口类名

winclasshIconSm = LoadIcon(NULL, IDI_QUESTION);//窗口小图标

//IDI_APPLICATION 默认图标

//IDI_ASTERISK 星号

//IDI_EXCLAMATION 惊叹号

//IDI_HAND 手形图标

//IDI_QUESTION 问号

//IDI_WINLOGO Windows徽标

//注册窗口类////////////////////////////

if (!RegisterClassEx(&winclass))

return(0);

//创建窗口//////////////////////////////

if (!(hwnd = CreateWindowEx(WS_EX_TOPMOST, //窗口的高级特性WS_EX_TOPMOST

"WINCLASS01", //窗口类名

"最基本的C++ 窗口程序", //窗口标题

WS_OVERLAPPEDWINDOW | WS_VISIBLE,//窗口式样

//窗口式样有

//WS_POPUP d出式窗口

//WS_OVERLAPPED 带有标题栏和边界的重叠式窗口,类似WS_TILED类型

//WS_OVERLAPPEDWINDOW 具有WS_OVERLAPPED、WS_CAPTION、WS_SYSMENU、

// 和WS_THICKFRAME、WS_MAXIMIZEBOXWS_MINIMIZEBOX的重叠式窗口

//WS_VISIBLE开始就可见的窗口

//WS_SYSMENU标题栏上有窗口菜单的窗口

//WS_BORDER 有细线边界的窗口

//WS_CAPTION 有标题栏的窗口(包括WS_BORDER样式)

//WS_ICONIC开始就最小化的窗口,类似WS_MINIMIZE样式

//WS_MAXIMIZE 开始就最大化的窗口

//WS_MAXIMIZEBOX 具有最大化按钮的窗口。不能和WS_EX_CONGTEXTHELP样式合并。WS_SYSMENU也必须指定

//MS_MINIMIZE 开始就最小化的窗口,类似WS_ICONIC样式

//WS_MINIMIZEOBX 具有最小化按钮的窗口。不能和WS_EX_CONGTEXITHELP样式合并。WS_SYSMENU也必须指定

//WS_POPUPWINDOW带有WS_BORDER、WS_POPUP和WS_SYSMENU类型的d出式窗口

//WS_SIZEBOX一个窗口边界可以变化,和WS_THICKFRAME类型相同

//WS_HSCROLL带有水平滚动条的窗口

//WS_VSCROLL带有垂直滚动条的窗口

100,100, //窗口左上角坐标,默认值CW_USEDEFALT

600,400, //窗口大小,默认值CW_USEDEFALT

NULL, //父窗口句柄

NULL, //菜单句柄

hinstance,//应用程序实例句柄

NULL))) //高级特征

//显示窗口/////////////////////////

ShowWindow(hwnd,//窗口句柄

SW_SHOWNORMAL);//打开主程序窗口的方式,主要有以下几种:

//SW_SHOWNORMAL 激活并显示一个窗口。将它恢复到原始尺寸和位置。第一次显示该窗口时,应用程序将指定该标志。

//SW_SHOW 激活一个窗口,并按当前尺寸和位置显示

//SW_HIDE 隐藏一个窗口,并激活另外一个窗口

//SW_MAXIMIZE 将指定的窗口最大化

//SW_MINIMIZE 将指定的窗口最小化

//SW_RESTORE 激活并显示一个窗口,将它恢复到原始尺寸和位置。恢复为最小化窗口时,应用程序必须指定该标志。

//SW_SHOWMAXIMIZED 激活一个窗口,并以最大化窗口显示

//SW_SHOWMINIMIZED 激活一个窗口,并以最小化窗口显示

//SW_SHOWMINNOACTIVE 以最小化窗口方式显示一个窗口,激活的窗口依然保持激活的状态

//SW_SHOWNA 以当前状态显示一个窗口,激活的窗口依然保持激活的状态

//SW_SHOWONACTIVATE 以上一次窗口尺寸和位置来显示窗口,激活的窗口依然保持激活的状态

//刷新窗口////////////////////////

UpdateWindow(hwnd);//刷新窗口

//从消息列队中取出消息,只有收到WM_QUIT消息时,GetMessage才返回0,循环终止/////////////

while(GetMessage(&msg,//消息结构体,用于保存获得的消息

NULL,//指定所接收消息对应的窗口句柄

0,0))//指定所接收消息的最小值和最大值

{

// 把虚拟键消息转换成字符消息

TranslateMessage(&msg);

// 把应用程序消息回传系统

DispatchMessage(&msg);

}

return(msgwParam);//返回WM_QUIT消息的wParam值

} //主函数结束//////////////////////////////

//////////////////////////////////定义自定义函数//////////////////////////////////////////////////////////////////

//这只是一个框架程序所以还没有自定义函数

//////////////////////////////程序源代码结束//////////////////////////////////////////////////////////////////

以下代码供参考,自动隐藏

option

explicit

private

declare

function

getcursorpos

lib

"user32"

(lppoint

as

pointapi)

as

long

private

declare

function

getwindowrect

lib

"user32"

(byval

hwnd

as

long,

lprect

as

rect)

as

long

private

declare

function

setwindowpos

lib

"user32"

(byval

hwnd

as

long,

byval

hwndinsertafter

as

long,

byval

x

as

long,

byval

y

as

long,

byval

cx

as

long,

byval

cy

as

long,

byval

wflags

as

long)

as

long

private

type

rect

left

as

long

top

as

long

right

as

long

bottom

as

long

end

type

private

type

pointapi

x

as

long

y

as

long

end

type

private

const

hwnd_topmost

=

-1

private

const

swp_nosize

=

&h1

private

const

swp_nomove

=

&h2

private

const

hwnd_top

=

0

private

const

swp_noactivate

=

&h10

private

const

swp_showwindow

=

&h40

private

sub

form_load()

'窗体放在最前面

setwindowpos

mehwnd,

hwnd_topmost,

0,

0,

0,

0,

swp_showwindow

or

swp_nomove

or

swp_nosize

end

sub

private

sub

timer1_timer()

dim

p

as

pointapi

dim

f

as

rect

getcursorpos

p

'得到mouse位置

getwindowrect

mehwnd,

f

'得到窗体的位置

if

mewindowstate

<>

1

then

if

px

>

fleft

and

px

<

fright

and

py

>

ftop

and

py

<

fbottom

then

'mouse

在窗体上

if

metop

<

0

then

metop

=

-10

meshow

elseif

meleft

<

0

then

meleft

=

-10

meshow

elseif

meleft

+

mewidth

>=

screenwidth

then

meleft

=

screenwidth

-

mewidth

+

10

meshow

end

if

else

if

ftop

<=

4

then

metop

=

40

-

meheight

elseif

fleft

<=

4

then

meleft

=

40

-

mewidth

elseif

meleft

+

mewidth

>=

screenwidth

-

4

then

meleft

=

screenwidth

-

40

end

if

end

if

end

if

end

sub

最详细的解释在msdn。但是我还是给你解释一下:wndclassstyle是一个WNDCLASS里面的一个成员他表示什么呢?比如说人,有很多,但是大致分为3种,男人,女人,人妖。而窗口也有分类。这个分类不固定。由WNDCLASS来定义。而style则表示这个类的窗口都有什么属性,就像男人会有那个,女人会有那个。那么这个属性都有什么呢?男人 有 身高,体重等属性。那么 窗口就有CS_HREDRAWCS_VERDRAW CS_KEYCVTWINDOWCS_DBLCLKS等等。。。下面介绍他们4个到底干什么的CS_HREDRAW和CS_VERDRAW 。什么叫窗口你应该知道。就是一个windows窗口,当然还有一些特殊的窗口,比如说按钮。就拿普通的windows窗口来说吧。窗口上可能会显示一些文字或者。为什么会显示这些信息呢?因为每个窗口都会由 *** 作系统调用Paint来画上去的。那么如果窗口类有CS_HREDRAW那么当窗口水平移动或者宽度发生变化时候系统会调用Paint。如果有CS_VERDRAW 那么当窗口上下移动或者高度变化时候就会Paint。这样才会出现有的窗口放大缩小时候和文字的相对位置也跟着改变。 CS_DBLCLKS表示当你双击这个窗口时候,系统会发送一个双击消息给你的窗口过程函数。当然如果你不明白什么是窗口过程函数那就无语了。callback对新手很难理解的。 CS_KEYCVTWINDOW不太清楚。似乎不常用。 最后总结一下。学习可视化编程 的确要先理解一下 windows编程基础。很多新手再这里 很蜜湖。但是一旦你学会了。那么你会突然发现 这个白学了因为 以后很少会用到。mfc中框架完成了 wndclass创建qt和wxwidgets也是。

以上就是关于窗口是指什么意思全部的内容,包括:窗口是指什么意思、在c++中窗口最大化、最小化、关闭的程序代码是什么、VB2010程序窗口最大化代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9762859.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存