grimme ikoner

Tags:    delphi

daws...

Jeg har et problem. jeg har en funktion som finder det icon der et tilknyttet et program, det ikon bliver så lagt ind i en imagelist.
men når jeg så henter ikonet ind i en toolbutton (TBX) så er kvaliteten sindsygt ringe, hvordan kan jeg fikse det?

her er min funktion + en procedure hvor knappen bliver lavet.

<pre>
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShellApi, TB2Item, TBX, TB2Dock, TB2Toolbar, ImgList;

type
TForm1 = class(TForm)
Button1: TButton;
TBXToolbar1: TTBXToolbar;
TBXSubmenuItem1: TTBXSubmenuItem;
ImageList1: TImageList;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
function geticon(path:string):Ticon;
var
Buffer, buf: array[0..2047] of Char;
IconIndex: word;
IconHandle: HIcon;
TheIcon: TIcon;
begin
StrCopy(@Buffer, pchar(path));
IconIndex := 0;
IconHandle := ExtractAssociatedIcon(HInstance, Buffer, IconIndex);
TheIcon:=TIcon.Create;
TheIcon.Handle := IconHandle;
result := Theicon;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
NewItem: TTBXItem;
begin
NewItem := TTBXItem.Create(form1);
NewItem.Caption := 'putty';
NewItem.ImageIndex := Form1.ImageList1.Count;
Form1.ImageList1.AddIcon(geticon('c:\\putty.exe'));
NewItem.Images := Form1.ImageList1;
Form1.TBXToolbar1.Items.Items[0].Add(NewItem);
end;

end.

</pre>

- SpeC - #SpeC.DK @ Q-NET



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Det kan også være at har nogle 24 pixels * 24 pixels ikoner som så bliver trukket ned til 16*16 (som man bruger til menubars og ofte også toolbars)..



kunne det være fordi, at alpha kanalen bliver strøget



kunne det være fordi, at alpha kanalen bliver strøget


øhh hvad er det og kan man evt. fikse det ?
- SpeC - #SpeC.DK @ Q-NET



Nåå.. havde ik set din kode.. Sry.. Når man bruger Delphi til at tage ikoner fra andre programmer, så plejer den at lave det om til 256 farver (ved ikke hvordan man gør sådan at den tager alle farver)



t