Sanırım SpeedButton'a sadece BMP eklendiğinden ICO dosyalarını eklemekte güçlük çekiyorsun.
- Glypth aslında bir Bitmap olduğunda göre bunu şu şekilde bir yapı ile projenin çalışma anında yapabilirsin.
(1) Formuna bir TImageList yerleştir. Buraya SpeedButton'larında kullanacağın ICO dosyalarını bir araya getir. (
TImageList'in Width ve Height değeri resmin boyunda veya daha büyük olmalı, çünkü bu listedeki resimler TImageList boyutuna getirilir veya seçimine göre büyükse kendiliğinden crop edilerek kırpılır )
(2) Aşağıdaki verdiğim örneği dene. Form CREATE edildiğinde listedeki sıra nosunu verdiğin ICO, istediğin Bitmap'e aktarılacaktır. Bu bir SpeedButton'un Glyph bitmap de olabilir.
(3) 0,1,vb. Rakam(lar) TImageList içerisindeki sıra/Index nosudur.
(4) ResimAtamasi isimli procedure sadece içinde Width/Height ataması yapıldığından her speedbutton için 3 satır kod yazma diye oluşturdum.
Kod: Tümünü seç
Procedure ResimAtamasi( ImageList:TImageList; Idx:Integer; Hedef:TBitmap );
begin
Hedef.Width := ImageList.Width;
Hedef.Height := ImageList.Height;
ImageList.Draw( Hedef.Canvas, 0,0, Idx);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ResimAtamasi( ImageList1, 0, SpeedButton1.Glyph );
ResimAtamasi( ImageList1, 1, SpeedButton2.Glyph );
end;