Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi non-Vcl Programm mit Listbox (https://www.delphipraxis.net/196344-non-vcl-programm-mit-listbox.html)

KodeZwerg 14. Mai 2018 18:56

non-Vcl Programm mit Listbox
 
Hallo Leute, ich würde gerne ein kleines Hobby-Projekt starten wollen aber mir fehlt da noch etwas Starthilfe.
Ich würde gerne eine non-Vcl Anwendung programmieren mit einer Listbox und einem Knopf.
Ein paar informationen zu diesem Thema habe ich auch schon gefunden, so das ich in der Lage bin über eine .res Datei einen Dialog abzurufen der eine Listbox und einen Knopf darstellt.
Beispiele um auf den Knopf zu reagieren habe ich auch verstanden und komme damit klar.
Aber die Listbox, mit der komme ich nicht klar.
Ich würde gerne so etwas in der Art haben wollen: Eine Listbox mit Überschrift aufgeteilt in 2 Columns wo ich in Column 1 ein Icon + "String" ausgebe und Column 2 nur ein "String". Kann mir dabei bitte jemand helfen wie ich das hinbekomme? Ich schaffe es nichtmal einen einzigen Eintrag zu erzeugen.

KodeZwerg 14. Mai 2018 19:27

AW: non-Vcl Programm mit Listbox
 
Ich habe es nun umgestellt, von .res direkt in den Hauptcode.

So sieht es bis jetzt aus:
Delphi-Quellcode:
program DStart;

uses
  SysUtils, Windows, Messages, ShellApi, Vcl.Dialogs;

const
  ClassName = 'WndClass';
  AppName = 'DStart';
  WindowWidth = 450;
  WindowHeight =450;

  FontName = 'Verdana';
  FontSize = -12;

const
  IDC_BUTTON = 1;
  IDC_LBITEMS = 2;

var
  hWndListBox: DWORD;
  StdFont: hFont;

function WndProc(hWnd: HWND; uMsg: UINT; wParam: wParam; lParam: LParam):
  lresult; stdcall;
var
  x, y : integer;
  dwEntriesRead: DWORD;
  i: integer;
begin
  Result := 0;
  case uMsg of
    WM_CREATE:
      begin
        x := GetSystemMetrics(SM_CXSCREEN);
        y := GetSystemMetrics(SM_CYSCREEN);
        MoveWindow(hWnd, (x div 2) - (WindowWidth div 2),
          (y div 2) - (WindowHeight div 2),
          WindowWidth, WindowHeight, true);

       hWndListBox := CreateWindowEx(WS_EX_CLIENTEDGE, 'ListBox', 'ListBox',
          WS_VISIBLE or WS_CHILD or LBS_SORT or LBS_STANDARD,150, 75, 180, 100, hWnd, IDC_LBITEMS, hInstance,
          nil);

        StdFont := CreateFont(FontSize, 0, 0, 0, 0, 0, 0, 0, ANSI_CHARSET,
          OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
          DEFAULT_PITCH, FontName);
        if StdFont <> 0 then begin
          SendMessage(hWndListBox, WM_SETFONT, Integer(StdFont), Integer(true));
        end;

      end;
    WM_DESTROY:
      PostQuitMessage(0);
    WM_COMMAND:
      begin
        if hiword(wParam) = BN_CLICKED then
          case loword(wParam) of
            IDC_BUTTON:
              begin
                // do
              end;
          end;
      end;
  else
    Result := DefWindowProc(hWnd, uMsg, wParam, lParam);
  end;
end;

var
  wc: TWndClassEx = (
    cbSize         : SizeOf(TWndClassEx);
    Style          : CS_HREDRAW or CS_VREDRAW;
    lpfnWndProc    : @WndProc;
    cbClsExtra     : 0;
    cbWndExtra     : 0;
    hbrBackground  : COLOR_BTNFACE+1;
    lpszMenuName   : nil;
    lpszClassName  : ClassName;
    hIconSm        : 0;
  );
  msg: TMsg;

begin
  wc.hInstance := hInstance;
  wc.hIcon     := LoadIcon(hInstance, MAKEINTRESOURCE(100));
  wc.hCursor   := LoadCursor(0, IDC_ARROW);
  RegisterClassEx(wc);
  CreateWindowEx(0, ClassName, AppName, WS_CAPTION or WS_VISIBLE or WS_SYSMENU
    or WS_MINIMIZEBOX, integer(CW_USEDEFAULT),
    integer(CW_USEDEFAULT), WindowWidth, WindowHeight, 0, 0, hInstance, nil);
  while GetMessage(msg,0,0,0) do
  begin
    TranslateMessage(msg);
    DispatchMessage(msg);
  end;
  ExitCode := msg.wParam;
end.
Doch wie fülle ich Listbox, und wie werden daraus 2 Columns?

EWeiss 14. Mai 2018 19:53

AW: non-Vcl Programm mit Listbox
 
Du willst Colums in einer ListBox erstellen ohne die dafür benötigten Flags zu setzen, wie das?
Delphi-Quellcode:
LBS_NOTIFY or LBS_MULTICOLUMN


Du willst dir das wirklich antun?
Such mal im Forum nach dem Link von Luckie's Tutorials Win32 API.

gruss

KodeZwerg 14. Mai 2018 20:00

AW: non-Vcl Programm mit Listbox
 
Wenn ich irgendwann irgendwo ein Beispiel oder eine Erklärung finde werde ich bestimmt Wissen was Du damit meinst ;)
Ist halt mein erster Versuch was in dieser Richtung zu Unternehmen, obs gut aus geht werd ich bald Wissen.

