Tlistbox - 200 up

Tags:    delphi

Tlistbox - 200 up

Hey uvikleren.dk brugere


Kunne godt tænke mig og vide hvordan at man kan gøre sådan at man kan rykke med en listbox kan virkelig ikke finde ud af det. Meningen til hvorfor jeg vil gøre det er at jeg har lavet en playlist til en mediaplayer og brugeren kan ikke se hele sangen (hvad det hedder) man kan rykke med selve formen for at gøre den større men det er ikke det jeg vil



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
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:
Fold kodeboks ind/udKode 


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.




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:
Fold kodeboks ind/udKode 


dette vil gøre så listbox1 fylder hele formen

Mvh,

Thomas Nielsen



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:
Fold kodeboks ind/udKode 


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.




t