AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TJumpList Icon-Index oder: Wie verändere ich eine Komponente am besten?
Thema durchsuchen
Ansicht
Themen-Optionen

TJumpList Icon-Index oder: Wie verändere ich eine Komponente am besten?

Ein Thema von CodeX · begonnen am 15. Apr 2019 · letzter Beitrag vom 15. Apr 2019
 
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#1

TJumpList Icon-Index oder: Wie verändere ich eine Komponente am besten?

  Alt 15. Apr 2019, 11:42
Ich würde bei der TJumpList Komponente gerne ein Icon für einen Eintrag angeben. Das geht von Haus aus nur über einen Pfad zu einer Datei, die das Icon enthält. Leider kann man jedoch kein Icon-Index angeben. Es wird automatisch der erste Icon der Datei verwendet.

Diese Einschränkung ist völlig unnötig, da das Icon intern per SetIconLocation festgelegt wird und Embarcadero sich unsinnigerweise dazu entschlossen hat, den Index fix auf 0 zu setzen statt einen variablen Parameter zu verwenden:
Delphi-Quellcode:
//Vcl.Jumplist
function TJumpListItem.GetAsIShellLink: IShellLink;
begin
  [...]
    if FIcon <> 'then
      CheckError(Result.SetIconLocation(PWideChar(FIcon), 0), SJumplistsItemErrorSettingicon)
    else // use the current executable Icon
      CheckError(Result.SetIconLocation(PWideChar(Paramstr(0)), 0), SJumplistsItemErrorSettingicon);
end;
Ich will natürlich nicht den Original-Code verändern, weiß leider aber auch nicht, wie ich in so einem Fall eine eigene Komponente korrekt ableiten muss. Eine TMyJumpList ableiten und Änderungen daran vornehmen, ist kein Problem. Aber hier betrifft es ja TJumpListItem bzw. übergeordnet dann TCustomJumpList, TJumpCategories, TJumpCategoryItem und TJumpListCollection (wo GetAsIShellLink aufgerufen wird).

Muss ich all diese Klassen ebenfalls ableiten und alle Funktionen überschreiben, wo GetAsIShellLink irgendwie involviert ist? Oder wie kann man in so einem verschachtelten Fall möglichst geschickt Änderungen vornehmen?
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.

Geändert von CodeX (15. Apr 2019 um 11:57 Uhr)
  Mit Zitat antworten Zitat
 


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 14:54 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