EWeiss 14. Mai 2018 20:03

AW: non-Vcl Programm mit Listbox
 
Zitat:

Zitat von KodeZwerg (Beitrag 1402092)
Wenn ich irgendwann irgendwo ein Beispiel oder eine Erklärung finde werde ich bestimmt Wissen was Du damit meinst ;)
Ist halt mein erster Versuch was in dieser Richtung zu Unternehmen, obs gut aus geht werd ich bald Wissen.

Delphi-Quellcode:
hWndListBox := CreateWindowEx(WS_EX_CLIENTEDGE, 'ListBox', 'ListBox',
  WS_VISIBLE or WS_CHILD or LBS_SORT or LBS_STANDARD,150, 75, 180, 100, hWnd, IDC_LBITEMS, hInstance,
  nil);
LBS_SORT or LBS_STANDARD = Window Style Flags

Zu den Windows Stylen addieren?
Ohne das setzen des Window Style Flag LBS_MULTICOLUMN kann man keine Columns zu einer ListBox addiern.
Aber wie gesagt suche nach den Tutorials von Luckie.

gruss

KodeZwerg 14. Mai 2018 20:10

AW: non-Vcl Programm mit Listbox
 
Zitat:

Zitat von EWeiss (Beitrag 1402094)
Aber wie gesagt suche nach den Tutorials von Luckie.

Danke, bin fündig geworden, sehr cooles PDF, viel zu blättern hehehe
Ich beende hier erstmal und lese mich da durch.

KodeZwerg 14. Mai 2018 22:27

AW: non-Vcl Programm mit Listbox
 
Ohh mann, das ist doch ganz schön komplex wenn man per Code was mit einer Listbox machen will (bzw generell fast alles).
Da braucht man ja für jede "normale" funktion eine eigene Routine (Items.Add Items.Remove usw)
Zitat:

Zitat von EWeiss (Beitrag 1402091)
Du willst dir das wirklich antun?

Nun verstehe ich Deine Aussage mehr! :)

Aber ich komme klar, bin auf den Richtigen Weg und finde es Spanned ein neues Gebiet zu erforschen. Wenn ich mir den Code so anschaue finde ich nach und nach mehr und mehr gefallen an solch eine Art der Programmierung.
Mir kommt alles irgendwie logischer und klarer vor da ich gezwungener maßen den kompletten Code aufgedeckt sehe.

Noch bin ich ehrlich gesagt vom Tokyo Compiler enttäuscht was die Dateigröße betrifft, aus schlapp 3mb mit VCL macht der non-VCL 2mb. Die Win32 Demos von Luckie sind kleiner als 100kb (was auch eines meiner Ziele ist) wenn die neu Compiliert werden ist keine kleiner als 2mb, da überlege ich was ich falsch mache oder ob Tokyo für so etwas ungeeignet ist.
Wenn ich Beschreibungen lese wurde bei Erstellung Delphi 5-7 genommen, kann sich das in +2mb extra Dateigröße auswirken?
Ich dachte das gerade bei non-Vcl immer kleine Dateien heraus kommen, vielleicht gibt es ja für Tokyo noch ein Switch der non-Vcl so kompiliert wie das alte Delphi = ganz kleine Dateien.

