DrawFocusRect 函数

DrawFocusRect function

在一张图片中,我想画一个圆形的选区。我曾经画过矩形,但从未处理过其他任何形状。有可能完成吗?我在 Delphi

编码

DrawFocusRect() 仅支持矩形。对于其他形状,您必须根据需要自己手动绘制它们,例如 Ellipse() 和适当的 BrushPen.

DrawFocusRect(), use an alternating and XOR 笔具有相似的外观和行为。例如:

var
  Brush: TLogBrush;
begin
  Brush.lbStyle := BS_SOLID;
  Brush.lbColor := clBlack;
  Canvas.Pen.Handle := ExtCreatePen(PS_COSMETIC or PS_ALTERNATE, 1, Brush, 0, nil);
  Canvas.Pen.Style := psAlternate;
  Canvas.Pen.Mode := pmNotXor;
  Canvas.Brush.Style := bsClear;
  Canvas.Ellipse(...