zoukankan      html  css  js  c++  java
  • WinForm 窗体API移动 API阴影

    窗体移动

    //窗体移动API
    [DllImport("user32.dll")]
    public static extern bool ReleaseCapture();
    [DllImport("user32.dll")]
    public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int IParam);
    public const int WM_SYSCOMMAND = 0x0112;
    public const int SC_MOVE = 0xF010;
    public const int HTCAPTION = 0x0002;
    [DllImport("user32")]
    private static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, IntPtr lParam);
    private const int WM_SETREDRAW = 0xB;
    
    
    
    private void Form1_MouseDown(object sender, MouseEventArgs e)
    {
        if (this.WindowState == FormWindowState.Normal)
        {
            ReleaseCapture();
            SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
        }
    }
    View Code

    窗体阴影

    1、添加命名空间:
    using System.Runtime.InteropServices;  
    
    2、定义常量值及函数:
    private const int CS_DropSHADOW = 0x20000;  
    private const int GCL_STYLE = (-26);  
    [DllImport("user32.dll", CharSet = CharSet.Auto)]  
    public static extern int SetClassLong(IntPtr hwnd, int nIndex, int dwNewLong);  
    [DllImport("user32.dll", CharSet = CharSet.Auto)]  
    public static extern int GetClassLong(IntPtr hwnd, int nIndex);
    
    
    3、构造方法下引用:
    SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DropSHADOW);  
    View Code
  • 相关阅读:
    LeetCode "Jump Game"
    LeetCode "Pow(x,n)"
    LeetCode "Reverse Linked List II"
    LeetCode "Unique Binary Search Trees II"
    LeetCode "Combination Sum II"
    LeetCode "Divide Two Integers"
    LeetCode "First Missing Positive"
    LeetCode "Clone Graph"
    LeetCode "Decode Ways"
    LeetCode "Combinations"
  • 原文地址:https://www.cnblogs.com/zhangwei99com/p/6759944.html
Copyright © 2011-2022 走看看