EWeiss 14. Mai 2018 23:48

AW: non-Vcl Programm mit Listbox
 
Zitat:

Wenn ich Beschreibungen lese wurde bei Erstellung Delphi 5-7 genommen, kann sich das in +2mb extra Dateigröße auswirken?
Verstehe die frage nicht.. wenn du fragst ob der Compiler von Tokyo im Gegensatz zu D5>D7 größere Build's generiert? Ja.
Und da kannst auch nichts dran ändern.

Aber sich darüber aufregen bringt nichts.
Es ist halt so wie es ist, wir haben doch alle Terrabyte in Masse was zählen da schon ein paar Byte mehr oder weniger.
Wegwerfgesellschaft halt.

Zitat:

vielleicht gibt es ja für Tokyo noch ein Switch der non-Vcl so kompiliert wie das alte Delphi
Vergiss es..

Zitat:

Mir kommt alles irgendwie logischer und klarer vor da ich gezwungener maßen den kompletten Code aufgedeckt sehe.
Ja es ist halt einfach wenn man nur eine Komponente auf die Form klatscht.
Die meisten wissen aber gar nicht was sich alles dahinter verbirgt.

erstelle das OwnerDraw ListView nur mit API mitteln dann weist du was du getan hast. 50KB > 1700 Zeilen.

gruss

KodeZwerg 15. Mai 2018 01:47

AW: non-Vcl Programm mit Listbox
 
Zitat:

Zitat von EWeiss (Beitrag 1402101)
Verstehe die frage nicht..

Du hast Frage beantwortet, Danke!
Zitat:

Zitat von EWeiss (Beitrag 1402101)
Aber sich darüber aufregen bringt nichts.

Aufgeregt bin ich nicht, Emba wird schon Wissen was alles in eine .exe gehört und was nicht, da Vertrau ich denen mal zu 100% :-)
Zitat:

Zitat von EWeiss (Beitrag 1402101)
Vergiss es..

Hiermit getan.
Zitat:

Zitat von EWeiss (Beitrag 1402101)
Wegwerfgesellschaft halt.

Vielleicht ist meine Logik da ja falsch, mir ging es nicht darum Speicherplatz zu sparen sondern die Ladezeit mit Delphi Mitteln auf ein minimum zu reduzieren, kleinere .exe = schnellerer Ladevorgang
Ich werde das gleich mal mit Luckies coolen Beispielen testen, alter Delphi Build mit kleiner .exe gegen exakt gleiches Projekt mit Tokyo compiliert, mal schauen ob das beim Laden einen Messbaren Unterschied ergibt.
Zitat:

Zitat von EWeiss (Beitrag 1402101)
Ja es ist halt einfach wenn man nur eine Komponente auf die Form klatscht.

Ich Verstehe was Du meinst wobei ich tendenziell eher per runtime Sachen erstelle als wie Du es Beschreibst.
Aber zum erlernen was eine Komponente so alles kann um es dann per runtime umzusetzen, das mache ich schon so.
Zitat:

Zitat von EWeiss (Beitrag 1402101)
erstelle das OwnerDraw ListView nur mit API mitteln dann weist du was du getan hast.

Ja Ok, das was ich da sehe werde ich aus Eigener Kraft eh nie hinbekommen also probiere ich es erst gar nicht.
Das übersteigt meine Grenzen bei weitem, ich bin schon happy wenn ich es generell erstmal gebacken bekomme, aber vs Deine Deluxe-Listbox, so mit "alles selfmade GFX"+"special shiny FX"+was auch immer die noch so kann wenn man Sie bedient, dagegen stink ich zu 100% ab :)

edit
Zitat:

Zitat von EWeiss (Beitrag 1402101)
erstelle das OwnerDraw ListView nur mit API mitteln dann weist du was du getan hast.

Das spornt mich jetzt irgendwie an, Herausforderung angenommen, mal sehen wie viel Wochen ich brauche um das auch nur ansatzweise hinzubekommen.

EWeiss 15. Mai 2018 02:29

AW: non-Vcl Programm mit Listbox
 
Zitat:

Das spornt mich jetzt irgendwie an, Herausforderung angenommen, mal sehen wie viel Wochen ich brauche um das auch nur ansatzweise hinzubekommen.
Na dann viel Spaß dabei ;)
Zitat:

