jeg ved ikke helt hvad du mener, men du kan flytte en listbox rundt på formen ved at ændre dens Left og Top properties
f.eks:
Listbox1.Left := 0;
Listbox1.Top := 0;
ListBox1.Height := Self.Height;
Listbox1.Width := Self.Width;
dette vil gøre så listbox1 fylder hele formen
Mvh,
Thomas Nielsen
det var ikke det jeg mente. Det jeg mente var at brugeren af programmet skulle have mulighed for at trække rundt i borderen, men jeg ved ikke hvilken proberty det er som at jeg skal stille på. Det er jo irreterende hvis man ikke kan se hvad sangen hedder og derved skal bruge mere plads.
Det nemmeste du kan gøre er at lave din egen klasse baseret på TListBox og der i skal du "fange" WM_NCHITTEST eventet for at fortælle controllen at den skal resize.
Her er en kodestump som gør det du gerne vil ha' :
<CODE>
type
TMyListBox = class(TListBox)
private
procedure WMNCHitTest(var AMsg : TWMNCHitTest); message WM_NCHITTEST;
end;
//Du kan selv rette til så du kan få en størrer eller mindre "border" hvor brugeren kan
//resize'e indefor.
const
MLB_BORDER_WIDTH = 4;
procedure TMyListBox.WMNCHitTest(var AMsg : TWMNCHitTest);
var
P : TPoint;
begin
P := ScreenToClient(Point(AMsg.XPos, AMsg.YPos));
if (P.X <= Width) and (P.X >= (Width-MLB_BORDER_WIDTH)) then
AMsg.Result := HTRIGHT
else
inherited;
end;
</CODE>
Så let kan det gøres :-)
Du kan dog nemt udvide funktionen så du kan resize i alle retninger.
God fornøjelse
Michael.