zoukankan      html  css  js  c++  java
  • Delphi中绘制圆角矩形的窗体

    制作圆角矩形的窗体:

    01.procedure TPortForm.FormCreate(Sender: Tobject);

    02.var hr :thandle;

    03.begin

    04.hr:=createroundrectrgn(0,0,width,height,20,20);

    05.setwindowrgn(handle,hr,true); 

    06.end;

    如果不要窗体外框,则使用:

    procedure TPortForm.FormCreate(Sender: Tobject);

    var hr :thandle;

    begin

    hr:=createroundrectrgn(1,1,width-2,height-2,20,20);

    setwindowrgn(handle,hr,true); 

    end;

    由于第一段代码做出来的窗口,圆角部份会没有边框,使用下面的代码做出边框:

    01.procedure TForm1.FormPaint(Sender: TObject);

    02.var

    03.DC: HDC;

    04.Pen: HPen;

    05.OldPen: HPen;

    06.OldBrush: HBrush;

    07.begin

    08.DC := GetWindowDC(Handle);

    09.Pen := CreatePen(PS_SOLID, 1, clGray);

    10.OldPen := SelectObject(DC, Pen); //载入自定义的画笔,保存原画笔

    11.OldBrush := SelectObject(DC, GetStockObject(NULL_BRUSH));//载入空画刷,保存原画刷

    12.RoundRect(DC, 0, 0, Width-1, Height-1,21,21); //画边框

    13.SelectObject(DC,OldBrush);//载入原画刷

    14.SelectObject(DC,OldPen); // 载入原画笔

    15.DeleteObject(Pen);

    16.ReleaseDC(Handle, DC);

    17.end;

  • 相关阅读:
    如何获得刚刚插入数据的id
    Ado.net怎么执行存储过程?
    SqlServer存储过程,学习
    视图view
    CTE(公用表表达式)
    事务
    over()的用法
    Inno Setup 系列之安装、卸载前检测进程运行情况并关闭相应进程
    Inno Setup的常用脚本
    跟武哥一起学习Spring Boot
  • 原文地址:https://www.cnblogs.com/blogpro/p/11446650.html
Copyright © 2011-2022 走看看