Ikona, BMP , SpeedBtn, Ikona XP

2002-03-18 10:59
Imperior
0

Czy ktoś wie jak wstawić do SpeedBtn Ikone?
Czy ktoś wie jak przekonwertować ikone do bmp ale nie 16x16 tlko 32x32 i 48x48?
Czy ktoś wie jak wstawić do image'a ikone ale w postaci 48x48 a nie 32x32?
(Te konwertowanie to nie chodzi mi w delphi tylko jakiś program by się przydał :)

Będe baaardzo wdzięczny.--Delphi 6
Pozdrowienia,
Imperior

Pozostało 580 znaków

2002-03-18 15:19
heitar
0
  1. Ikona w SpeedButton - looknij na ponizszy kod, wyciaga ikone z exe lub ikone przypisana danemu typowi pliku, lub ikona z pliku *.ico, zamienia na bmp i mozna ladowac do SpeedButtona

procedure TForm1.GetIkona(Filename: String);
var
Icon: TIcon;
FileInfo: SHFILEINFO;
Bmp: TBitmap;
begin
if FileExists(Filename) then
begin
Icon := TIcon.Create;
SHGetFileInfo(PChar(Filename), 0, FileInfo, SizeOf(FileInfo), SHGFI_ICON);
Icon.Handle := FileInfo.hIcon;
Bmp:=TBitmap.Create;
Bmp.Canvas.Pen.Color:=clWhite;
Bmp.Canvas.Brush.Color:=clWhite;
Bmp.Canvas.Rectangle(0,0,32,32);
Bmp.Width:=Icon.Width;
Bmp.Height:=Icon.Height;
Bmp.Canvas.Draw(0,0,Icon);

  • ponizszy kawalek doluz gdy chcesz miec rozmiar 16x16, czyli male ikony
    Bmp.Canvas.CopyRect(Rect(0,0,16,16),BitIkona.Canvas,Rect(0,0,32,32));
    Bmp.Width:=16;
    Bmp.Height:=16;
  • koniec zmniejszania
    Icon.Free;
    Bmp.Free;
    SpeedButton1.Glyph:=Bmp;
    end;
    end;
  1. Konwersja ico na bmp - Najprosciej zamienic ikone na bmp przy uzyciu nawet painta, zrob printscreena ekranu na ktorym gdzies jest twoja ikona, potem wklej to do painta i wytnij ikone, zapisz jako bmp. Kazda standartowa ikona ma 32x32, a duze ikony to 48x48. Do wyciagania duzych ikon to np. ResHacker, a do ikon jako-tako [biblioteki ikon itp] to taki prog o nazwie MicroAngelo.

  2. Jesli masz jakos ikone 48x48 w exe lub bibliotece ikon, to wyciagnij ja uzywajac ktoregos z programow z punktu 2. Przekonwertuj ja na bmp sposobem z punktu 2. Na koniec wstaw bmp do Imaga

Troche lopatologiczne, i miejscochlonne za co z gory sorki, ale mam nadzieje ze opis jest w miare wyczerpujacy :)-------[ Delphi 6 Rulez 4 Ever!, przynajmniej do czasu gdy naucze sie C++ :) ]------

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0