重载CreateParams实现无标题栏的窗体

重载TForm类的CreateParams(TCreateParams& Params)方法。

void __fastcall CreateParams(TCreateParams& Params)
{
  Params.Style&=WS_CAPTION;
  TForm::CreateParams(Params);
}

截取Windows的WM_NCHITTEST消息

在头文件中加入

private:
     void __fastcall WMNChitTest(TMessage& Msg);
protected:
     BEGIN_MESSAGE_MAP
      VCL_MESSAGE_HANDLER(WM_NCHITTEST,TMessage,WMNChitTest)
     END_MESSAGE_MAP(TForm)

在主文件中加入

void __fastcall WMNChitTest(TMessage& Msg)
{
  if(GetAsyncKeyState(VK_LBUTTON)<0)
   Msg.Result=HTCAPTION;
  else
   Msg.Result=HTCLIENT;
}

时间: 2024-12-03 16:02:45

重载CreateParams实现无标题栏的窗体的相关文章

C#实现无标题栏窗体点击任务栏图标正常最小化或还原的解决方法

对于无标题栏窗体,也就是FormBorderStyle等于System.Windows.Forms.FormBorderStyle.None的窗体,点击任务栏图标的时候,是不能象标准窗体那样最小化或还原的.把下面的代码加到你的Form实现类中,即可实现点击任务栏图标正常最小化或还原窗体.   [c-sharp] view plain copy   protected override CreateParams CreateParams   {       get       {         

图片-求助:请问无标题栏有边框的窗体怎么多出一部分白色的出来了呢?

问题描述 求助:请问无标题栏有边框的窗体怎么多出一部分白色的出来了呢? 我想做一个去掉标题栏但不去掉边框的窗体(不是FormBorderStyle=None),但在Win 10里面标题栏却出现了一部分白色的背景,请问有没有高手知道是怎么回事?

C# 移动窗口 适用于有标题栏和无标题栏窗体 超级简单版

适用于有标题栏和无标题栏窗体,适用于窗体内控件,当然 Form 也不例外,只要能添加 MouseDown.MouseMove 事件,无需添加 MouseUp 事件,也无需考虑 Form 是否有标题栏. 本方法采用 Control.MousePosition,而没有采用 MouseEventArgs e 获取数据,是因为这样无需考虑窗体有无标题栏和边框的大小,也无需考虑是窗体引发事件,还是窗体内控件引发事件.     代码 // 获取窗体的屏幕坐标和鼠标光标的位置(屏幕坐标) private vo

界面demo-画一个无标题栏无边框的窗口

问题描述 画一个无标题栏无边框的窗口 窗口是用gdi+画的 打算是想实现一种想安全卫士之类的窗口 没有默认的标题栏和边框的现在的情况是 按钮被挡住了 画不出来? 代码: // WinCreate.cpp : Defines the entry point for the application. // #include #include //初始化一下com口 #ifndef ULONG_PTR#define ULONG_PTR unsigned long*#include ""Gdi

delphi程序全屏显示无标题栏覆盖整个屏幕

delphi 简单实现程序全屏显示无标题栏,覆盖整个屏幕,这个在做工控机或屏保时有用的,具体代码如下,感兴趣的朋友可以参考下哈   delphi 程序全屏显示无标题栏,覆盖整个屏幕,这个在做工控机或屏保时有用的,所以记下 复制代码 代码如下: procedure TMainFrm.FormCreate(Sender: TObject); begin with MainFrm do begin { Position form } Top := 0 ; Left := 0 ; { Go full s

Android中实现全屏、无标题栏的两种办法(另附Android系统自带样式的解释)

原文:Android中实现全屏.无标题栏的两种办法(另附Android系统自带样式的解释) 在进行UI设计时,我们经常需要将屏幕设置成无标题栏或者全屏.要实现起来也非常简单,主要有两种方法:配置xml文件和编写代码设置. 1.在xml文件中进行配置 在项目的清单文件AndroidManifest.xml中,找到需要全屏或设置成无标题栏的Activity,在该Activity进行如下配置即可. 实现全屏效果: android:theme="@android:style/Theme.NoTitleB

请问如何利用Message.Create方法移动无标题栏窗口

问题描述 请问如何利用Message.Create方法移动无标题栏窗口 解决方案 解决方案二:路过帮顶=============11月6日,论坛升级公告,积分已经做了调整!http://topic.csdn.net/u/20081107/11/b27dc75f-14b1-4594-9de3-5b18d9e36a11.html此次调整增加了两个新的可用分获取渠道:1:帖子被推荐(加精)后,帖主可以获得88分的可用分奖励:2:帖子结帖后会返还帖主50%的悬赏分,无满意结帖不返还分数:3:接下来会不断

Android实现无标题栏全屏的方法_Android

Android中实现全屏.无标题栏的两种办法,另附Android系统自带样式的解释 实现全屏无标题栏: 1.在xml文件中进行配置 AndroidManifest.xml中,找到需要全屏或设置成无标题栏的Activity,在该Activity进行如下配置即可. 实现全屏效果: android:theme="@android:style/Theme.NoTitleBar.Fullscreen"   实现无标题栏(但有系统自带的任务栏): android:theme="@andr

Android 全屏无标题栏的三种实现方法_Android

一.通过Java代码 在setContentView之前执行: requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题栏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//隐藏状态栏 二.调用Android自带的Theme 直接在AndroidManifest.xml中需要全屏显