`
testcs_dn
  • 浏览: 113965 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

C#获取系统当前鼠标的图案

 
阅读更多

C#获取系统当前鼠标的图案代码如下:

using System.Runtime.InteropServices;
 
[StructLayout(LayoutKind.Sequential)]
struct CURSORINFO
{
    public int cbSize;
    public int flags; 
    public IntPtr hCursor;
    public Point ptScreenPos;
}
 
[DllImport("user32.dll")]
static extern bool GetCursorInfo(out CURSORINFO pci);
 
private const int CURSOR_SHOWING= 0x00000001;
 
private void button1_Click(object sender, EventArgs e)
{
 
    CURSORINFO vCurosrInfo;
    vCurosrInfo.cbSize = Marshal.SizeOf(typeof(CURSORINFO));
    GetCursorInfo(out vCurosrInfo);
    if ((vCurosrInfo.flags & CURSOR_SHOWING) != CURSOR_SHOWING) return;
    Cursor vCursor = new Cursor(vCurosrInfo.hCursor);
    Graphics vGraphics = Graphics.FromHwnd(Handle);
    Rectangle vRectangle = new Rectangle(0, 0, 32, 32);
    vGraphics.FillRectangle(new SolidBrush(BackColor), vRectangle);
    vCursor.Draw(vGraphics, vRectangle);
}

分享到:
评论

相关推荐

    C# Winform画图板

    在本文中,我们将深入探讨如何使用C#编程语言创建一个Winform画图板应用程序,该程序具有类似于Windows内置画图工具的功能。这个项目的核心在于利用Windows Forms(Winform)库来构建用户界面,并通过GDI+图形处理...

    C#编程实现画板功能

    5. **实时绘图**:在`MouseMove`事件中,我们需要获取当前鼠标位置,使用`Graphics`对象的`DrawLine`或`DrawCurve`方法动态地绘制线条。为了保证平滑的绘图体验,可以使用双缓冲技术,即先在内存中完成绘图,然后一...

    C#绘图板 初级

    在MouseMove事件中,根据鼠标的当前位置更新Graphics对象进行绘制。确保在每次MouseMove事件后调用`Invalidate`方法,这会触发重新绘制,使得新的线条出现在画布上。 ```csharp private Point startPt; private ...

    基于c#的简单画图游戏

    获取到Graphics对象后,可以调用DrawLine方法,根据鼠标按下和移动时的坐标绘制线段。为了实现不同颜色和粗细的画笔,我们可以提供颜色选择器和笔刷宽度滑动条,并相应地改变Pen对象的Color和Width属性。 为了实现...

    C#使用GDI+绘图的例子,附源码

    // 创建一个Graphics对象,从当前窗体获取 Graphics g = this.CreateGraphics(); // 创建一个Pen对象,用于画线 Pen myPen = new Pen(Color.Black, 2); // 创建一个Brush对象,用于填充矩形 SolidBrush ...

    简单画图工具C#

    通过这些事件,我们可以获取鼠标的当前位置,并在Graphics对象上绘制相应的图形。 7. **坐标系统**:在C#的图形编程中,我们使用笛卡尔坐标系统,其中(0, 0)位于屏幕的左上角。了解这个坐标系统对于准确地绘制图形...

    自定义图标的C#程序

    当鼠标按下时记录当前位置,然后在鼠标移动时更新控件的位置。确保在`MouseMove`事件中检查`Button`属性以确认鼠标按钮是否仍被按下。 5. **添加到工具栏**:为了让用户能够方便地在应用程序中使用这个自定义控件,...

    基于C#的简单画图程序

    你可以从控件或Form的CreateGraphics方法获取Graphics对象,然后调用它的DrawLine、DrawRectangle、DrawEllipse等方法进行绘制。 2. Pen类:Pen对象定义了线条的样式、宽度和颜色。在画线或绘制轮廓时,你需要创建...

    C#实现图像面板绘制工具

    - 通过`e.Graphics`参数获取Graphics对象,这个对象与当前控件关联,可以在此上进行绘图。 - 使用`using`语句管理Pen和Brush对象,确保它们在使用后被正确释放。 3. **绘制基本形状**: - **线条**:使用`...

    c#画嵌套二维表

    在这个方法中,我们将用到Graphics对象,通过e.Graphics获取当前Paint事件的绘图环境。例如: ```csharp protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics g = e.Graphics; //...

    GDI流程图控件c#源码

    你可以从Graphics对象中获取一个设备上下文,然后在这个上下文中进行绘制。例如,使用Graphics.DrawRectangle方法画出矩形,Graphics.DrawString方法绘制文本。 3. **Pen与Brush** Pen类用于定义线条的样式,如...

    C#自定义控件---实现Control阴影源码{201903}

    `Pen`对象用于定义线条的样式、颜色和宽度,而`Brush`对象则用于填充形状的颜色或图案。在绘制阴影时,我们可能需要创建多个`Pen`和`Brush`对象以实现不同的效果。 5. **阴影效果实现**: 阴影通常通过偏移画布...

    C# GDI+简单绘图软件框架源码

    1. **创建Graphics对象**:通常从Control或Form的CreateGraphics方法获取,或者在PrintDocument的PrintPage事件中使用。 2. **设置绘图环境**:如选择Pen和Brush,设置绘图颜色和线型。 3. **绘制图形**:使用...

    Visual C#.NET 2008程序设计案例集锦 (源码)

    案例6.7 动态获取系统当前目录及程序当前目录 案例6.8 文件属性的查看与修改 案例6.9 桌面图标和驱动器的显示与隐藏 案例6.10 禁示修改IE浏览器的主页 本章小结 第7章 硬件处理技术 案例7.1 计算机的注销、...

    基于C#的连连看设计.docx

    玩家通过鼠标点击两张相同的图案,如果这两张图案之间能够通过不多于两次转向(包括直接相连)的直线连接起来,则这两张图案被消除。一旦游戏界面上的所有图案都被消除,玩家即赢得游戏。 #### 设计目的 设计这款...

    c#绘画板详细资源希望你能用到

    你可以通过`Control.CreateGraphics()`方法获取当前控件的`Graphics`对象。 4. 笔刷和画笔:在C#中,`Pen`类用于定义线条的颜色、宽度和样式,而`Brush`类则用于定义填充颜色和图案。例如,你可以创建一个`...

    c# 中GDI开发的 仿Windous绘图

    首先,你需要获取Graphics对象,这通常是通过e.Graphics参数获得,该参数是PaintEventArgs类型的,包含了当前控件的绘图环境。然后,你可以利用这个Graphics对象开始绘制图形。 例如,如果你想在窗体上画一个红色的...

Global site tag (gtag.js) - Google Analytics