Prikker rundt om en markeret linie

Tags:    delphi

Hej alle

Nogen vil måske mene det er en petitesse, men... Jeg kunne godt tænke mig at fjerne de prikker der kommer rundt om en linie når den er markeret. Situationen kan f.eks. ses hvis man markerer en linie i en TListView. Jeg ved det kan lade sig gøre i javascript ved hjælp af "this.blur()". Er der nogen der ved hvordan man gør det tilsvarende i Delphi?

Karin[Redigeret d. 04/02-03 17:19:53 af Karin Bondgaard][Redigeret d. 04/02-03 17:20:43 af Karin Bondgaard]



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato


Hmm, tja det er en meget god pointe du har der, jeg havde ikke tænkt på at den rent faktisk kunne have en funktion... synes bare den er grim :-)

Karin


Ved nærmere eftertanke vil jeg tro at du kan lave det ved at sætte OwnerDraw til true, og derefter selv tegne dine items i onCustomDrawItem, noget i stil med:

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
BCol, FCol: TColor;
begin
if cdsSelected in state then
begin
BCol := clHighLight;
FCol := clWhite;
end
else
begin
BCol := clWhite;
FCol := clBlack;
end;

sender.canvas.Brush.Color := BCol;
sender.canvas.FillRect(Item.DisplayRect(drLabel));
sender.canvas.Font.Color := FCol;
sender.canvas.TextOut(Item.Left + 2, Item.Top , Item.Caption);
defaultdraw := false;

end;

Men det giver selvf. ikke mening hvis du bruger multiselect

/data



Hej alle

Nogen vil måske mene det er en petitesse, men... Jeg kunne godt tænke mig at fjerne de prikker der kommer rundt om en linie når den er markeret. Situationen kan f.eks. ses hvis man markerer en linie i en TListView. Jeg ved det kan lade sig gøre i javascript ved hjælp af "this.blur()". Er der nogen der ved hvordan man gør det tilsvarende i Delphi?

Karin[Redigeret d. 04/02-03 17:19:53 af Karin Bondgaard][Redigeret d. 04/02-03 17:20:43 af Karin Bondgaard]



Det tror jeg ikke du kan. Sagen er den at den blå bjælke viser hvilke der er valgt, mens den stiplede linie er en slags "cursor". Du kan se det ved at slå Multiselect til. Hvis du bruger piletasterne til at bevæge dig rundt i listen følges de to ad, men hvis du holder Ctrl nede og bruger piletasterne, er det kun den stiplede linie der bevæger sig. Du kan så selecte items med mellemrumstasten. Man kan så overveje om der burde være en mulighed for at slå det fra når multiselect er false, men sådan er det åbenbart ikke (jeg kan i hvert fald ikke finde en funktion til det)

/data




Det tror jeg ikke du kan. Sagen er den at den blå bjælke viser hvilke der er valgt, mens den stiplede linie er en slags "cursor". Du kan se det ved at slå Multiselect til. Hvis du bruger piletasterne til at bevæge dig rundt i listen følges de to ad, men hvis du holder Ctrl nede og bruger piletasterne, er det kun den stiplede linie der bevæger sig. Du kan så selecte items med mellemrumstasten. Man kan så overveje om der burde være en mulighed for at slå det fra når multiselect er false, men sådan er det åbenbart ikke (jeg kan i hvert fald ikke finde en funktion til det)

/data


Hmm, tja det er en meget god pointe du har der, jeg havde ikke tænkt på at den rent faktisk kunne have en funktion... synes bare den er grim :-)

Karin



t