码迷,mamicode.com
首页 > Windows程序 > 详细

WPF 通过Win32SDK修改窗口样式

时间:2020-05-06 01:37:23      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:tool   frame   dex   禁用   方法   函数   logs   ext   bsp   

原文:WPF 通过Win32SDK修改窗口样式

使用函数为

SetWindowLong

GetWindowLong

注册函数

技术图片
       
        [DllImport("user32.dll", EntryPoint = "GetWindowLong")]
        public static extern int GetWindowLong(IntPtr hwnd, int nIndex);

        [DllImport("user32.dll", EntryPoint = "SetWindowLong")]
        public static extern int SetWindowLong(IntPtr hMenu, int nIndex, int dwNewLong);
技术图片

使用函数

技术图片
private void DisableSizebox()
        {
            int GWL_STYLE = -16;
            int WS_THICKFRAME = 0x00040000;
            IntPtr handle = new WindowInteropHelper(this).Handle;
            int  nStyle = GetWindowLong(handle, GWL_STYLE);
//禁用调整窗口大小 nStyle
&= ~WS_THICKFRAME; SetWindowLong(handle, GWL_STYLE,nStyle); }
技术图片

注意 启用窗口样式为

nStyle|=WS_THICKFRAME

如果是多个样式启用或者禁止为

//禁用
nStyle &= ~WS_CAPTION&~WS_MINIMIZEBOX;
//启用
nStyle |= WS_MAXIMIZEBOX| WS_CAPTION;

 

具体样式请参考具体Windows Style

注意:msdn中均为Long型,去掉L即可为int,

本函数均为32位,对应64位请参考网页的GetWindowLongPtrASetWindowLongPtrA使用方法不变

WPF 通过Win32SDK修改窗口样式

标签:tool   frame   dex   禁用   方法   函数   logs   ext   bsp   

原文地址:https://www.cnblogs.com/lonelyxmas/p/12833955.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!