PDA

View Full Version : سوال: اشکال در گرفتن Active Control



Silent Ninja
دوشنبه 31 تیر 1387, 19:34 عصر
سلام

فرض کنید توی برناممون 20 تا کنترل Image و 3 تا Button داریم که هرکدوم از اینا توی Tag اشون یه شماره هست حالا من میخوام هروقت روی اینا کلیک شد مثلا تگ اون کنترل رو توی یه Messagebox نشون بده - - - مشکل اینجاس که روی Button ها نشون میده اما Image ها کار نمیکنه البته من این کار رو با Form.ActiveControl.Tag انجام میدم - روی Image ها که کلیک میشه Tag کنترل کلیک شده قبلی رو نشون میده مثلا اگه ما اول روی یکی از Button ها کلیک کنیم شماره 5 رو Message بده بعد روی یکی از Image ها کلیک کنیم دوباره تگ کنترل قبلی یعنی 5 رو نشون میده !!! :متفکر:

ممنون میشم کمک کنید :قلب:

Hamid_PaK
دوشنبه 31 تیر 1387, 19:47 عصر
یه روال تعریف کن :


procedure TForm1.Image1Click(Sender: TObject);
begin
with TImage( Sender ) do begin
ShowMessage(Format('Image Tag: %d', [Tag]));
end;
end;

و برای همه OnClick کامپوننت های Image تعریف کن.

یا حق ...

vcldeveloper
سه شنبه 01 مرداد 1387, 01:55 صبح
البته من این کار رو با Form.ActiveControl.Tag انجام میدم
از کد بالا استفاده کنید، فقط بجای TImage بنویسید TComponent تا برای همه کامپوننت ها، چه دکمه، چه تصویر، چه هر چیز دیگه درست کار کنه.