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

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

تشکرها : 350
( 59 تشکر در 32 ارسال )
ارسال: #1
شماره کامپوننت موجود در فورم ؟!؟
سلام
من روی فروم برنامه تعدادی کامپوننت از قبیل :لیبل و ادیت و shape و....
در حدود 20 تا shape دارم که رنگشون رو باید تطبق یه شرایط عوض کنم.
با استفاده از یه حلقه For تمام کامپوننت های موجود توی فورم رو چک می کنم که آیا Shape هست یا نه ؟ بعد باید رنگشون رو عوض کنم.
کد:
for ii := 0 to testForm.ComponentCount - 1 do
    begin
     Memo1.Lines.Add(Components[ii].ClassName);
     if Components[ii].ClassName = 'TShape' then
      begin
          OpenIndicator.Brush.Color := clblack;
          ( Components[ii] as Tshape).Brush.Color :=  clblue;
      end;
اما تمام shape ها پشت سر هم نیست؟
یعنی مواردی که توی memo1 نوشته میشه به این صورت هست :
کد:
TShape
TLabel
TLabel
TShape
TShape
TShape
TShape
TButton
TMemo
TButton
TMemo
TButton
TButton
TMemo
TButton
.
.
.
.
TTimer
آیا راهی هست که بتونم تمام shape ها رو پشت سر هم قرار بدم؟

از هر طریقی که ممکن هست راهنمایی کنید ممنون میشم.
با تشکر

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

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

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #2
RE: شماره کامپوننت موجود در فورم ؟!؟
اول باید هندل کنترل زیر موس رو بگیرید
GetCursorPos
WindowFromPoint
بعد
با استفاده از دستورات api ویندوز مثل get_classname
میتونین این کارو انجام بدین
کد:
http://swissdelphicenter.ch/en/showcode.php?id=141
http://delphi.about.com/od/delphitips2008/qt/find-vcl-window.htm
و یا با استفاده از تابع FindVCLWindow

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


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question [سوال] کامپوننت EhLib CAVeter 0 1,058 ۰۱-آذر-۱۳۹۷, ۱۹:۳۱:۵۵
آخرین ارسال: CAVeter
  عکس گرفتن از کامپوننت ScrollBox برنامه Lazarus Majid_Ebru 0 1,878 ۲۶-اردیبهشت-۱۳۹۵, ۱۷:۴۷:۵۱
آخرین ارسال: Majid_Ebru
  انتخاب یک کامپوننت؟؟ Majid_Ebru 0 1,792 ۱۶-اردیبهشت-۱۳۹۵, ۱۱:۲۷:۲۸
آخرین ارسال: Majid_Ebru
Question کامپوننت نویسی The.Ghost 1 2,214 ۱۹-آذر-۱۳۹۳, ۰۹:۵۸:۵۱
آخرین ارسال: lord_viper
Question [فوری] کامپوننت KDTele The.Ghost 1 2,106 ۳۰-مرداد-۱۳۹۳, ۱۵:۵۱:۰۱
آخرین ارسال: veyskarami
  کامپوننت ترد در دلفی hesarkhani 2 3,701 ۰۲-اردیبهشت-۱۳۹۳, ۲۲:۰۸:۴۵
آخرین ارسال: The.Ghost
  کمک در باره کامپوننت ras hnosen 1 2,029 ۲۱-فروردین-۱۳۹۳, ۱۷:۴۱:۱۶
آخرین ارسال: lord_viper
Question خطا در ساختن کامپوننت The.Ghost 0 1,694 ۲۵-اسفند-۱۳۹۲, ۰۳:۱۵:۱۱
آخرین ارسال: The.Ghost
  ایجاد onMouseLeave برای کامپوننت های فاقد آن siroosss 6 4,727 ۲۱-مهر-۱۳۹۲, ۲۳:۱۳:۲۵
آخرین ارسال: siroosss
  کامپوننت emeli 2 2,147 ۰۹-مرداد-۱۳۹۲, ۲۰:۴۱:۱۲
آخرین ارسال: veyskarami

پرش به انجمن:


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

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