Ich werde das gleich mal mit Luckies coolen Beispielen testen, alter Delphi Build mit kleiner .exe gegen exakt gleiches Projekt mit Tokyo compiliert, mal schauen ob das beim Laden einen Messbaren Unterschied ergibt.
Davon kannst du ausgehen > 2MB
Zitat:

aber vs Deine Deluxe-Listbox
ListView ;)

gruss

Luckie 15. Mai 2018 12:37

AW: non-Vcl Programm mit Listbox
 
Zitat:

Zitat von KodeZwerg (Beitrag 1402088)
Ich würde gerne so etwas in der Art haben wollen: Eine Listbox mit Überschrift aufgeteilt in 2 Columns wo ich in Column 1 ein Icon + "String" ausgebe und Column 2 nur ein "String".

Du willst keine Listbox, du willst ein Listview. ;)

Und zu meinen Tutorials, es macht Sinn sie Kapitel für Kapitel durch zu arbeiten, da die Kapitel aufeinander aufbauen.

EWeiss 15. Mai 2018 12:46

AW: non-Vcl Programm mit Listbox
 
Zitat:

Zitat von Luckie (Beitrag 1402137)
Zitat:

Zitat von KodeZwerg (Beitrag 1402088)
Ich würde gerne so etwas in der Art haben wollen: Eine Listbox mit Überschrift aufgeteilt in 2 Columns wo ich in Column 1 ein Icon + "String" ausgebe und Column 2 nur ein "String".

Du willst keine Listbox, du willst ein Listview. ;)

Und zu meinen Tutorials, es macht Sinn sie Kapitel für Kapitel durch zu arbeiten, da die Kapitel aufeinander aufbauen.

Nicht unbedingt.
Ich kann ein Icon sowohl auch Columns einer ListBox hinzufügen.
Das sollte kein Problem sein.

gruss

Luckie 15. Mai 2018 13:11

AW: non-Vcl Programm mit Listbox
 
Natürlich kann man vor einem Listboxeintrag ein Icon darstellen. Aber er hat noch was von einem "String" geschrieben und dann sind wir bei einem Listview. Eine Listbox kennt keine Spalten.

Zitat:

Column 1 ein Icon + "String" ausgebe und Column 2 nur ein "String".
Natürlich könnt man mit Tabulatoren oder Leerzeichen Spalten simulieren, aber wenn man dann mal mehr will (Sortieren, Einfärben, usw.), stößt man schnell an die Grenze und wünscht sich, man hätte gleich einen Listview genommen.

EWeiss 15. Mai 2018 13:12

AW: non-Vcl Programm mit Listbox
 
Zitat:

Natürlich könnt man mit Tabulatoren oder Leerzeichen Spalten simulieren, aber wenn man dann mal mehr will (Sortieren, Einfärben, usw.), stößt man schnell an die Grenze und wünscht sich, man hätte gleich einen Listview genommen.
Das ist richtig ;)

gruss

KodeZwerg 15. Mai 2018 13:58

AW: non-Vcl Programm mit Listbox
 
Ihr beide bringt mich zum grinsen, Danke dafür!:thumb:
Also ich meinte von Anfang an eine Listview, war mir nur nicht bewusst das man eine erstellen kann, ich fand nur Listbox unter den reservierten Control-Namen, dank mehr Lesen weiß ich nun dass das auch geht bzw auch Vcl kann eingebunden werden wenn man will.
Ich bastel mir exemplarisch so etwas wie ein Verzeichniss-Lister im Report-Stil, deswegen plus Icon.
Wenn ich das hinbekommen und alles begriffen habe bin ich schon fast am Ziel, bis auf die Gfx Challenge, oje :)
Man muss ja tierisch aufpassen wo man was macht und das auch alle Events berücksichtigt werden dessen Code man schreiben muss, aber macht mir Spaß sich da durchzukämpfen.

KodeZwerg 15. Mai 2018 14:13

AW: non-Vcl Programm mit Listbox
 
Zitat:

Zitat von Luckie (Beitrag 1402137)
Und zu meinen Tutorials, es macht Sinn sie Kapitel für Kapitel durch zu arbeiten, da die Kapitel aufeinander aufbauen.

Ja das mache ich so, Danke für Deine Arbeit mit den PDFs, die lesen sich echt gut und nachvollziehbar! Stückchenweise lernt man dazu, sehr gut gemacht:thumb:

