Delphi WinAPI ShowWindow - 设置指定窗口的显示状态
Delphi WinAPI ShowWindow - 设置指定窗口的显示状态
ShowWindow
原型:
1 2 3 4 | BOOL ShowWindow( [ in ] HWND hWnd, //窗口句柄 [ in ] int nCmdShow //控制窗口的显示方式 ); |
参数:
nCmdShow //控制窗口的显示方式。如果启动应用程序的程序提供STARTUPINFO结构,则在应用程序第一次调用ShowWindow时忽略此参数。否则,第一次调用ShowWindow时,该值应该是WinMain函数在其nCmdShow参数中获得的值。在后续调用中,此参数可以是以下值之一:
- SW_HIDE 0 //隐藏窗口并激活另一个窗口。
- SW_SHOWNORMAL 或 SW_NORMAL 1 //激活并显示一个窗口。如果窗口最小化或最大化,系统会将其恢复到原始大小和位置。应用程序在第一次显示窗口时应指定此标志。
- SW_SHOWMINIMIZED 2 //激活窗口并将其显示为最小化窗口。
- SW_SHOWMAXIMIZED 或 SW_MAXIMIZE 3 //激活窗口并将其显示为最大化窗口。
- SW_SHOWNOACTIVATE 4 //以最近的大小和位置显示窗口。该值与SW_SHOWNORMAL类似,只是窗口未激活。
- SW_SHOW 5 //激活窗口并以其当前大小和位置显示。
- SW_MINIMIZE 6 //最小化指定窗口并按Z顺序激活下一个顶级窗口。
- SW_SHOWMINNOACTIVE 7 //将窗口显示为最小化窗口。该值与SW_SHOWMINIMIZED类似,只是窗口未激活。
- SW_SHOWNA 8 //以当前大小和位置显示窗口。该值与SW_SHOW类似,只是窗口未激活。
- SW_RESTORE 9 //激活并显示窗口。如果窗口最小化或最大化,系统会将其恢复到原始大小和位置。应用程序在还原最小化窗口时应指定此标志。
- SW_SHOWDEFAULT 10 //根据启动应用程序的程序传递给CreateProcess函数的STARTUPINFO结构中指定的SW_ value设置显示状态。
- SW_FORCEMINIMIZE 11 //最小化窗口,即使拥有该窗口的线程没有响应。仅当最小化来自不同线程的窗口时,才应使用此标志。
返回值(类型:布尔):
如果窗口以前可见,则返回值为非零。如果之前隐藏了该窗口,则返回值为零。
示例1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | HINSTANCE hinst; HWND hwndMain; // 创建主窗口。 hwndMain = CreateWindowEx( 0 , // no extended styles 没有扩展样式 "MainWClass", // class name 类名 "Main Window", // window name 窗口名 WS_OVERLAPPEDWINDOW | // overlapped window 重叠窗口 WS_HSCROLL | // horizontal scroll bar 水平滚动条 WS_VSCROLL, // vertical scroll bar 垂直滚动条 CW_USEDEFAULT, // default horizontal position 默认水平位置 CW_USEDEFAULT, // default vertical position 默认垂直位置 CW_USEDEFAULT, // default width 默认宽度 CW_USEDEFAULT, // default height 默认高度 (HWND) NULL, // no parent or owner window 没有父窗口或所有者窗口 (HMENU) NULL, // class menu used 使用了类菜单 hinst, // instance handle 实例句柄 NULL); // no window creation data 没有窗口创建数据 if (!hwndMain) return FALSE ; //使用启动应用程序的程序指定的标志显示窗口,并向应用程序发送WM_PAINT消息。 ShowWindow(hwndMain, SW_SHOWDEFAULT); UpdateWindow(hwndMain); |
示例2:
1 2 3 4 5 6 7 8 9 10 11 12 | case WM_CLOSE: //创建消息框。如果用户单击“是”按钮,则销毁主窗口。 if (MessageBox(hwnd, szConfirm, szAppName, MB_YESNOCANCEL) == IDYES) DestroyWindow(hwndMain); else return 0 ; case WM_DESTROY: //发布WM_QUIT消息以退出应用程序并终止。 PostQuitMessage( 0 ); return 0 ; |
创建时间:2022.03.28 更新时间:
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!
分类:
Delphi C函数/过程
, WinAPI 窗口函数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)