मैं लाजर 0.9.30 चला रहा हूं।आप एक TStringGrid में कोशिकाओं के लिए अधिक आसानी से दिखाई देने के संकेत कैसे प्राप्त कर सकते हैं?
मेरे पास एक फॉर्म पर मानक TStringGrid
है और मैं एक अलग संकेत दिखाना चाहता हूं क्योंकि मैं अपने माउस पॉइंटर को कॉलम शीर्षक पर ले जाता हूं। मैं ऐसा करने के लिए इस कोड का उपयोग कर रहा हूं और यह काम करता है लेकिन आपको संकेत बदलने के लिए अक्सर सेल पर क्लिक करना पड़ता है, जब मैं वास्तव में इसे बदलना चाहता हूं क्योंकि माउस पॉइंटर उस पर चलता है। मेरे पास संग्रह में संग्रहीत सभी संकेत हैं जिन्हें मैं कॉलम इंडेक्स को कुंजी के रूप में उपयोग करके खोजता हूं। क्या संकेतों का अधिक आसान प्रदर्शन पाने का कोई तरीका है?
procedure TTmMainForm.SgScoutLinkMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
R, C: Integer;
begin
R := 0;
C := 0;
SgScoutLink.MouseToCell(X, Y, C, R);
with SgScoutLink do
begin
if (R = 0) then
if ((C >= 3) and (C <= 20)) then
begin
SgScoutLink.Hint := FManager.ScoutLinkColumnTitles.stGetColumnTitleHint(C-3);
SgScoutLink.ShowHint:= True;
end; {if}
end; {with}
end;
मैं लगता है कि SgScoutLink.MouseToCell कॉल अपेक्षित के रूप में काम नहीं करेगा। यह टीजीआईडी नियंत्रण से संबंधित निर्देशांक की अपेक्षा करता है, लेकिन कर्सरपॉस में वे पूर्ण स्क्रीन निर्देशांक हैं। तो SgScoutLink.ScreenToClient पहले कहा जाना चाहिए। – dummzeuch
@dummzeuch 'THintInfo.CursorPos' में' THintInfo.CursorRect' के भीतर सापेक्ष ग्राहक निर्देशांक शामिल हैं, स्क्रीन निर्देशांक नहीं –