Luckie 15. Mai 2018 14:22

AW: non-Vcl Programm mit Listbox
 
Das Listview Beispiel listet Dateien aus einem Verzeichnis mit Icons auf, wenn ich mich recht erinnere.

KodeZwerg 15. Mai 2018 14:36

AW: non-Vcl Programm mit Listbox
 
Wenn ich nicht weiterkommen sollte suche ich nach Listview Beispiel okie, noch hat mich mein Ehrgeiz gepackt es alleine (ok, plus PDF bei Kapitel 3.7/Topic Listview +MSDN) herauszufinden, Danke! Da weiß ich wenigstens das ich Schuld an allem habe ^_^
edit
Jetzt hat es erst klick gemacht, Du meintest wahrscheinlich das was Dein PDF beschreibt.:duck:

MichaelT 15. Mai 2018 15:02

AW: non-Vcl Programm mit Listbox
 
Es gab mal Delphi Controls die nicht auf der VCL basierten. Weißt du wer die entwickelt hat und ob es die noch gibt? Zu Zeiten vor D7 als die EXEn noch schlank waren.

Ich denke dort könnte der Codezwerg einiges abkupfern sofern die noch verfügbar. Ich habe die Controls leider nicht mehr gefunden. Diese Comps basieren eben nicht auf der VCL und konnten auch nicht in die IDE installiert werden. Die waren blankes Windows GUI ...


EWeiss 15. Mai 2018 15:21

AW: non-Vcl Programm mit Listbox
 
Zitat:

Zitat von KodeZwerg (Beitrag 1402169)
Wenn ich nicht weiterkommen sollte suche ich nach Listview Beispiel okie, noch hat mich mein Ehrgeiz gepackt es alleine (ok, plus PDF bei Kapitel 3.7/Topic Listview +MSDN) herauszufinden, Danke! Da weiß ich wenigstens das ich Schuld an allem habe ^_^
edit
Jetzt hat es erst klick gemacht, Du meintest wahrscheinlich das was Dein PDF beschreibt.:duck:

Lieber Mann da sind doch alle Samples, warum also suchen.
http://michael-puff.de/Programmierung/Delphi/Tutorials/

gruss

Luckie 15. Mai 2018 21:22

AW: non-Vcl Programm mit Listbox
 
Aber Achtung. Die sind alle noch mit D7 und dem BDS 2006 erstellt. Also kein Unicode. Eventuell muss man für neuere IDEs die String Datentypen anpassen.

KodeZwerg 16. Mai 2018 08:02

AW: non-Vcl Programm mit Listbox
 
Danke für die Warnung! Den Aufreger mit der Dateigröße ist nun auch behoben, also Tokyo kann auch <100kb Dateien erstellen, der Fehler war, wie so oft, vor dem Rechner. (uses Dialogs resultiert in +2mb)
Mein Rohskelett (im lahmen Windows-Look) ist bereits funktionstüchtig. Ich werde das ganze nochmal umschreiben bis es mir gefällt, momentan alles in einer .dpr Datei, ich blätter mir einen Wolf.
Hab noch was lustiges herausgefunden, schonmal eine non-Vcl Anwendung so mit Vcl gefüllt?
(Pseudo-Code)
Delphi-Quellcode:
uses
  Windows,
  Messages,
  Buttons, StdCtrls;

var
  abtn:TButton ;

begin
  // abtn := TButton.Create(nil) ;
  // abtn.ParentWindow := hEdit;
  abtn := TButton.CreateParented(hEdit)
end

EWeiss 16. Mai 2018 08:21

AW: non-Vcl Programm mit Listbox
 
Zitat:

Zitat von KodeZwerg (Beitrag 1402233)
Danke für die Warnung! Den Aufreger mit der Dateigröße ist nun auch behoben, also Tokyo kann auch <100kb Dateien erstellen, der Fehler war, wie so oft, vor dem Rechner. (uses Dialogs resultiert in +2mb)
Mein Rohskelett (im lahmen Windows-Look) ist bereits funktionstüchtig. Ich werde das ganze nochmal umschreiben bis es mir gefällt, momentan alles in einer .dpr Datei, ich blätter mir einen Wolf.
Hab noch was lustiges herausgefunden, schonmal eine non-Vcl Anwendung so mit Vcl gefüllt?
(Pseudo-Code)
Delphi-Quellcode:
uses
  Windows,
  Messages,
  Buttons, StdCtrls;

