امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ساخت شی از روی نمونه؟؟
نویسنده پیام
Majid_Ebru آفلاین
كاربر دو ستاره
**

ارسال‌ها: 153
موضوع‌ها: 32
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 350
( 59 تشکر در 32 ارسال )
ارسال: #1
ساخت شی از روی نمونه؟؟
سلام و وقت بخیر
   من چون نمی دونم این کاری که می خوام انجام بدم اسمش چیه یا چطوریه ، در نتیجه هیچ جستجوی نکردم.
   لطفن اگه امکان داره اولش رو بگید ، من بقیش رو سرچ می کنم
   شرمنده


   من می خوام از یه المان الگو مثلن : Button یا Shape یا Memo و یا ..... که ویژگیهاش رو تغیر دادم ، در زمان اجرا یهکی دیگه ازش بسازم؟؟
   فرض کنید که یه Shape ساختم و چندتا رویداد بهش اختصاص دادم.مثلن وقتی موس وارد شد ، رنگش سبز بشه ویا هر وقت روش کلیک شد ، شکلش عوض بشه و.....
   حالا در زمان اجرا می خوام عین همین رو بسازم؟؟؟

   من چون بلد نیستم ، فقط یه راه به ذهنم رسید و اون این بود که بعد از ساختن شی ، تک تک خصوصیاتش رو برابر با شی الگو قرار می دم؟
  
   
کد:
  Shape_Olgo_IF_1_Create := TShape.Create(Form_Main);
          with Shape_Olgo_IF_1_Create do  begin
              Name := str_Name ;
              Name_Temp := str_Name ;
              Caption:= str_Caption;
              Parent := Form_Main.ScrollBox1;
              Left := Left_Click;
              Top := Top_Click;
              Width := Element_Width;
              ShowHint:= True;
              Hint:= 'Empty';
              Brush.Style := Style_Leave_Element ;
              //Pen.Color:= Brush.Color ;
              Bool_New_Old_Element:= True;



   مثلن اینجا دارم رویداد ها رو بهش اختصاص می دم
   
کد:
    OnMouseDown := Form_Main.Shape_Olgo.onMouseDown;
    OnMouseEnter:= Form_Main.Shape_Olgo.onMouseEnter;
    OnMouseLeave:= Form_Main.Shape_Olgo.onMouseLeave;
    OnPaint:= Form_Main.Shape_Olgo.OnPaint;
    if Bool_Draw_Popup then Target_Componnet_2 := Shape_Olgo_IF_1_Create;
  end; // with  .... do



   و در حالت بعدی می خوام از یه Frame که توش چندتا شی هست ، در زمان اجرا ازش بسازم

   ممنون

یاس : پس باخت کسی که به حمله نرفت .
احتیاج ، مادر اختراع
۲۵-خرداد-۱۳۹۵, ۲۰:۰۹:۲۱
وب سایت ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,947
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5184
( 9869 تشکر در 2648 ارسال )
ارسال: #2
RE: ساخت شی از روی نمونه؟؟
چون دلفی شیی گرا هست شما باید یک کامپوننت از TShape مشتق کنین و این قابلیتها رو بهش اضافه کنید بعد از نصب کامپوننت میتونین هر تعداد خواستین ازش مشتق کنین

راه راحتش اینه یه تابع بنویسین که خروجی اون از tshape باشه بعد بیاد این عملیاتها رو روی اون shape انجام بده و بده به خروجی

کد:
function create_shape(Bool_Draw_Popup then Target_Componnet_2:tshape):tshabe;
var
Shape_Olgo_IF_1_Create : tshape;
begin

 Shape_Olgo_IF_1_Create := TShape.Create(Form_Main);
         with Shape_Olgo_IF_1_Create do  begin
             Name := str_Name ;
             Name_Temp := str_Name ;
             Caption:= str_Caption;
             Parent := Form_Main.ScrollBox1;
             Left := Left_Click;
             Top := Top_Click;
             Width := Element_Width;
             ShowHint:= True;
             Hint:= 'Empty';
             Brush.Style := Style_Leave_Element ;
             //Pen.Color:= Brush.Color ;
             Bool_New_Old_Element:= True;

   OnMouseDown := Form_Main.Shape_Olgo.onMouseDown;
   OnMouseEnter:= Form_Main.Shape_Olgo.onMouseEnter;
   OnMouseLeave:= Form_Main.Shape_Olgo.onMouseLeave;
   OnPaint:= Form_Main.Shape_Olgo.OnPaint;
   Bool_Draw_Popup then Target_Componnet_2 := Shape_Olgo_IF_1_Create;
 end; // with  .... do
end;

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۲۶-خرداد-۱۳۹۵, ۱۰:۰۸:۴۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, Majid_Ebru
Majid_Ebru آفلاین
كاربر دو ستاره
**

ارسال‌ها: 153
موضوع‌ها: 32
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 350
( 59 تشکر در 32 ارسال )
ارسال: #3
RE: ساخت شی از روی نمونه؟؟
ممنون
خیلی جالب بود
حتمن تست می کنم

یاس : پس باخت کسی که به حمله نرفت .
احتیاج ، مادر اختراع
۲۸-خرداد-۱۳۹۵, ۲۰:۰۴:۴۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : ceciliasv16


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question کلیک روی x,y Farid_khan 1 1,548 ۱۰-فروردین-۱۳۹۴, ۱۲:۱۷:۱۶
آخرین ارسال: lord_viper
Question نمونه گیری و نمایش موج سینوسی taranom1 3 4,118 ۲۰-اسفند-۱۳۸۸, ۱۰:۴۲:۵۶
آخرین ارسال: lord_viper
  اتصال کلاینت ها به بانک روی سرور از طریق اینترنت delphi7 1 6,466 ۰۵-اسفند-۱۳۸۷, ۲۳:۰۷:۱۷
آخرین ارسال: lord_viper
  مقاله : جستجوي فايلها ( همراه با برنامه نمونه ) Mahmood_N 2 2,129 ۱۹-بهمن-۱۳۸۶, ۱۵:۰۱:۰۲
آخرین ارسال: Mahmood_N
  گروهی کار کردن روی ابجکت mrpn 4 2,389 ۲۴-تير-۱۳۸۵, ۰۸:۳۲:۵۰
آخرین ارسال: Jman

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS