AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Listbox Items unselektierbar machen ohne Enabled property
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox Items unselektierbar machen ohne Enabled property

Offene Frage von "richard_boderich"
Ein Thema von richard_boderich · begonnen am 17. Jan 2008 · letzter Beitrag vom 17. Jan 2008
Antwort Antwort
Seite 2 von 2     12   
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#11

Re: Listbox Items unselektierbar machen ohne Enabled propert

  Alt 17. Jan 2008, 11:00
{Listbox1.Style := lbOwnerDrawFixed}

Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  with TListbox(Control) do
  begin
    if odSelected in State then
    begin
      Canvas.Brush.Color := Color;
      Canvas.Font.Color := Font.Color;
    end;

    Canvas.FillRect(Rect);

    Rect.Left := Rect.Left + 2;

    DrawText(Canvas.Handle,
      PChar(Items[Index]),
      -1,
      Rect,
      DT_SINGLELINE or DT_VCENTER);
  end;
end;
Falls du den Focus Rahmen noch wegbringen möchtest, wird's wohl komplizierter...
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#12

Re: Listbox Items unselektierbar machen ohne Enabled propert

  Alt 17. Jan 2008, 11:01
@API

genau darum geht es.

mfg Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#13

Re: Listbox Items unselektierbar machen ohne Enabled propert

  Alt 17. Jan 2008, 11:06
oder so?

Delphi-Quellcode:
with (Control as TListBox) do
  begin
    Canvas.Brush.Color := Color;
    Canvas.Font.Color := Font.Color;
    canvas.FillRect(rect);
    DrawText(Canvas.Handle,
      PChar(Items[Index]),
      -1,
      Rect,
      DT_SINGLELINE or DT_VCENTER);
    if odSelected in state then
      Canvas.DrawFocusRect(rect);
  end;
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#14

Re: Listbox Items unselektierbar machen ohne Enabled propert

  Alt 17. Jan 2008, 11:18
@API

Also das scheint meistens zu funktionieren, jedoch hatte ich beim Test hier 1 mal eine Doppelzeichnung des item selectframes.
Trotzdem vielen Dank für deine Hilfe.

mfG Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz