鱼C论坛

 找回密码
 立即注册
查看: 17584|回复: 20

[API档案] ShowWindow

[复制链接]
发表于 2014-5-15 22:55:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
函数功能:

ShowWindow 函数用于设置窗口的显示状态。

应用程序第一次调用 ShowWindow 时,应该使用 WinMain 函数的 nCmdshow 参数作为它的 nCmdShow 参数。在随后调用 ShowWindow 函数时,必须使用下列显示方式中的一个给定值,而不是由 WinMain 函数的 nCmdSHow 参数指定的值。


API 函数原型:

  1. BOOL WINAPI ShowWindow(
  2.   _In_  HWND hWnd,
  3.   _In_  int nCmdShow
  4. );
复制代码


参数解析:

参数 含义
hWnd 窗口句柄
nCmdShow 控制窗口如何显示,如果发送应用程序的程序提供了 STARTUPINFO 结构,则应用程序第一次调用 ShowWindow 时该参数被忽略。否则,在第一次调用 ShowWindow 函数时,该值应为在函数 WinMain 中 nCmdShow 参数。


在随后的调用中,nCmdShow 参数可以为下列值之一:

显示方式 含义
SW_FORCEMINIMIZE1. 最小化窗口,即使拥有窗口的线程被挂起也会最小化
2. 在从其他线程最小化窗口时才使用这个参数
SW_HIDE 隐藏窗口并激活其他窗口
SW_MAXIMIZE 最大化指定的窗口
SW_MINIMIZE 最小化指定的窗口并且激活在 Z 序中的下一个顶层窗口
SW_RESTORE1. 激活并显示窗口
2. 如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置
3. 在恢复最小化窗口时,应用程序应该指定这个标志。
SW_SHOW 在窗口原来的位置以原来的尺寸激活并显示窗口
SW_SHOWDEFAULT 依据在 STARTUPINFO 结构中指定的 SW_FLAG 标志设定显示状态,STARTUPINFO 结构是由启动应用程序的程序传递给 CreateProcess 函数的。
SW_SHOWMAXIMIZED 激活窗口并将其最大化
SW_SHOWMINIMIZED 激活窗口并将其最小化
SW_SHOWMINNOACTIVE1. 窗口最小化
2. 在窗口激活的情况下,这个值跟 SW_SHOWMINIMIZED 很相似
SW_SHOWNA1. 以窗口原来的位置以原来的尺寸显示窗口
2. 在窗口激活的情况下,这个值跟 SW_SHOW 很相似
SW_SHOWNOACTIVATE1. 以窗口最近一次的位置和尺寸显示窗口
2. 在窗口激活的情况下,这个值跟 SW_SHOWNORMAL 很相似
SW_SHOWNORMAL1. 激活并显示一个窗口
2. 如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小
3. 应用程序在第一次显示窗口的时候应该指定此标志


返回值:

1. 如果窗口之前可见,则返回值为非 0;

2. 如果窗口之前被隐藏,则返回值为 0。

【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-16 10:35:15 | 显示全部楼层
沙发是我的:big
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 1

使用道具 举报

发表于 2014-5-16 13:13:00 | 显示全部楼层
:lol:第二个沙发

点评

第二位请坐板凳~  详情 回复 发表于 2014-5-16 17:35
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 3 反对 0

使用道具 举报

 楼主| 发表于 2014-5-16 17:35:21 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 3 反对 0

使用道具 举报

发表于 2014-11-30 11:58:07 | 显示全部楼层
:lol::titter:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-1-25 16:23:05 | 显示全部楼层
大神,你是瓦塔库西的呕像
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-2-6 21:47:15 | 显示全部楼层
甲鱼哥 视频教程里的代码是ShowWindow(hwnd, iCmdShow) 上面的是nCmdShow 请问iCmdShow和nCmdShow 有什么区别?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-2 16:35:08 | 显示全部楼层
问一下SW_MAXIMIZE和WS_MAXIMIZE的区别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-18 23:19:00 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-3-29 10:43:45 | 显示全部楼层
甲鱼大神级别的你好:那个窗口!窗口!,讲的太了,我一下子就能听懂。知道我是为什么回来学WINDOWS编程吗,是我在win32汇编那个窗口,太难了,才回来学的,今天第二天,一下就懂。真的是那句话 I Love FishC.com:big
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-15 16:03:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-10 21:44:49 | 显示全部楼层
不是很理解SW_HIDE
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-6-2 17:51:01 | 显示全部楼层
真好,小鱼哥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-4 09:46:48 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-8 21:00:47 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-20 12:01:41 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-19 15:06:40 | 显示全部楼层
感谢分享!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-6 13:23:03 | 显示全部楼层
路过学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-20 17:06:19 | 显示全部楼层
感谢小甲鱼哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-6 11:44:29 | 显示全部楼层
        static int cxClient, cyClient;
        switch (message)
        {
        case WM_SIZE:
                cxClient = LOWORD(lParam);
                cyClient = HIWORD(lParam);
                return 0;
        case WM_PAINT:
                hdc = BeginPaint(hwnd, &ps);
                MoveToEx(hdc,0,cyClient/2,NULL);
                LineTo(hdc, cxClient, cyClient / 2);
                EndPaint(hwnd, &ps);
                return 0;

ShowWindow(hwnd)会发送WM_SIZE消息,但是我的程序运行没有显示出图形,移动一下窗口,改变一下大小才会绘制图形,感觉是因为没有经过WM_SIZE,没有给cxClient,cyClient赋值导致的,但是我断点调试时发现有WM_SIZE,也就是说调试是正常的,开始执行(不调试会有问题),到底是什么原因?求大神给予解答?是不是这个函数有什么特性?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-17 06:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表