• GetWindowRect和GetClientRect 冷夜


        屏幕坐标是相对于屏幕左上角的,而窗口坐标是相对于窗口用户区左上角的  

        GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。

        GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,因为这个矩阵是在客户区坐标系下(相对于窗口客户区的左上角)的。  

        ClientToScreen把客户区坐标系下的RECT坐标转换为屏幕坐标系下的RECT坐标.

        ScreenToClient把屏幕坐标系下的RECT坐标转换为客户区坐标系下的RECT坐标.  

        一个窗体分为两部分:系统区和客户区,象标题和菜单之类的是系统区,由系统来控制,客户区就是你的地盘喽!!!Width, Height 是指整体的,ClientWidth, ClientHeight是指客户区的,两者相减就是
    系统区的啦!!!
        ClientToScreen是把坐标从当前窗体转化成全屏幕的!!!
        ScreenToClient是把屏幕坐标转化成相对当前窗体的坐标!!!! 

        我们对同一个窗口先GetWindowRect取得一个RECT,再用ScreenToClient转换到客户坐标系。然后GetClientRect取得一个RECT,再用ClientToScreen转换到屏幕坐标系。显然,GetWindowRect取得的矩阵不小于GetClientRect取得的矩阵。因为前者包含了非客户区,而后包括了客户区。   

        对GetWindowRect取得的矩阵ScreenToClient后,矩阵的大小没有变小,(-3,-29)是窗口的左上角的坐标,相对窗口客户区左上角。   

        对GetClientRect取得的矩阵ClientToScreen后,矩阵也没有变大,新得到的矩阵是窗口客户区在屏幕坐标系上的RECT。

  • 相关阅读:
    AIX 开机启动网络服务配置
    aix 6+ mount 光驱
    AIX 系统中 PVID 的含义与作用
    lsslot
    hp小机定位网卡位置
    HP 7440老机器重启
    ntp -q 输出说明
    使用过滤器实现网站访问计数器的功能
    过滤器:-------------创建并配置过滤器:
    什么是Servlet,Servlet的作用,生命周期,如何创建、配置Servlet
  • 原文地址:https://www.cnblogs.com/gamesky/p/2639560.html
Copyright © 2020-2023  润新知