小编Fel*_*ais的帖子

具有CN和WM前缀的消息之间的差异

在查看Delphi源代码时,我经常会看到来自Windows API的消息声明,例如CN_NOTIFYWM_NOTIFY.我想知道它们之间的差异以及何时应该使用它们?

delphi winapi windows-messages

9
推荐指数
1
解决办法
261
查看次数

Delphi 7 - 如何用画笔填充圆角矩形?

我正在尝试使用Canvas绘制类似Dialog的表单.我可以在其中添加圆形边框和圆角矩形作为标题/标题.我想用画笔填充标题.

在这里看表格

但是,我正在努力填补这个头衔.使用时,FillRect所有表格都重新粉刷.试图在这里搜索,所以如果我错过了,请指出我去哪里.否则,我该怎么办?使用Delphi 7,OnPaint事件.

procedure TCustomDialog.FormPaint(Sender: TObject);
var
  Rect: TRect;
  BorderColor: TColor;
  BrushColor: TColor;
begin
  // Rect for Form's borders;
  Rect.Left := 0;
  Rect.Top := 0;
  Rect.Right  := ClientWidth;
  Rect.Bottom := ClientHeight;

  BorderColor := HtmlToTColor('#ffffff');
  BrushColor := HtmlToTColor('#ffffff');

  // Here I set the colors of Canvas.Pen (border) and Canvas.Brush (Filling),
  // similar to Bootstrap themes/classes (Default, Success, Warning, Danger);
  case DialogType of
    dtInformation:
    begin
      BorderColor := HtmlToTColor(Header_Color_Pen_Information);
      BrushColor := HtmlToTColor(Header_Color_Brush_Information);
    end;

    dtSuccess:
    begin
      BorderColor := HtmlToTColor(Header_Color_Pen_Success);
      BrushColor := HtmlToTColor(Header_Color_Brush_Success); …
Run Code Online (Sandbox Code Playgroud)

delphi canvas rounded-corners

2
推荐指数
1
解决办法
1400
查看次数