delphi4arab منتديات دلفي للعرب
مكون متعدد الادوات - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : مكون متعدد الادوات (/showthread.php?tid=9506)



مكون متعدد الادوات - Delphi4Us - 07-06-2018

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


RE: مكون متعدد الادوات - محمد عبد العزيز - 07-06-2018

دلفي : إعادة الاستخدام في دلفي
إعادة الاستخدام في دلفي: الجزء الثاني – الإطارات
اعادة الاستخدام في دلفي: الجزء الثالث - المستودعات.


RE: مكون متعدد الادوات - Ben.Ja - 07-06-2018

مذكور في المجلات العدد: 1-2-3


RE: مكون متعدد الادوات - Delphi4Us - 07-06-2018

شكرا حقيقة لم احمل المجلة الا من العدد السابع تقريبا

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

هناك طريقة لجعل المكون كله كانه كتلة واحدة مثال
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 ولم ينجح


RE: مكون متعدد الادوات - ferrero - 08-06-2018

http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Creating_a_Component_Template