下面給Shape控制增加了該方法並更新了部件的constructor以使Pen和Brush事件指向新方法
type
TSampleShape = class(TGraphicControl)
published
procdeure StyleChanged(Sender: TObject)
end;
implemintation
constructor TSampleShape
begin
inherited Create(AOwner)
Width :=
Height :=
Fpen := TPen
FPen
Fbrush := TBrush
FBrush
end;
procedure TSampleShape
begin
Invalidate(true)
end;
當變化發生時
圖形控制基本要素是在屏幕上畫圖形的方法
Shape控制的paint方法需要做
● 使用用戶選擇的Pen和Brush
● 使用所選的形狀
● 調整座標
覆蓋paint方法需要兩步
● 在部件聲明中增加Paint方法的聲明
● 在implementation部分寫Paint方法的實現
下面是Paint方法的聲明
type
TSampleShape = class(TGraphicControl)
protected
procedure Paint; override;
end;
然後
procedure TSampleShape
begin
with Canvas do
begin
Pen := FPen;
Brush := FBrush;
case FShape of
sstRectangle
Rectangle(
sstRoundRect
RoundRect(
sstCircle
Ellipse(
end;
end;
end;
無論任何控制需要更新圖形時
返回目錄
編輯推薦
Java程序設計培訓視頻教程
J
Visual C++音頻/視頻技術開發與實戰
Oracle索引技術
ORACLE
Java程序性能優化
C嵌入式編程設計模式
Android游戲開發實踐指南
[
From:http://tw.wingwit.com/Article/program/Delphi/201311/25112.html