delphi4arab منتديات دلفي للعرب

نسخة كاملة : مكون متعدد الادوات
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله
زمان مع اول تعلمي للبرمجة بدلفي عملت قليلا على إنشاء المكونات Component ووجدت طريقة لانشاء مكون متعدد من عدة مكونات كما بالشكل التالي :
[صورة: d8dfe7edf9780d8.jpg]
بحيث عند اضافته على النموذج يظهر بهذا الشكل تماما .
الان بحتث عن هذه الطريقة ولم اجدها ، نسيت كيف فعلتها وقتها .
لا اعرف هل اضفت نموذج ام Frame او برمجت Panel ووضعت عليه الادوات بزمن التشغيل برمجياً .
مذكور في المجلات العدد: 1-2-3
شكرا حقيقة لم احمل المجلة الا من العدد السابع تقريبا

ولكن كل هذه الطرق عند وضعها على النموذج تتحرك مكوناتها الداخلية
لاني الشكل الذي اصممه به تعقيدات وتفاصيل صغيرة لا اريدها ان تتحرك من مكانها عند تحريكها على النموذج

هناك طريقة لجعل المكون كله كانه كتلة واحدة مثال
PHP كود :
type
  TMyPanel 
= class(TScrollBox)
 
 private
    FImage
: TImage;
 
 public
    constructor Create
(AOwner: TComponent); override;
 
   destructor Destroy; override;
 
 published
    property Image
: TImage read FImage;
 
 end;

procedure Register;

implementation

procedure Register
;
begin
  RegisterComponents
('Standard', [TMyPanel]);
end;

constructor TMyPanel.Create(AOwner: TComponent);
begin
  inherited Create
(AOwner);

 
 FImage := TImage.Create(Self);
 
 FImage.SetSubComponent(true);
 
 FImage.Align := alClient;
 
 FImage.Parent := Self;
end;

destructor TMyPanel.Destroy;
begin
  inherited
;
end;

end. 

وهو استخدام المكونات كانها مكونات فرعية
PHP كود :
FImage.SetSubComponent(true); 

بحال لم يتم ذلك عندها سيمكن الوصول الى اي مكون ويتحرك مع نقرات الفأرة عليه
[صورة: uZ0VF.png]
جربته على الـ Frame ولم ينجح