TPaintBox から新しいコンポーネントを作成しようとしています。新しいコンポーネントのサイズは Rect(0,0,160,248) です。新しいコンポーネントに 2 つの四角形を描画しました。上の四角形のそれぞれにイベントを実装したいと思います。
Get Rectangle は Rect(102,43,157,63) にあり、この Rectangle area に対して OnGetClick 、 OnGetMouseDown 、 OnGetMouseUp などのイベントを実装したいと思います。
四角形の設定は Rect(102,69,157,89) にあり、この四角形領域に対して OnSetClick、OnSetMouseDown、OnSetMouseUp などのイベントを実装したいと考えています。
新しいコンポーネント領域の残りの部分は、VGauge に関連する値を表示する予定であり、以下のコードには含まれていません。
class PACKAGE TVGauge : public TPaintBox
{
public:
virtual void __fastcall Paint(void) ;
};
void __fastcall TVGauge::Paint(void)
{
int ind1, ind2 ;
TRect tempR ;
String str;
Canvas->Font->Size = 8 ;
//whole rect
Canvas->Pen->Color = clSilver ;
Canvas->Brush->Color = clBtnFace ;
Canvas->Rectangle(ClientRect) ; //Rect(0,0,160,248)
//----------
Canvas->Pen->Color = clMedGray ;
Canvas->Font->Color = clWindowText ;
Canvas->Brush->Color = clWhite ;
//Get Button ; draw a rectangle and it should act like a button
Canvas->Rectangle(102 , 43 , 157 , 63 ) ;
Canvas->TextOut(112, 48 ,L"Get");
//Set Button ; draw a rectangle and it should act like a button
Canvas->Rectangle(102 , 69 , 157 , 89 ) ;
Canvas->TextOut(112, 74 ,L"Set");
//display values related to the VGauge
//..
//..
if(OnPaint != NULL) OnPaint(this) ;
}
上記のイベントを新しいコンポーネントに実装する方法がわかりません。ですから、このコンポーネントを実装するための提案を得たいと思っています。