>>>>>>>>>>>>>Header ÆÄÀÏ <<<<<<<<<<< //---------------------------------------------------------------------------- #ifndef ChildWinH #define ChildWinH //---------------------------------------------------------------------------- #include #include #include #include #include #include #include #include //---------------------------------------------------------------------------- class TMDIChild : public TForm { __published: TPanel *Panel1; //Panel on childform void __fastcall Panel1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); private: public: virtual __fastcall TMDIChild(TComponent *Owner); TStaticText *StaticText1; TLabel *Label2; int mDX,mDY; bool isDown; void __fastcall Put_Indi(const AnsiString& unit,int X, int Y); void __fastcall StaticText1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall StaticText1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y); void __fastcall StaticText1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); }; //---------------------------------------------------------------------------- #endif >>>>CPPÆÄÀÏ<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< //--------------------------------------------------------------------- #include #pragma hdrstop #include "ChildWin.h" //--------------------------------------------------------------------- #pragma resource "*.dfm" //--------------------------------------------------------------------- __fastcall TMDIChild::TMDIChild(TComponent *Owner) : TForm(Owner) { isDown=false; } void __fastcall TMDIChild::Panel1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if(Button==mbLeft) Put_Indi("C",X,Y); } //--------------------------------------------------------------------- void __fastcall TMDIChild::Put_Indi(const AnsiString& unit,int X, int Y) { Label2=new TLabel(this); StaticText1=new TStaticText(this); StaticText1->Parent=Panel1; Label2->Parent=Panel1; StaticText1->BorderStyle=sbsSingle; StaticText1->Caption="100000 "; Label2->Caption=" "+unit; StaticText1->Font->Size=12; StaticText1->Font->Style = TFontStyles()<< fsBold; Label2->Color=Panel1->Color; StaticText1->Left=X; StaticText1->Top=Y; Label2->Left=X+StaticText1->Width; Label2->Top=Y; } //--------------------------------------------------------------------------- void __fastcall TMDIChild::StaticText1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { mDX=X; mDY=Y; isDown=true; } //--------------------------------------------------------------------------- void __fastcall TMDIChild::StaticText1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { if(isDown){ StaticText1->Left=StaticText1->Left+X-mDX; StaticText1->Top=StaticText1->Top+Y-mDY; Label2->Left=Label2->Left+X-mDX; Label2->Top=Label2->Top+Y-mDY; } } //--------------------------------------------------------------------------- void __fastcall TMDIChild::StaticText1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { isDown=false; } //---------------------------------------------------------------------------