c++悬浮窗代码

c++悬浮窗代码,第1张

悬浮窗要孝哗点:

a.从QWidget 继承..没有工具bar, 状态bar...当然,从丛慎衫QMainWindowi继承也能了.

b.去掉标题栏: setWindowFlags( Qt::FramelessWindowHint

c.窗体置顶setWindowFlags( Qt::WindowStaysOnTopHint

d. 隐藏任务栏图标 setWindowFlags(Qt::Tool) //工具条模式

e: 背景透明 setAttribute(Qt::WA_TranslucentBackground, true)

f: 添加鼠标渗腔事件..拖曳..鼠标动态图标等.

void mousePressEvent(QMouseEvent *event)

void mouseMoveEvent(QMouseEvent *event)

void paintEvent(QPaintEvent *event)

void enterEvent(QEvent *event)

void leaveEvent(QEvent *event)

2.建立普通窗体.

3.悬浮窗增添双击事件,

        #region  利用窗体上的控件移动窗体

        /// <summary>

        /// 利用控件移动窗体

        /// </summary>

        /// <param Frm="Form">窗体</param>

        /// <param e="MouseEventArgs">控件的移动事件</param>

        public void FrmMove(Form Frm, MouseEventArgs e)  //Form或MouseEventArgs添加命名空间using System.Windows.Forms

        {

            if (e.Button == MouseButtons.Left)

            {

                Point myPosittion = Control.MousePosition//获取当前鼠标的屏幕坐标

                myPosittion.Offset(CPoint.X, CPoint.Y)//重载当前鼠标的位置

                Frm.DesktopLocation = myPosittion//设置当前窗体在屏幕上的位置

            带陵}

        }

       差扮 #endregion

private void panel_Title_MouseMove(object sender, MouseEventArgs e)

        {

   虚行灶         FrmMove(this, e)

        }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12251038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存