一个listView在Report形式下,我在网格中画了一个ComboBox。
如何拉动ListView的ScrollBar
使这个ComboBox跟着移动。
最好有源代码!谢谢!
如何拉动ListView的ScrollBar
使这个ComboBox跟着移动。
最好有源代码!谢谢!
解决方案 »
- socket超时设置怎样设置?
- 求救,请进来指教!
- 急
- 如何将数据库中的数据以文本的形式(*.txt)输出?
- 一个关于TIDUDPSERVER组件的问题
- 大家好,我用Wise制作安装程序时遇到一些问题,请大家进来看看,谢谢!
- 当数据结构变化时,delphi无法启动?
- 请问各位大虾:datasetExport是什么控件?还有alstatusbar又是什么系列控件?我查了半天查不出来!
- 关于delphi DataModule 数据库类封装的问题?
- 高分(48只有这么多了)请教,如何访问通过专线连接的数据库
- 奇怪,显示Sybase中的汉字为乱码?
- 把一个DBGRID的东西复制到另外的一个DBGRID的方法是怎样的,我是要把A DBGRID的数据拖拉复制到 B DBGRID后入库的
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
ComboBox1.Top:=ListView1.Items[4].Top;
end;
这段代码为何不画combobox
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if State=[cdsSelected] then
ComboBox1.Top:=ListView1.Items[4].Top;
end;我是在ItemSelect里做的,但无法控制ScrollBar的事件,
WMVScroll和WMHSCroll截获的只是窗体的ScrollBar的消息,listview的WM_VSROLL和
WM_HSROLL根本就截获不到,如何才能截获到ListView的这两个消息。Application.onMessage
也不能截获,最好有源代码,谢谢
......
private
{ Private declarations }
procedure WMVScroll(var Message: TWMVScroll); message WM_VSCROLL;
procedure WMHSCroll(var Message: TWMHSCroll); message WM_HSCROLL;
procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
{if Msg.message = WM_VSCROLL then
begin
{重画代码}
end;}
end;procedure TForm1.WMHSCroll(var Message:TWMHSCroll);
begin
{重画代码}
Inherited;
end;procedure TForm1.WMVScroll(var Message: TWMVScroll);
begin
{重画代码}
Inherited;
end;procedure TForm1.lvSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
var
r: TRect;
begin
if lv.Tag<>item.Index then
begin
r:=Item.DisplayRect(drBounds);
cmb.Parent:=LV;
cmb.Left:=r.Left+lv.Columns[0].Width+2;
cmb.Top:=r.Top;
cmb.Width:=lv.Columns[1].Width+2;
cmb.Text:=item.SubItems[0];
Caption:=caption+';'+IntToStr(Item.Index);
Lv.Tag:=Item.Index;
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
//Application.OnMessage:=AppMessage;
end;