نمایش نتایج 1 تا 7 از 7

نام تاپیک: در كلاس Tbutton چرا Read , Write این پراپرتیها تنظیم نشده

  1. #1

    Question در كلاس Tbutton چرا Read , Write این پراپرتیها تنظیم نشده

    داشتم سورس TBUTTON رو مطالعه میکردم ... به یه نکته برخوردم که برام سوال شده!
    ---
    TButton = class(TButtonControl)
    Public
    property Caption;
    property Enabled;
    property Font;
    ----
    چرا Read , Write این پراپرتیها تنظیم نشده ؟ مقادیرشان رو از کجا میگیرن ؟

  2. #2
    در کلاس TControl این Property ها در قسمت Protected تعریف شده اند و در این کلاس فقط برای استفاده
    از اونها نام اونها رو نوشتند.

  3. #3
    کاربر دائمی آواتار Kamyar.Kimiyabeigi
    تاریخ عضویت
    خرداد 1384
    محل زندگی
    تهران
    پست
    1,276
    برای اینکه TButton خودش از Inherited شده از TControl

  4. #4
    خوب از کجا میفهمه که پراپرتی Font متعلق به کدام پراپرتی از پدر است؟

  5. #5
    کاربر دائمی آواتار MSK
    تاریخ عضویت
    تیر 1383
    محل زندگی
    فعلا تهران - بعدا خدا می‌دونه!
    پست
    331
    هم نامه .
    این کد برای یاد آوری این نکتست که این پراپرتی در این کنترل ارث برده شده جزو خواص عمومیه نه protected .

  6. #6
    این روش به این علت استفاده شده تا شما در صورتی که خواستین یک کنترل از نوع TButton برای خودتون داشته باشین و نمی خواهین که خواص Caption یا فونت را داشته باشین مستقیما از TButtonControlارث بری کنین. و چون این خواص در TButtonControlبه صورت Protected است در کنترل شما غیر قابل دسترسی خواهند بود.

    در حقیقت TButtonControl کار اصلی را انجام می دهد و Tbutton آنها را آشکار می سازد.
    خوب از کجا میفهمه که پراپرتی Font متعلق به کدام پراپرتی از پدر است؟
    باید به کلاسهای والد به ترتیب نگاه کنید.

  7. #7
    از همه سروران و دوستان بابت وقتی که گذاشتید تشکر میکنم

تاپیک های مشابه

  1. جایگزینی tbutton با کلاس دلخواه خودم در زمان اجرا
    نوشته شده توسط hshafiei در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 0
    آخرین پست: یک شنبه 14 بهمن 1386, 09:28 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •