有一个包含一些长项的ListBox.这些长项超出了ListBox的右边缘,这里有一个想法,当鼠标悬停在这些项目上时显示这些项目的提示.
我找到了一个例子:(来自http://delphi.about.com/cs/adptips2001/a/bltip0201_4.htm)
procedure TForm1.ListBox1MouseMove (Sender: TObject; Shift: TShiftState; X, Y: Integer) ;
var lstIndex : Integer ;
begin
with ListBox1 do
begin
lstIndex:=SendMessage(Handle, LB_ITEMFROMPOINT, 0, MakeLParam(x,y)) ;
if (lstIndex >= 0) and (lstIndex <= Items.Count) then
Hint := Items[lstIndex]
else
Hint := ''
end;
end;
Run Code Online (Sandbox Code Playgroud)
它工作,但每次我想查看另一个项目的提示我必须将我的鼠标从ListBox移开,然后指向另一个项目以查看其提示.有没有办法在不将鼠标移离ListBox边框的情况下查看每个项目的提示?
那么这个n00b问题,但我仍然无法弄清楚.我有单位main与程序Discard().现在我有另一个单位engine,我想从它Discard()的单位程序运行main.我有主要uses部分engine.pas.我试着打电话给程序,main.Discard()但没有好处.我究竟做错了什么?
好吧,某种n00b问题来自我.我在这里上网和类似的问题,但没有找到任何正确答案这样简单(我认为)的问题.
我有一个DBGrid.我选择一行并使用链接到此行的其他数据执行一些操作.完成后,我的DBGrid被刷新并且选择的行重置为第一个.我想获取在刷新DBGrid数据之前选择的相同行.有什么建议?