delphi 无边框窗体常见问题

实现无边框窗体很简单,直接将窗体的BorderStyle属性设置为bsNone即可。但是这样会引起2个问题:

1、在xp系统下,任务栏鼠标右键点击无法弹出菜单

解决办法:在FormShow中加入这个过程即可

procedure TForm2.InitSysMenu;
var
WindowStyle: Integer;
begin
  WindowStyle := GetWindowLong(Handle, -16);
  WindowStyle := WindowStyle or WS_SYSMENU or WS_MINIMIZEBOX;
  SetWindowLong(Handle, -16, WindowStyle);
end;

2、窗口最大化的时候,会把任务栏也遮盖住

解决办法:在FormResize中加入以下代码即可

Self.Constraints.MaxHeight := Screen.WorkAreaHeight;

----转自互联网

时间: 2024-10-07 02:58:46

delphi 无边框窗体常见问题的相关文章

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" .如果是非矩形的异形窗体,则

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

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

Qt:移动无边框窗体(使用Windows的SendMessage)

移动无边框窗体的代码网上很多,其原理都是一样的,但是是有问题的,我这里只是对其修正一下 网上的代码仅仅实现了两个事件 [cpp] view plain copy void EditDialog::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) { m_DragPosition = event->globalPos() - this->pos(); event->accept()

Winform自定义无边框窗体

你还在为Winform原生窗体的丑陋而烦恼么?下面来看一下如何制作一个既漂亮又简单的窗体 先看一下效果图: 首先我们新建一个窗体FormM继承原生Form 看一下主要的代码 public partial class FormM : Form { public FormM() { InitializeComponent(); } /// <summary> /// 是否允许最大化 /// </summary> private bool maxVisible = true; [Desc

无边框窗体、用户控件、Timer控件

一.无边框窗体1 最大化.最小化以及关闭按钮制作 实际上就是更换点击前.指向时.点击时的图片 (1)将图片放在该文件夹的Debug中, 获取图片的路径 Application.StartupPath + "\\图片名.类型"(2)若是放在该文件夹的中,Application.StartupPath + "\\..\\..\\images\\图片名.类型" \..\文件夹名称... 向上翻一个文件夹,上面的第一个\是转义 pictureBox2.BackgroundI

无边框窗体、后台创建控件、简单通讯

一.无边框窗体 1.控制按钮如何制作: 就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要可以点击能触发点击事件就可以了 (1)美化一下的话那就可以把鼠标移入,移出,按下三个事件让按钮改变样式 (2)如何获取图片的相对路径 //鼠标移入时显示的图片 private void pictureBox1_MouseEnter(object sender, EventArgs e) { pictureBox1.BackgroundImage = Image.FromFile(Applicatio