PDA

View Full Version : خصوصیات مشترک



ms1024
دوشنبه 23 مرداد 1385, 07:19 صبح
سلام...
یک سری خصوصیات مشترک بین بعضی از کنترلها وجود داره که همیشه باید اونها رو تنظیم کرد
مثلا اگه پروژه 10تا فرم داشته باشه باید برای همه اونها Font,Position,Bidimode,BorderSyleو... رو یه مقدار بدم. آیا راهی وجود داره که از این کار تکراری جلوگیری بشه؟
یا در مورد label,buttonو...

vcldeveloper
دوشنبه 23 مرداد 1385, 07:45 صبح
می تونی کنترل های مختلف را با استفاده از Shift انتخاب کنی، در این صورت فقط خصوصیات مشترک کنترل ها در Object Inspector نمایش داده میشه. با تغییر این خصوصیات می توانید تمام خصوصیات مشترک این کنترل ها را تغییر دهید.

mzjahromi
دوشنبه 23 مرداد 1385, 08:23 صبح
در مورد کامپوننتها همونی که آقای کشاورز گفتن
ولی ویژگیهائی که شما مطرح کردید عموما مربوط به فرم میشه و معمولا کامپوننتهائی که روی فرم قرار میگیره در ابتدا اینگونه خواص رو از فرم تقلید میکنند. برای اینکه درون فرم هم نخواهی هر بار این کارها رو انجام بدی می تونی یک فرم نمونه ایجاد کنی و هر بار اون نمونه فرم رو به برنامه ات Add کنی

ms1024
دوشنبه 23 مرداد 1385, 08:46 صبح
می تونی کنترل های مختلف را با استفاده از Shift انتخاب کنی، در این صورت فقط خصوصیات مشترک کنترل ها در Object Inspector نمایش داده میشه. با تغییر این خصوصیات می توانید تمام خصوصیات مشترک این کنترل ها را تغییر دهید.

تشکر، اما منظورم این نبود


می تونی یک فرم نمونه ایجاد کنی و هر بار اون نمونه فرم رو به برنامه ات Add کنی

چطور این کار رو انجام بدم؟

mzjahromi
دوشنبه 23 مرداد 1385, 09:14 صبح
کار خاصی لازم نیست انجام بدی
یه فرم با ویژگیهای مورد نظر میسازی و میذاری کنار
بعد هر وقت خواستی یه فرم جدید ایجاد کنی از منوی File->New->Other->ProjectName یه دونه دیگه از همون فرم به برنامه ات اضافه میکنی

Amir Lajevardi
دوشنبه 23 مرداد 1385, 11:05 صبح
سلام
دوباره معذرت میخام در حضور اساتید نظر میدم،



?ا در مورد label,buttonو...

من فکر میکنم منظور شما از طریق کد نویسی در زمان اجرا باشه شاید مثال زیر در مورد Button ها شاید به دردتون بخوره:



for i:=0 to ComponentCount - 1 do
if Components[i] is TButton then
with Components[i] as TButton do
begin
Enabled:=False;
//...
//Some Other Codes.
//...
end;

ali_divsalar
دوشنبه 23 مرداد 1385, 11:36 صبح
کار خاصی لازم نیست انجام بدی
یه فرم با ویژگیهای مورد نظر میسازی و میذاری کنار
بعد هر وقت خواستی یه فرم جدید ایجاد کنی از منوی File->New->Other->ProjectName یه دونه دیگه از همون فرم به برنامه ات اضافه میکنی
دقیقا درسته . یه روش دیگه هم اینه که فرم نمونه نسازی و در عوض یکی از فرمهایی که تمام تنظیمات رو توش انجام دادید رو باز کنید و همه COMPONENT های توی اونو انتخاب و توی فرم جدیدتون کپی کنید البته فقط تنظیمات خود فرم جدید رو ناچارا باید خودتون انجام بدید(که انجام بعضی هاش تو هر دو روش الزامییه مثل عنوان فرم). ولی در عوض متونید از کدها و توابع فرم منبع تون با یه کپی و انجام تغییرات استفاده کنید.

mzjahromi
دوشنبه 23 مرداد 1385, 11:39 صبح
دقیقا درسته . یه روش دیگه هم اینه که فرم نمونه نسازی و در عوض یکی از فرمهایی که تمام تنظیمات رو توش انجام دادید رو باز کنید و همه COMPONENT های توی اونو انتخاب و توی فرم جدیدتون کپی کنید البته فقط تنظیمات خود فرم جدید رو ناچارا باید خودتون انجام بدید(که انجام بعضی هاش تو هر دو روش الزامییه مثل عنوان فرم). ولی در عوض متونید از کدها و توابع فرم منبع تون با یه کپی و انجام تغییرات استفاده کنید.
اینجوری که خیلی دردسر داره


من فکر میکنم منظور شما از طریق کد نویسی در زمان اجرا باشه شاید مثال زیر در مورد Button ها شاید به دردتون بخوره
ولی اینطور که از صحبتهای دوستمون بر میاد مشکل در زمان طراحی هست

Mahyaa
دوشنبه 23 مرداد 1385, 14:17 عصر
با کلیک راست و Add to Repositary هم میشه .

با هر بار new کردن میشه یک Intance از همون رو باز کرد.

ms1024
سه شنبه 24 مرداد 1385, 08:04 صبح
با تشکر از همه دوستان، مشکل حل شد(با روشهای دوستان Mahyaa و mzjahromi)
در مورد button,labelو... منظورم این بود که یک دکمه بسازیم که مثلا caption اون "تایید" باشه یا بقیه خصوصیات و بعد اون رو به کمپوننتها اضافه کنیم و هر وقت خواستیم از اون استفاده کنیم. که فکر کنم باید برم سراغ کمپوننت نویسی.

m-khorsandi
سه شنبه 24 مرداد 1385, 15:33 عصر
برای کامپوننتها میتونید از Template های دلفی هم استفاده کنید،
به این صورت که کامپوننت یا کامپوننتهایی رو که لازم داری رو روی یه فرم بذار ، ویژگیهای مورد نظرت
رو تنظیم کن و اونها رو انتخاب کن و از منوی Component گزینه Create Component Template رو
انتخاب کن. نام کامپوننت و پلتی رو که میخوای اونجا قرار بگیره رو میدی و از این به بعد میتونی
از اون خیلی راحت استفاده کنی.

ms1024
چهارشنبه 25 مرداد 1385, 08:53 صبح
جالبه، حتی اگه کدی هم توی یکی از رویدادهای اون کمپوننت نوشته باشی ذخیره میشه