C#调用WindowsAPI之GetClientRect用法

简介:     函数功能:该函数获取窗口客户区的坐标。客户区坐标指定客户区的左上角和右下角。由于客户区坐标是相对子窗口客户区的左上角而言的,因此左上角坐标为(0,0)     函数原型:BOOL GetClientRect(HWND hWnd,LPRECT lpRect);     参数:     GetLastError 函数。
    函数功能:该函数获取窗口客户区的坐标。客户区坐标指定客户区的左上角和右下角。由于客户区坐标是相对子窗口客户区的左上角而言的,因此左上角坐标为(0,0)

    函数原型:BOOL GetClientRect(HWND hWnd,LPRECT lpRect);

    参数:

    GetLastError 函数。

    备注:Windows CE:命令条包含在客户区中。

    速查:Windows NT: 3.1以上版本:Windows:95以上版本: Windows CE:1.0以上版本:头文件:winuser.h;库文件:user32.lib

第一步,声明结构


public  struct RECT
{
     public  uint Left;
     public  uint Top;
     public  uint Right;
     public  uint Bottom;
}

 

第二步,导入user32.dll

[DllImport( " user32 ")]
public  static  extern  bool GetClientRect(
    IntPtr hwnd, 
     out RECT lpRect
    );

 

第三步,设定一个RECT

RECT rect =  new RECT();

 

第四步,应用

 

bool result = GetClientRect( this.Handle, out RECT rect);

 

注:GetClientRect 函数所取得的 LeftTop 值是 0RightBottom 值是 widthheight。也就是说,Right的就是宽度,Bottom的值就是高度了

 

目录
相关文章
|
28天前
|
安全 C#
C# List基本用法
C# List基本用法
|
28天前
|
C#
C# Dev chartControl的用法
C# Dev chartControl的用法
|
2月前
|
安全 编译器 C#
C#学习相关系列之多线程---lock线程锁的用法
C#学习相关系列之多线程---lock线程锁的用法
|
2月前
|
C#
C#学习相关系列之多线程---ConfigureAwait的用法
C#学习相关系列之多线程---ConfigureAwait的用法
|
2月前
|
C#
C#学习相关系列之多线程---TaskCompletionSource用法(八)
C#学习相关系列之多线程---TaskCompletionSource用法(八)
|
2月前
|
Java C#
C#学习系列相关之多线程(五)----线程池ThreadPool用法
C#学习系列相关之多线程(五)----线程池ThreadPool用法
|
4月前
|
开发框架 .NET 编译器
C# 9.0中的静态匿名函数:引入static关键字的新用法
【1月更文挑战第15天】C# 9.0为匿名函数带来了一个新的修饰符static,允许开发者明确指定匿名函数不会捕获其包含作用域中的任何变量。这一特性增强了代码的性能和可读性,同时减少了因不小心捕获变量而导致的潜在错误。本文将详细探讨C# 9.0中静态匿名函数的语法、使用场景以及它们如何影响代码的性能和安全性。
|
10月前
|
C# 数据库
C# DataGridView用法(—)代码绑定数据源
C# DataGridView用法(—)代码绑定数据源
390 1
|
2月前
|
开发框架 .NET C#
C#学习相关系列之Linq用法---where和select用法(二)
C#学习相关系列之Linq用法---where和select用法(二)
|
2月前
|
安全 C#
c#学习相关系列之as和is的相关用法
c#学习相关系列之as和is的相关用法