ShowWindow的API函数是显示窗体,但它在第一次调用和以后的调用是有差别的。第一次调用时,它的输入參数nCmdShow是须要输入WinMain函数里传入来的nCmdShow參数,而不能是其他參数。
函数声明例如以下:
WINUSERAPI
BOOL
WINAPI
ShowWindow(
    __in HWND hWnd,
    __in int nCmdShow);
hWnd是窗体的句柄。
nCmdShow是窗体显示的状态。可能设置的值例如以下:
SW_FORCEMINIMIZE是强制窗体最小化,主要使用在非窗体主线程的其他线程来操作。
SW_HIDE是显示窗体为隐藏状态。
SW_MAXIMIZE是显示窗体为最大化。
SW_MINIMIZE是显示窗体为最小化。
SW_RESTORE是从任务里恢复窗体显示。
SW_SHOW是激活窗体为当前窗体,而且显示为当前的大小和位置。
SW_SHOWDEFAULT是创建进程时显示窗体的值。
SW_SHOWMAXIMIZED是激活窗体为当前窗体,而且显示最大化。
SW_SHOWMINIMIZED是激活窗体为当前窗体,而且显示最小化。
SW_SHOWMINNOACTIVE是显示窗体为最小化,但不激活它作为当前窗体。
SW_SHOWNA是显示为当前的大小和位置,但不激活它作为当前窗体。
SW_SHOWNOACTIVATE是显示当前窗体,但不激活它作为当前窗体。
SW_SHOWNORMAL是显示当前窗体,但窗体是最小化或最大化时会恢复窗体为原来的大小和位置。
调用这个函数的实比例如以下:
#001 BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
#002 {
#003  HWND hWnd;
#004 
#005  hInst = hInstance; // 保存实例句柄到全局变量里。
#006 
#007  hWnd = CreateWindow(szWindowClass,
#008         szTitle,
#009         WS_OVERLAPPEDWINDOW,
#010         CW_USEDEFAULT,
#011         0,
#012         CW_USEDEFAULT,
#013         0,
#014         NULL,
#015         NULL,
#016         hInstance,
#017         NULL);
#018 
#019  if (!hWnd)
#020  {
#021         return FALSE;
#022  }
#023 
#024  ShowWindow(hWnd, nCmdShow);
#025  UpdateWindow(hWnd);
#026 
#027  //
#028  //蔡军生 2007/07/14
#029  //显示窗体測试。
#030  MessageBox(NULL,_T("最大化"),_T("測试"),MB_OK);
#031 
#032  //显示窗体为最大化。
#033  ShowWindow(hWnd, SW_SHOWMAXIMIZED);
#034 
#035  
#036  MessageBox(NULL,_T("原来位置"),_T("測试"),MB_OK);
#037 
#038  //显示窗体为原来位置。
#039  ShowWindow(hWnd, SW_SHOWNORMAL);
#040 
#041 
#042  return TRUE;
#043 }
在第24行里先调用这个函数显示创建进程的窗体状态。
第33行里显示窗体为最大化。
第39行里显示窗体为原来的状态。

这样就能够掌握了ShowWindow函数的使用。

【出处】http://blog.csdn.net/linhong34/archive/2007/08/01/1721829.aspx

【转载】ShowWindow函数相关推荐

  1. ShowWindow 函数

    ShowWindow-函数介绍 函数功能:该函数设置指定窗口的显示状态. 函数原型:BOOL ShowWindow(HWND hWnd,int nCmdShow): 参数: hWnd:窗口句柄. nC ...

  2. [转载][总结]函数getopt(),getopt_long及其参数optind

    看webbench源码的时候碰到命令行解析工具getopt的使用,虽然之前也看过一点,但都不是很全面,只是了解个大概,下面稍微总结一下: getopt和optind: getopt被用来解析命令行选项 ...

  3. [转载]oracle函数listagg的使用说明

    工作中经常遇到很多需求是这样的,根据条件汇总某些字段,比如我遇到的是,我们公司有三个投资平台,同一个客户拿手机号在三个平台都注册了,但注册过的用户名不一样,显示的时候需要根据手机号显示所有注册过的名称 ...

  4. realloc函_[转载]realloc函数的使用及注意事项(转)

    原型:extern void *realloc(void *mem_address, unsigned int newsize); 用法:#include 功能:改变mem_address所指内存区域 ...

  5. [转载] 纯函数和函数柯里化

    参考链接: 用示例编写Java柯里化Currying函数 文章目录 纯函数什么是纯函数纯函数例子非纯函数例子 函数柯里化函数柯里化简单例子参数复用 纯函数 什么是纯函数 如果函数的调用参数相同,则永远 ...

  6. [转载] python 函数返回多个值

    参考链接: 在Python中返回多个值 (廖雪峰Python教程学习笔记) 函数体内部的语句在执行时,一旦执行到return,函数就执行完毕,并将结果返回.  如果没有return语句,函数执行完毕后 ...

  7. [转载] python函数isdisjoint方法_Python中的isdisjoint()函数

    参考链接: Python Set isdisjoint() 在本文中,我们将学习如何在set()数据类型上实现isdisjoint()函数.此函数检查作为参数传递的集合是否具有任何共同的元素.如果找到 ...

  8. [转载] python 函数参数类型检查

    参考链接: Python函数参数 在Python中,不知道函数参数类型是一个很正常的事情,特别是在一个大项目里. 我见过有些项目里,每一个函数体的前十几行都在检查参数类型,这实在是太麻烦了.而且一旦参 ...

  9. [转载] python函数——字典设置默认值get() 与 setdefault()区别

    参考链接: Python字典dictionary | setdefault方法 文章目录 示例代码总结 python函数 系列目录:python函数--目录 在python 中 get()以及setd ...

最新文章

  1. Android系统在新进程中启动自定义服务过程(startService)的原理分析 (下)
  2. 电离辐射防护与辐射源安全基本标准_辐射防护与安全机考难点考点解析辐射防护标准...
  3. 网络协议:TCP/IP、SOCKET、HTTP
  4. Cloudera将被私有化,Hadoop时代或将落幕
  5. C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码
  6. python分层聚类集群合并_24、python分层聚类案例(scipy方法)
  7. 无人驾驶汽车系统入门系列
  8. python旋转matplotlib绘制的三维图
  9. 又酸了!腾讯员工福利再升级:入职满15年可“提前退休”
  10. Maven公共仓库/镜像站收集及使用技巧
  11. Java使用swagger时显示实体类注解问题
  12. cmi码型变换matlab程序_58 张图,手把手教会你 Simscape Multibody 物理建模与刚体变换!...
  13. oracle中的表怎样保存,怎样保存excel 表格数据库中-如何将excel表格更新oracle数据库中数据...
  14. 人群与网络:搜索引擎广告位的定价
  15. 类图中表达总体与局部的关系_软件工程测试题3
  16. CS224n自然语言处理(四)——单词表示及预训练,transformer和BERT
  17. 基于springboot电商生鲜购物商城平台设计与实现(含源码+数据库文件)
  18. python 作图:heatmap
  19. 干货!ERP系统优化生产管理流程五大步骤
  20. 用友NC65“该产品的用户数已达到产品授权数”的伪故障

热门文章

  1. [Leetcode] 第289题 生命游戏
  2. 线段树(结构体建法_QAQ)
  3. PLsql的汉化工具
  4. java mysql 数据库
  5. LeetCode My Calendar I
  6. UILabel的行间距,字间距处理
  7. 筛法求10000以内的质数
  8. hibernate 数据处理
  9. thinkphp使用问题
  10. Delphi编程禁止用户关闭操作系统