PDA

View Full Version : راهنما برای هر شيء روی فرم



SQLMAN
یک شنبه 10 خرداد 1388, 11:30 صبح
سلام
شاید در بعضی برنامه ها مثل SQL2005 یا FastReport دیده باشید که با انتخاب هر گزینه یا فوکوس کردن روی یک فیلد، توضیحاتی راجع به اون گزینه یا آبجکت داخل یک پانل نمایان میشه،
من میخوام بدونم بهترین روش برای انجام این کار چیه؟
یعنی بطور ساده داخل رویداد OnEnter هر آبجکت توضیحات نوشته شده یا روش دیگه ای استفاده شده؟

ممنون

merced
دوشنبه 11 خرداد 1388, 01:32 صبح
همين كار رو مي كني
ولي براي بهتر شدن كارت از يه فايل يا StringLisrt راهنما كه خودت مي سازي كمك مي گيري. در اون فايل يه كد و متن راهنما رو ميذاري

حالا براي هر كنترل يه عدد به tag يا HelpKeyword يا HelpContext كه اين عدد متناسب با اون كد توي فايل راهنمات هست.

رويداد OnEnter همه رو به يه رويداد تخصيص مي دي و اونجا بر اساس Sender تصميم مي گيري كه كدوم متن از فايل راهنما رو نشون بدي

يه شبه كد اينجوري :



مثلاً اگز همه كنترل ها edit‌ باشه

for i := 0 to ComponentCount - 1 do
TEdit(Components[i]).OnEnter := Edit1.OnEnter ;
end;

procedure TForm1.Edit1Enter(Sender: TObject);
begin
//
if Sender is TWinControl then
s := FindHelp ( TWinControl(Sender).Tag ) ;
Lable2.Caption := s ;
end;




از خود Object Inspector هم مي توني رويدادها رو به يه رويداد نوشته شده تخصيص بدي