SendMessage(panel2.Handle,LB_SETHORIZONTALEXTENT, panel2.Width+30, 0);
这个方式可以给LISTBOX添加横向滚动条,但是换成PANEL就不行了,为什么,论坛中说是可以的,但是我就是实现不了,请教是什么原因,我用的是DELPHI7,谢谢。顺便再问一下,想学习VCL控件开发,有没有比较合适的书籍?
这个方式可以给LISTBOX添加横向滚动条,但是换成PANEL就不行了,为什么,论坛中说是可以的,但是我就是实现不了,请教是什么原因,我用的是DELPHI7,谢谢。顺便再问一下,想学习VCL控件开发,有没有比较合适的书籍?
还是可以实现panel2.Width+30的。
Panel: TPanel;
ButtonDemo: TButton;
procedure FormCreate(Sender: TObject);
procedure ButtonDemoClick(Sender: TObject);
private
OldPanelWndProc: TWndMethod;
procedure NewPanelWindowProc(var Message: TMessage);
public
{ Public declarations }
end;var
FormDemo: TFormDemo;implementation{$R *.dfm}procedure TFormDemo.FormCreate(Sender: TObject);
begin
OldPanelWndProc := Panel.WindowProc;
Panel.WindowProc := NewPanelWindowProc;
end;procedure TFormDemo.NewPanelWindowProc(var Message: TMessage);
begin
if Message.Msg = LB_SETHORIZONTALEXTENT then
Panel.Width := Message.WParam;
OldPanelWndProc(Message);
end;procedure TFormDemo.ButtonDemoClick(Sender: TObject);
begin
SendMessage(Panel.Handle,LB_SETHORIZONTALEXTENT, Panel.Width+30, 0);
end;