Tags
Forum
Artikler
Brugere
Stil spørgsmål
1
online
Login
Husk mig
grimme ikoner
Tags:
delphi
Bruger #404
@ 07.01.04 15:05
131
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
1
Bruger #2973
@ 08.01.04 15:43
30
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)..
0
Bruger #2967
@ 07.01.04 21:31
170
kunne det være fordi, at alpha kanalen bliver strøget
0
Bruger #404
@ 08.01.04 09:47
131
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
0
Bruger #2973
@ 08.01.04 15:44
30
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)
Karma barometer (30 dage)
Modtaget
Givet
X
Favorit hos
Forum tråde
Artikler
Tilføj til dine favorit tags
Fjern fra dine favorit tags