• Delphi WinAPI ShowWindow 设置指定窗口的显示状态


    Delphi WinAPI ShowWindow - 设置指定窗口的显示状态

    ShowWindow

    原型:

    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:

    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:

    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  更新时间:

  • 相关阅读:
    Cocos2d-x学习之---自定义图标(带触摸事件)
    Cocos2d-x关于ScrollView
    学习实战三:基于Cocos2d-x引擎模仿微信打飞机游戏
    补算法相关知识一:蚂蚁算法
    避免Cocos2d-x编写的游戏在用eclipse生成安卓包时繁琐的写Android.mk文件
    Cocos2d-x学习之---模仿微信打飞机游戏敌机层设计初想
    Cocos2d-x学习之---2013年10月11日小记
    有时候真怕,时间会说出真心话。
    NO2:设置RedHat Linux下的samba开机启动
    NO1:在Windows端安装SecureCRT来连接Linux
  • 原文地址:https://www.cnblogs.com/guorongtao/p/16066097.html
Copyright © 2020-2023  润新知