Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Icons anzeigen (https://www.delphipraxis.net/4988-icons-anzeigen.html)

Hansa 19. Mai 2003 17:43


Icons anzeigen
 
Hi,

Daniel_B war so nett, mir ein paar Icons zu schicken (30.000 Stück). Diese muß ich mir mal ansehen, habe aber keine Lust das von Hand zu machen, dann haben wir nämlich 2004.

Ich muß die irgendwohin verfrachten, wo ich scrollen kann, aber mir fällt nicht ein, wie das gehen könnte. Also mit

Code:
Findfirst (...

FindNext (...
Also das kriege ich schon hin, aber wo kann ich die alle auf einmal unterbringen :?:

Stanlay Hanks 19. Mai 2003 17:50

Warum schaust du dir die icons nicht einfach im Internet Explorer an? Da gibts glaub ich schon ab ME die Ansicht "Miniaturansicht". Da werden alle Symbole, Bilder und sowas in Thumbs abgezeigt.

Man liest sich, Stanlay

Hansa 19. Mai 2003 18:37

Es geht um 30000 Stück, die müßte ich jedesmal einzeln anklicken und ansehen. 90 % ist wahrscheinlich nicht zu gebrauchen. Viel besser wäre es, sie durchzuscrollen. Außerdem kann ich nicht glauben, daß das in Delphi ein Problem darstellt. Nur wohin mit den Dingern :?:

Tom 19. Mai 2003 18:42

Für so etwas gibt es doch schon fertige Freeware-Programme. Z.B. IrfanView.

City Light 19. Mai 2003 19:24

Ich kann dir das hier empfehlen (Glyfz Viewer)

Stanlay Hanks 19. Mai 2003 20:02

Ich glaube, du willst das umbedingt mit Delphi machen. Ich könnte mir aber vorstellen, das das entweder ne ganze menge arbeit is, oder aber ziemlich lange zum verarbeiten dauert. AUßerdem fällt mir jetz spontan keine Komponente ein, die Icons der Reihe nach anzeigt. (noch dazu so viele auf einmal). Aber du musst dir die Icons doch sowieso anschauen, und dann kannst du sie erst "aussortieren". Also is es doch egal, wie du das machst. Aber trotzdem gutes gelingen. Wenn mir was eifällt meld ich mich wieder.

Man liest sich, Stanlay

Tom 19. Mai 2003 21:11

Zitat:

Zitat von Stanlay Hanks
AUßerdem fällt mir jetz spontan keine Komponente ein, die Icons der Reihe nach anzeigt.

Spontan: TTreeView. Oder allgemeiner: alle Komponenten, die eine TImageList anzeigen können. Normalerweise zeigt der Explorer auch die Icons von ICO-Dateien an.

CalganX 19. Mai 2003 21:18

TTreeView => Wenn man es umständlich mag
TListView => Wenn man es einfach will:

Delphi-Quellcode:
i := IconList.Items.Add;
IconList.Items[i].Caption := 'Iconbeschriftung';
IconList.Items[i].ImageIndex := INDEX_IN_DER_IMAGE_LISTE;
Die Icons solltest du dann in eine ImageList laden...

Chris

Tom 19. Mai 2003 21:23

Zitat:

Zitat von Chakotay1308
TTreeView => Wenn man es umständlich mag

Wenn man es übersichtlich mag. 30000 Icon-Dateien werden sich kaum in einem Verzeichnis ohne Unterverzeichnisse befinden.

Hansa 19. Mai 2003 22:38

werde dem Hinweis von Tom nachgehen, aber es sind trotzdem nur 5 Unterverzeichnisse. Wie Stanley richtig bemerkt hat, gehts mir schon darum, so was mit Delphi zu machen.

Tom 19. Mai 2003 22:53

Annahme: Du hast ICO-Dateien. ImageList die Systemicon zuordnen:
Delphi-Quellcode:
  SysIL := SHGetFileInfo('', 0, FileInfo, SizeOf(FileInfo), SHGFI_SYSICONINDEX OR SHGFI_SMALLICON );
  ImageListe.Handle := SysIL;
Und Index für eine bestimmte ICO-Datei ermitteln
Delphi-Quellcode:
var
  FileInfo : TSHFileInfo;
     SysIL : UInt;
...
  SysIL := SHGetFileInfo(PChar( FileName ),0,FileInfo,SizeOf(TSHFileInfo),SHGFI_SYSIconIndex OR SHGFI_SMALLICON );
  if SysIL <> 0 then Result := FileInfo.IIcon;

Hansa 19. Mai 2003 23:03

wo ist denn die ImageList :?:

Tom 19. Mai 2003 23:06

Zitat:

Zitat von Hansa
wo ist denn die ImageList :?:

1) Versteckt, ich habe sie ImageListe genannt ...
2) Result gibt im zweiten Teil die Nummer der Icons zurück, praktisch also ImageIndex.

Hansa 19. Mai 2003 23:49

Zitat:

Zitat von Tom
1) Versteckt, ich habe sie ImageListe genannt ...

na toll.

Es sind nicht nur *.ICO

Dax 20. Mai 2003 06:22

Hi hansa!

Mach doch alle in eine TImageList und weise sie mit einem Timer einem SppedButton zu, der dann den Timer anhält bzw. weiterlaufen lässt.

Btw: könntest du die Dinger mal als .zip posten??

MfG gecko2000


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz