Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.14;
Скачать: CL | DM;

Вниз

Подскажите почему не работает ExtractIcon   Найти похожие ветки 

 
chili   (2005-07-27 14:43) [0]

Добрый день..

Подскажите почему не работает ExtractIcon


procedure TMainForm.FormCreate(Sender: TObject);
var
   Icon : TIcon;
begin
   Icon.Handle := ExtractIcon(Application.Handle, PChar("c:\windows\notepad.exe"), Word(0));
   RxSpeedButton1.Glyph.Canvas.Draw(0,0,Icon);
   Icon.Free;
end;


Или это только у меня не работает?????????


 
chili   (2005-07-27 14:45) [1]


procedure TMainForm.FormCreate(Sender: TObject);
var
  Icon : TIcon;
begin
  Icon := TIcon.Create;
  Icon.Handle := ExtractIcon(Application.Handle, PChar("c:\windows\notepad.exe"), Word(0));
  RxSpeedButton1.Glyph.Canvas.Draw(0,0,Icon);
  Icon.Free;
end;


 
chili   (2005-07-27 14:49) [2]

У всех работает или никто не знает почему не работает?


 
Юрий Зотов ©   (2005-07-27 14:50) [3]

Вы указываете не тот хэндл (окна, а не приложения). Замените Application.Handle на HInstance.


 
chili   (2005-07-27 14:53) [4]

Юрий Зотов ©   (27.07.05 14:50) [3]

Пробовал так :

Icon.Handle := ExtractIcon(HInstance, PChar("c:\windows\notepad.exe"), Word(0));

и

Icon.Handle := ExtractIcon(0, PChar("c:\windows\notepad.exe"), Word(0));

Все равно не работает :(((


 
alex-drob ©   (2005-07-27 15:06) [5]


> chili   (27.07.05 14:43)

А может ExtractIcon работает. А проблемма в чемто другом. Попробуй на Canvas формы вывести например в событии onpaint.


 
Юрий Зотов ©   (2005-07-27 15:08) [6]

> chili   (27.07.05 14:53) [4]

Думаю, что загрузка все же работает. Не работает отрисовка (что и не мудрено при таком коде). Используйте не Draw, а Assign.


 
chili   (2005-07-27 15:10) [7]

не помогло


 
MBo ©   (2005-07-27 15:11) [8]

работает:

procedure TForm1.Button3Click(Sender: TObject);
var Icon:TIcon;
begin
 Icon := TIcon.Create;
 Icon.Handle := ExtractIcon(0, PChar("c:\windows\notepad.exe"), Word(0));
 DrawIcon(Canvas.Handle,0,0,Icon.Handle);
 Icon.Free;
end;


 
chili   (2005-07-27 15:17) [9]

MBo ©   (27.07.05 15:11) [8]

А как это на SpeedButton вставить?


 
chili   (2005-07-27 15:39) [10]

Юрий Зотов ©   (27.07.05 15:08) [6]

А что в Assign записывать?


 
MBo ©   (2005-07-27 16:03) [11]

Ну так работает. может, и проще можно.

 b:=TBitmap.Create;
 b.Width:=Icon.Width;
 b.Height:=Icon.Height;
 DrawIcon(b.Canvas.Handle,0,0,Icon.Handle);
 SpeedButton1.Glyph.Assign(b);


 
chili   (2005-07-27 16:08) [12]

MBo ©   (27.07.05 16:03) [11]

>Ну так работает. может, и проще можно.

Да работает, только исключение вызывает................

Все равно большое Вам спасибо за помошь.



Страницы: 1 вся ветка

Текущий архив: 2005.08.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.044 c
14-1121791963
Newbie
2005-07-19 20:52
2005.08.14
Помогите начинающему - какой Делфи выбрать?


4-1119341528
Kerk
2005-06-21 12:12
2005.08.14
EM_CHARFROMPOS


14-1121933194
SoftX
2005-07-21 12:06
2005.08.14
Астрология как историко-культурный феномен. Диссертация.


14-1122109559
lookin
2005-07-23 13:05
2005.08.14
Что вы получите? Маленький тест.


11-1105130752
Slay
2005-01-07 23:45
2005.08.14
2Владимир Кладов: Не работает DecInt64()