• delphi 隐藏标题栏


     

     
    1.隐藏窗体的标题栏
    Delphi中隐藏窗体的标题栏,相信大家都会说是一个件十分容易的事情,只需要设置BorderStyle的属性为bsNone就可以了,不过这种设置方法不但去掉了窗体的标题栏,而且也去掉了窗体的3D边框,这样就显得不好看了,那么请大家试试下面的方法吧。
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    setwindowlong(form1.Handle,gwl_style,getwindowlong(handle,gwl_style) and not ws_caption);
    height:=clientheight;//隐藏标题栏
    end;


    2.在标题栏中显示文字标题
    要在窗体的标题栏中显示文字信息,可以先获取此窗体的句柄,然后使用画布(Canvas)在此窗体的标题栏中绘制出文字,根据需要可以对文字的字体大小和颜色进行设置。
    procedure TForm1.Button1Click(Sender: TObject);
    var
    dc:hdc;
    cvs:tcanvas;
    begin
    dc:=getwindowdc(handle);//取得窗体的句柄
    cvs:=tcanvas.Create;
    cvs.Handle:=dc;
    cvs.Font.Size:=11;//设置字体大小
    cvs.Brush.Color:=rgb(222,222,9);//背景颜色
    cvs.TextOut(100,8,'标题栏文字');//绘制文字
    releasedc(handle,dc);//释放句柄
    end;


    3.在任务栏中隐藏窗体的图标
    在Windows中运行程序时,往往此程序的图标都会出现在任务栏中,但也有一些特殊的程序禁止了这种做法,如一些监控程序等,其实要实现这种效果也有好多种方法,下面是其中的一种。
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    showwindow(application.handle,sw_hide); //隐藏图标
    setwindowlong(application.Handle,gwl_exstyle,
    getwindowlong(application.Handle,gwl_exstyle) or ws_ex_toolwindow and not ws_ex_appwindow);
    //设定窗体在状态栏处不可见状态
    end;

  • 相关阅读:
    .JDBC访问数据库的基本步骤是什么?
    文本的四种编码方式
    实现不在栈中产生对象
    字符串链接和复制
    堆和栈的区别(详细)
    产生随机数字
    利用返回引用来操作结构体
    inline 内联函数可以避免函数重定义问题
    五大内存分区,堆与栈的区别(转)
    Strategy模式
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/7727732.html
Copyright © 2020-2023  润新知