var
  abtn:TButton ;

begin
  // abtn := TButton.Create(nil) ;
  // abtn.ParentWindow := hEdit;
  abtn := TButton.CreateParented(hEdit)
end

nö ich nicht auf solche Ideen kommst auch nur du. ;)
Welchen sinn macht das?

Zitat:

Danke für die Warnung! Den Aufreger mit der Dateigröße ist nun auch behoben
Nun entweder oder ;)


gruss

Luckie 16. Mai 2018 14:38

AW: non-Vcl Programm mit Listbox
 
Wo ist das Non-VCL? Die Units Buttons, StdCtrls sind eindeutig der VCL zu zu ordnen. Und nur weil die Steuerelemente im Code erstellt werden ist es nicht Non-VCL.

EWeiss 16. Mai 2018 15:11

AW: non-Vcl Programm mit Listbox
 
Zitat:

Zitat von Luckie (Beitrag 1402288)
Wo ist das Non-VCL? Die Units Buttons, StdCtrls sind eindeutig der VCL zu zu ordnen. Und nur weil die Steuerelemente im Code erstellt werden ist es nicht Non-VCL.

Deshalb ja..
Zitat:

Nun entweder oder
Es macht doch keinen sinn ein Non-VCL Projekt zu erstellen wenn man dann doch (wenn auch nur aus jux) Buttons, StdCtrls, Dialogs addiert.
Bin auch nicht immer ganz konform siehe Verwendung von Classes aber Komponente sollte man schon vorne weg lassen.

gruss

KodeZwerg 16. Mai 2018 16:29

AW: non-Vcl Programm mit Listbox
 
Das sollte ja auch keinen tieferen Sinn ergeben. Ich werde wahrscheinlisch non-TForms non-TApplication non-WasAuchImmer gemeint haben, ich kenne mich mit den Fachbegriffen für so etwas noch nicht aus.
Zitat:

Es gab mal Delphi Controls die nicht auf der VCL basierten. Weißt du wer die entwickelt hat und ob es die noch gibt? Zu Zeiten vor D7 als die EXEn noch schlank waren.

Ich denke dort könnte der Codezwerg einiges abkupfern sofern die noch verfügbar. Ich habe die Controls leider nicht mehr gefunden. Diese Comps basieren eben nicht auf der VCL und konnten auch nicht in die IDE installiert werden. Die waren blankes Windows GUI ...
Da ich nicht fündig geworden bin hab ich halt rumgespielt.

Luckie 16. Mai 2018 23:39

AW: non-Vcl Programm mit Listbox
 
"Es gab mal Delphi Controls die nicht auf der VCL basierten."

Nun, auch nur wieder ein Framework wie die VCL. Eventuell etwas schlanker. Meine Tutorials zielen aber darauf ab gänzlich ohne Frameworks zu arbeiten. Und hinter die Kulissen zu gucken. Was macht Windows da? wie funktioniert Windows eigentlich?

KodeZwerg 17. Mai 2018 07:46

AW: non-Vcl Programm mit Listbox
 
Da gebe ich Dir sowas von Recht! Mir hat es rein Wissenstechnisch echt weitergebracht. So lernt man viele Message Typen kennen die man auch unter Vcl benutzen könnte und man sieht jede Kleinigkeit die da passiert da man jede Kleinigkeit selbst einbauen muss. Ja es ist aufwändiger aber der Lerneffekt ist immens!
Ich will auf gar keinen Fall behaupten das ich da bereits voll durchblicke aber die Sachen die ich haben wollte (Eine Listview mit Überschrift und Icon + Text) das kann ich mittlerweile. Ich denke bereits einen Schritt weiter wie ich das Design ändere, wahrscheinlich fliegt das Icon aus Listview wieder raus und wird an anderer Stelle Groß dargestellt für ausgewählten Eintrag.
Mit OwnerDraw bin ich noch keinen Schritt weiter, da muss ich mir erstmal irgendwo ein Vcl Beispiel anschauen was ich da so alles machen muss.
Meine Theorie dazu wäre, ich habe zwei verschiedene Bilder, eins für "Eintrag ausgewählt" und eins für "alle anderen", im Paint Event die Abmessungen/Position eines Eintrags ermitteln und ein Bild rein dann den Text raufkopieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 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