PDA

View Full Version : سوال: تشخیص دیدن اشیاء توسط کاربر



joooje
پنج شنبه 09 تیر 1390, 08:31 صبح
سلام به همه ی دوستان و با تبریک عید
من 10 تا دکمه توی فرمم دارم که 5 تای اونا رو دقیقا توی فرم ساختم و 5 تای اونا رو توی یه اسکرول باکس.
حالا اسکرول باکس رو با قرار دادم مقدار false برای خاصیت visable مخفی میکنم
حالا از کجا میتونم بفهمم چه دکمه هایی رو کاربر می بینه و کدوم ها رو نمیبینه
چرا خاصیت visable برای هر 10 تا دکمه رو true برمیگردونه
و برای تشخیص این دو گروه دکمه از هم از چه روش یا پارامتری میتونم بهره بگیرم؟
ممنون

Felony
پنج شنبه 09 تیر 1390, 12:06 عصر
تو یک حلقه اشیاء روی فرم رو برسی میکنید و هر کدوم که Parent شون با فرم برنامه یکی نبود یعنی داخل یک شئ دیگه قرار گرفتن ( مثلا همون ScrollBox ) ، برای این اشیاء علاوه بر بررسی Vivible بودن خودشون باید وضعیت Visible بودن Parent شون رو هم بررسی کنید :
var
CurrCom: TComponent;
Control: TControl;
begin
for CurrCom in Self do
if CurrCom is TButton then
begin
Control:= TControl(CurrCom);
if (Control.Parent = Self) and (Control.Visible) then
ShowMessage(Control.Name + ' is visible')
else if (Control.Parent.Visible) and (Control.Visible) then
ShowMessage(Control.Name + ' is visible');
end;
end;