Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Система";
Поточний архів: 2002.12.23;
Завантажити: [xml.tar.bz2];

Вниз

Кнопки і іконки Знайти схожі гілки


Gliph   (2002-10-17 01:18) [0]

Люди допоможіть з іконками і кнопками що то ніяк не виходить
Як витягнути іконку з * .exe і намалювати її на кнопці
SpeedButton1.Glyph
Є Listbox в ньому імена exe файлів по кліку Listbox "a змінюватися повинен Glyph
кнопки на іконку з exe
Будь ласка якщо можна код.



NickolayLi   (2002-10-17 01:22) [1]

подивися Resxplor в демосу він витягує іконки з длл і ще чогось тама



Gliph   (2002-10-17 19:49) [2]

> NickolayLi що то нічого не зрозумів я там.
Іконку начебто виходить витягти, але як її на гліфів кнопки відобразити або в бітмапами конвертнуть?
Якщо можна приклад. Спасибі.



NickolayLi   (2002-10-17 23:11) [3]

давай з ранку 8)

поки що.



Gliph   (2002-10-18 00:57) [4]

Давай.



Glyph   (2002-10-19 00:11) [5]

Що, ніхто так не робив мул допомогти не хочете?



Alex4444444444   (2002-10-19 11:25) [6]

Na skol "ko ya ponyal, u Vas icony v TImageList. Togda nuzhno prosto sozdat" nevidimyj TBitmap i risovat "na ego Canvas" e.



Glyph   (2002-10-20 00:36) [7]

Іконки в EXE файлах, і просто їх на кнопки не намалювати: TIcon з Exe файлу, а Glyph (властивість) - TBitmap на кнопці. Біда !!!!



Glyph   (2002-10-20 00:44) [8]

?????????????



Rouse_   (2002-10-20 01:47) [9]

На ось написав на швидку руку

procedure TForm1.Button2Click (Sender: TObject); var Icon: hIcon; IconIndex: word; Ico: TBitmap; path: String; pat: array of byte; begin Ico: = TBitmap.Create; path: = "c: \ project1.exe"; IconIndex: = 0; SetLength (pat, Length (Path)); Move (Path [1], Pat [0], Length (Path)); Icon: = ExtractAssociatedIcon (HInstance, PChar (path), IconIndex); ico.Width: = 32; ico.Height: = 32; DrawIcon (ico.Canvas.Handle, 0, 0, Icon); SpeedButton1.Glyph: = Ico; Ico.Free; end;

Бажаю успіхів



Rouse_   (2002-10-20 01:58) [10]

Вообщето бажано трохи по іншому

procedure TForm1.Button2Click (Sender: TObject); var Icon: hIcon; IconIndex: word; Ico: TBitmap; path: String; pat: array of byte; begin try Ico: = TBitmap.Create; path: = "c: \ project1.exe"; IconIndex: = 0; SetLength (pat, Length (Path)); Move (Path [1], Pat [0], Length (Path)); Icon: = ExtractAssociatedIcon (HInstance, PChar (path), IconIndex); ico.Width: = 32; ico.Height: = 32; DrawIcon (ico.Canvas.Handle, 0, 0, Icon); SpeedButton1.Glyph: = Ico; finally Ico.Free; FreeMemory (@pat); end; end;

Бажаю успіхів



Nick N A   (2002-10-20 08:33) [11]

// ListBox1.Style: = lbOwnerDrawFixed procedure TForm1.ListBox1DrawItem (Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); Var Icon: hIcon; IconIndex: word; s: String; begin IconIndex: = 0; with control as TListBox do Begin Canvas.FillRect (rect); s: = Items.Strings [index]; Canvas.TextOut (Rect.Left, rect.Top, s); s: = s + # 0; Icon: = ExtractAssociatedIcon (HInstance, Pchar (@s [1]), IconIndex); DrawIconEx (Canvas.Handle, 0, Rect.Top, Icon, ItemHeight, ItemHeight, 0, Brush.handle, 8); end; end;



MetalFan   (2002-10-21 09:23) [12]

> Rouse_ ©
хм ... а таке питання:
як зменшити її розмір до 16х16?
допоможіть плз. на кнопку натиснутою влазить (



Севостьянов Игорь   (2002-10-21 11:02) [13]

масштабується



Севостьянов Игорь   (2002-10-21 12:12) [14]

Наприклад ось так:

procedure TForm1.Button1Click (Sender: TObject); var IconHandle: hIcon; IconIndex: Word; Path: String; Icon: TBitmap; begin Icon: = TBitmap.Create; try Icon.Width: = 16; // 32; Icon.Height: = 16; // 32; Path: = Application.ExeName; IconIndex: = 0; IconHandle: = ExtractAssociatedIcon (HInstance, PChar (Path), IconIndex); DrawIconEx (Icon.Canvas.Handle, 0, 0, IconHandle, 16, 16, 0, 0, DI_NORMAL); SpeedButton1.Glyph: = Icon; finally Icon.Free; end; end;



MetalFan   (2002-10-21 16:45) [15]


> Севостьянов Ігор ©

thanks)



Ricks   (2002-10-21 17:35) [16]

До речі, якщо саме з exe, то чому все пропонують Extract AssociatedIcon а не ExtractIcon??? Адже там можна відразу діставати і велику і маленьку. А потім GetIconInfo, отримати HBITMAP і потім вже ....



Севостьянов Игорь   (2002-10-21 19:15) [17]

Ти маєш рацію, я не пропонував, наприклад, нічого нового просто відповів, як смаштабіровать із запропонованого варіанту.



сторінки: 1 вся гілка

Форум: "Система";
Поточний архів: 2002.12.23;
Завантажити: [xml.tar.bz2];

Вгору





Пам'ять: 0.59 MB
Час: 0.028 c
7-75008
Olphi
2002-10-20 15:32
2002.12.23
Хтозна ім'я usera?


1-74754
Верховний
2002-12-13 12:54
2002.12.23
Цикл для призначення властивостей безлічі Компаненти.


3-74577
Pavel_S
2002-12-04 16:27
2002.12.23
ДОПОМОЖІТЬ З ЗАПИТОМ !!!


1-74667
Верховний
2002-12-13 09:59
2002.12.23
Як завантажити всі значення з INI-файлу в Listbox1?


1-74827
abcccc
2002-12-11 20:44
2002.12.23
автозапуск програми





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська