当前位置:主页   - 电脑 - 程序设计 - VB
Windows API一日一练(7)ShowWindow函数
来源:网络   作者:蔡军生   更新时间:2011-08-05
收藏此页】    【字号    】    【打印】    【关闭

  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函数的使用。 

编缉推荐阅读以下文章

  • Windows API一日一练(20)LoadString、LoadIcon和LoadCursor函数
  • Windows API一日一练(19)DestroyWindow函数
  • Windows API一日一练(18)EndDialog函数
  • Windows API一日一练(17)DialogBox和DialogBoxParam函数
  • Windows API一日一练(16)BeginPaint和EndPaint函数
  • Windows API一日一练(15)PostQuitMessage函数
  • Windows API一日一练(14)DispatchMessage函数
  • Windows API一日一练(13)TranslateMessage函数
  • Windows API一日一练(12)TranslateAccelerator函数
  • Windows API一日一练(11)GetMessage函数
其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明