Listbox'ın dikey scrollbarını kaldırmak istiyorum. Yani satır sayısı çok olsa bile scrollbar görünmeyecek.
Aslında alt kısımda ki kod işimi görüyor.
Kod: Tümünü seç
type
TForm1 = class(TForm)
Listbox1: TListbox1;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
FListViewWndProc: TWndMethod;
procedure ListViewWndProc(var Msg: TMessage);
public
{ Private declarations }
FShowHoriz: Boolean;
FShowVert: Boolean;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ListViewWndProc(var Msg: TMessage);
begin
ShowScrollBar(Listbox1.Handle, SB_HORZ, FShowHoriz);
ShowScrollBar(Listbox1.Handle, SB_VERT, FShowVert);
FListViewWndProc(Msg); // process message
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FShowHoriz := True; // show the horiz scrollbar
FShowVert := False; // hide vert scrollbar
FListViewWndProc := Listbox1.WindowProc; // save old window proc
Listbox1.WindowProc := ListViewWndProc; // subclass
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Listbox1.WindowProc := FListViewWndProc; // restore window proc
FListViewWndProc := nil;
end;
Bileşenler
TRzChecklist
TMultilineListbox (2 Adet)
Formda üçünün yanyana durması gerekiyor. Satır fazla olunca scrollbarlar devreye giriyor.

Siz ne dersiniz ?
