C# 实现无焦点窗体(转载)

#region 无焦点窗体

[System.Runtime.InteropServices.DllImport("user32.dll")]
 private extern static IntPtr SetActiveWindow(IntPtr handle);
 private const int WM_ACTIVATE = 0x006;
 private const int WM_ACTIVATEAPP = 0x01C;
 private const int WM_NCACTIVATE = 0x086;
 private const int WA_INACTIVE = 0;
 private const int WM_MOUSEACTIVATE = 0x21;
 private const int MA_NOACTIVATE = 3;
 protected override void WndProc(ref Message m)
 {
 if (m.Msg == WM_MOUSEACTIVATE)
 {
 m.Result = new IntPtr(MA_NOACTIVATE);
 return;
 }
 else if (m.Msg == WM_NCACTIVATE)
 {
 if (((int)m.WParam & 0xFFFF) != WA_INACTIVE)
 {
 if (m.LParam != IntPtr.Zero)
 {
 SetActiveWindow(m.LParam);
 }
 else
 {
 SetActiveWindow(IntPtr.Zero);
 }
 }
 }
 base.WndProc(ref m);
 }

#endregion
时间: 2024-12-22 15:52:52

C# 实现无焦点窗体(转载)的相关文章

2017-4-26 winform tab和无边框窗体制作

TabIndex-----------------------------------确定此控件将占用的Tab键顺序索引 Tabstop-------------------------------指示用户是否可以使用Tab键为控件提供焦点 无边框窗体制作中,鼠标移入,移出,按下的事件:  最小化: Anchor------------------------------定义某个控件绑定到的容器的边缘,当控件锚定到某个边缘时,与制定边缘最接近的控件边缘与指定边缘之间的距离将保持不变.

猎豹MFC、--拖动无边框窗体

以上窗口为无边框窗体: 在窗口属性中  去除窗口边框: 首先定义两个变量: 在构造函数中进行初始化: 因为要按下鼠标左键才能进行拖动,所以增加鼠标左键消息: 小技巧: 捕获鼠标  放置鼠标跑出当前窗口: 增加移动鼠标消息: 鼠标按下去的小时函数如下: 增加鼠标离开弹起的消息: 鼠标移动的消息函数实现如下: 鼠标当前位置减去鼠标开始的位置为鼠标移动的距离,为减少窗口的闪烁,让距离大于两个像素的才让他移动,因为不停的移动就会有明显的闪烁感. GetWIndowsRect()获取窗口原来的位置. Of

Qt 无边框窗体改变大小 完美实现(全部自己实现)

近期,做项目用到无边框窗体,令人蛋疼的是无边框窗体大小的改变要像右边框那样,上下左右四周,而且要流畅. 网上也找了些代码,发现居然还要连接到windows事件,这显然不合常理,后来自己新建了demo,写了一个小时,问题太多了,扔一边先不管了. 今天需要改进UI界面,没办法了,重新整理了下思路,没想到做出来了.下面来分享下实现的过程,也许是菜鸟专栏,高手勿喷~ 1.首先大家要了解各九宫格的概念 一个窗体可以被划分为上.下.左.右.左上.左下.右上.右下.中间,除了中间部分,其他都需要写程序处理.

Qt 无边框窗体改变大小 完美实现

近期,做项目用到无边框窗体,令人蛋疼的是无边框窗体大小的改变要像右边框那样,上下左右四周,而且要流畅. 网上也找了些代码,发现居然还要连接到windows事件,这显然不合常理,后来自己新建了demo,写了一个小时,问题太多了,扔一边先不管了. 今天需要改进UI界面,没办法了,重新整理了下思路,没想到做出来了.下面来分享下实现的过程,也许是菜鸟专栏,高手勿喷~ 1.首先大家要了解各九宫格的概念 一个窗体可以被划分为上.下.左.右.左上.左下.右上.右下.中间,除了中间部分,其他都需要写程序处理.

Qt无边框窗体-最大化时支持拖拽还原

目录 一.概述 二.效果展示 三.demo制作 1.设计窗体 2.双击放大 四.拖拽 五.相关文章 原文链接:Markdown模板 一.概述 用Qt进行开发界面时,既想要实现友好的用户交互又想界面漂亮,那么自定义界面就必不可少.其中有一个操作就是是我们每一个Qter开发者都要会的,而且是经常进行的. Qt::FramelessWindowHint这个属性想必大家都使用过,有些同学可能对这个属性很了解,也用的是炉火纯青,今天我们也来说说这个属性. 关于这个无边框属性网上也有一些文章,有些谈论的是b

PYQT设计无边框窗体

#UI.py,通过UI设计师制作后直接转换为UI.py脚本 # -*- coding: utf-8 -*-from PyQt4 import QtCore, QtGui try:    _fromUtf8 = QtCore.QString.fromUtf8except AttributeError:    _fromUtf8 = lambda s: s class Ui_Form(object):    def setupUi(self, Form):        Form.setObject

无边框窗体 timer控件

一.无边框窗体1.控制按钮如何制作 MouseEnter-鼠标移入的时候发生的事件 pictureBox1.BackgroundImage = Image.FromFile(Application.StartupPath + "\\..\\..\\images\\btn_close_highlight.png"); MouseLeave-鼠标移出的时候发生的事件 pictureBox1.BackgroundImage = Image.FromFile(Application.Start

无边框窗体和用户控件以及权限

无边框窗体: 就是吧窗体的边框去掉,然后自己做按钮设置功能. 无边框窗体的移动: 将下面代码直接复制粘贴,将窗体的鼠标按下事件的方法改成下面方法的名字就可以直接使用 1 //窗体移动API 2 [DllImport("user32.dll")] 3 public static extern bool ReleaseCapture(); 4 [DllImport("user32.dll")] 5 public static extern bool SendMessag

01.WPF中制作无边框窗体

[引用:]http://blog.csdn.net/johnsuna/article/details/1893319 众所周知,在WinForm中,如果要制作一个无边框窗体,可以将窗体的FormBorderStyle属性设置为None来完成.如果要制作成异形窗体,则需要使用图片或者使用GDI+自定义绘制. 那么,在WPF中,我们怎样制作一个无边框窗体呢? 答案是将Window的WindowStyle属性设置为None,即WindowStyle="None" .如果是非矩形的异形窗体,则