PDA

View Full Version : inheritance ارث بری و تغییر Cursor تمام bitbtn های موجود در پروژه



FirstLine
چهارشنبه 13 تیر 1386, 11:51 صبح
با سلام
من یه برنامه با تعداد زیادی فرم با دلفی 7 نوشته ام این فرمها فقط در زمان نیاز Create و در نهایت بعد از استفاده از بین میروند.
حالا که فکر میکنم میبینم که یادم رفته Cursor کلیدهای bitbtn را بصورت دست تنظیم کنم.
الان چجوری میتونم با بحث inheritance ارث بری کاری کنم که تمام کلیدها در هنگام ایجاد در برنامه بصورت اتوماتیک دارای Cursor بصورت دست باشند و یا همه کرسر Edit های برنامه بصورت کرسور ادیتی باشند؟
اصلا این چیزی که من گفتم با بحث inheritance ارتباطی دارد یا نه؟
با تشکر

Mohammad_Mnt
چهارشنبه 13 تیر 1386, 12:02 عصر
این کد را توی OnCreate فرمت قرار بده. البته شاید یه کم تغییر لازم داشته باشه



var
i: integer;
begin
for i:=0 to myForm.ComponentCount-1 do
if (myForm.Components[i] is TBitButton) then
myForm.Components[i].cursor := cuHand; // cuHand ra motmaen nistam
end;

Arman_1367
چهارشنبه 13 تیر 1386, 12:21 عصر
Var I,j:integer;
begin
For i:=0 to Screen.FormCount-1 do
With Screen.Forms[i] do
For j:=0 to controlcount-1 do
If Controls[j] is TBitBtn then
TBitBtn(Controls[j]).Cursor:=crHandPoint;
end;

FirstLine
چهارشنبه 13 تیر 1386, 14:11 عصر
با سلام
خیلی ممنون از راهنمایی و لطف شما.
این دو مورد با کد نویسی نوشته شده و بدرستی میتوان استفاده نمود و مشکلی هم ندارد.
آیا نمیشه در پروژه تعریف کرد که خاصیت Cursor کلیدهای bitbtn را عوض کند؟
یه خاصیتی به کد دکمه اصلی بدیم و همه دکمه های دیگه که از روی اون کد ساخته میشوند هم این خاصیت رو داشته باشند؟
(البته من میخوام ببینم آیا در مورد ارتباط ارث بری و عوض شدن یک خاصیت یک شیئی مواردی که گفتم درسته یا من دارم اشتباه میکنم. )
با تشکر

Delphi Skyline
چهارشنبه 13 تیر 1386, 15:02 عصر
می توانی . اما باید اول یک کلاس بسازی که مشتق Tbitbtn باشه . سپس یه کانسترکتور Create درست کنی که تو اون کرسر رو عوض کنی . سپس می توانی BitBtn ها تو تو کلاس فرم مشتق این کلاس کنی . کمی مشکله و باید دقت کنی و کلاسی که اول می سازی باید قبل از کلاس فرم باشه . این کار کمی مشکله ... .
الان دلفی دردسترسم نیست . اگه خواستی بعدم کدش رو هم می زارم .... .

Arman_1367
چهارشنبه 13 تیر 1386, 16:26 عصر
همه کار میشه کرد باید کاری که بهتره را بکنیم شما می خواهید به خاطر تنظیم یک پروپرتی یک کلاس بسازید و کل برنامه را از نوع بنویسید.

FirstLine
جمعه 15 تیر 1386, 23:30 عصر
با سلام
من 5 دقیقه وقت گذاشتم و کرسر تمام دکمه ها را دستی تنظیم کردم.

اما هدف این بود که با یک تغییر در تنظیم نمایش کل دکمه ها این کار انجام شود که متاسفانه میسر نشد.
با تشکر

Arman_1367
یک شنبه 17 تیر 1386, 09:33 صبح
با سلام
من 5 دقیقه وقت گذاشتم و کرسر تمام دکمه ها را دستی تنظیم کردم.

اما هدف این بود که با یک تغییر در تنظیم نمایش کل دکمه ها این کار انجام شود که متاسفانه میسر نشد.
با تشکر

سلام چرا این قدر ناراحت می شید.
ببین برای تنظیم های این چنینی که خیلی راحت قابل تنظیم هستند نیازی نیست کلاس جدیدی نوشته بشه فقط کافیه با یک تابع یا پروسه در ابتداس ساخت هر فرم مقدار را تنظیم کنیم که کار دستی هم نباشه که آدم خسته بشه.