AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ListView, breite ändern - Items neu zeichnen.
Thema durchsuchen
Ansicht
Themen-Optionen

ListView, breite ändern - Items neu zeichnen.

Ein Thema von shifter · begonnen am 3. Okt 2006 · letzter Beitrag vom 3. Okt 2006
Antwort Antwort
Seite 1 von 2  1 2      
shifter

Registriert seit: 2. Jan 2005
175 Beiträge
 
Delphi 2007 Enterprise
 
#1

ListView, breite ändern - Items neu zeichnen.

  Alt 3. Okt 2006, 10:45
Hi,

ich suche eine möglichkeit bei ListView die Items neu zu zeichenn wenn ich die Breite des
ListView ändere. Der auslöser dazu wird es OnResize aber wie bekomme ich die einträge neu gezeichnent, bzw. neu eingeordnet ?

habt ihr ne idee ?


gruss
seba
  Mit Zitat antworten Zitat
bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#2

Re: ListView, breite ändern - Items neu zeichnen.

  Alt 3. Okt 2006, 10:56
gibt es nicht auch ein OnCustomDraw?
  Mit Zitat antworten Zitat
shifter

Registriert seit: 2. Jan 2005
175 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: ListView, breite ändern - Items neu zeichnen.

  Alt 3. Okt 2006, 10:59
Hi,

ja es gibt es auch, aber wie bewege ich ihn dazu um die sachen neu zu ordnen ?


gruss
seba
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: ListView, breite ändern - Items neu zeichnen.

  Alt 3. Okt 2006, 11:00
Hi,

mit ListView1.Repaint ... vielleicht

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
shifter

Registriert seit: 2. Jan 2005
175 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: ListView, breite ändern - Items neu zeichnen.

  Alt 3. Okt 2006, 11:09
ne, ne da gerät er doch in eine entlose schleife, oder ?
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: ListView, breite ändern - Items neu zeichnen.

  Alt 3. Okt 2006, 12:06
Versuchs einfach mal ... oder du könntest die WM_RESIZE abfangen und dann Repainten ...

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
shifter

Registriert seit: 2. Jan 2005
175 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: ListView, breite ändern - Items neu zeichnen.

  Alt 3. Okt 2006, 12:17
Das erste habe ich versucht, er hängt sich auf.

Aber ich bin nicht der erste der ListView verwenden möchte, es muss doch eine lösung dafür geben ? Der MS Explorer wenn mann ihm die grösse ändert verschiebt doch auch die sachen und passt auf die "client" grösse alls an.

gruss
seba
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: ListView, breite ändern - Items neu zeichnen.

  Alt 3. Okt 2006, 13:18
Moin Seba,

irgendwie verstehe ich Dein Problem nicht so ganz.

Zitat von shifter:
Der MS Explorer wenn mann ihm die grösse ändert verschiebt doch auch die sachen und passt auf die "client" grösse alls an.
Was wird verschoben und angepasst

Um Endlosschleifen bei manuellen Änderungen zu unterbinden kann man übrigens einfach die jeweils betroffene Eigenschaft deaktivieren, und anschliessend wieder aktivieren.
Beispiel:

Delphi-Quellcode:
var
  neSave : TNotifyEvent;

begin
  neSave := CheckBox1.OnCheck;
  try
    CheckBox1.OnCheck := nil;
    CheckBox1.Checked := true;
  finally
    CheckBox1.OnCheck := neSave;
  end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
shifter

Registriert seit: 2. Jan 2005
175 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: ListView, breite ändern - Items neu zeichnen.

  Alt 3. Okt 2006, 15:05
Irgend wie versteht mich hier niemand .

Wenn ich Explorer in einder stelle wo ich Bilder habe öffne mit ansicht z.B. Mittelgrosse symbole,
bekomme ich zu sehen Thumbnails mit beschriftung. Wenn ich das Fenster jetzt vergrössere oder verkleinere, passen sich die Items den Fenster an ( ministens von der breite ).
Also wenn Fensterbreite ist X -> passen da z.B. 5 Objekte in der breite. Wenn ich jetzt das Fenster vergrössere X+200px Passen jetzt z.B. 7 Objekte in der Breite.

Und das möchte ich hinkriegen.

gruss
seba
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: ListView, breite ändern - Items neu zeichnen.

  Alt 3. Okt 2006, 17:12
Moin seba,

ach so, Du verwendest ViewStyle vsIcon, daran hatte ich ja nun gar nicht gedacht

Allerdings:
Bei mir werden die, je nach Grösse des ListView, automatisch neu angeordnet.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:24 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