Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Вниз

Подскажите почему не работает 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
1-1122364321
msguns
2005-07-26 11:52
2005.08.14
Убрать иконку из кэпшина формы


6-1115251033
Программович
2005-05-05 03:57
2005.08.14
Поддержка TIdHTTPServer ом cgi приложений


1-1122312837
Зм1й
2005-07-25 21:33
2005.08.14
Массивы


10-1099136429
Krolik
2004-10-30 15:40
2005.08.14
Некорректное поведение безопасности DCOM


14-1122266581
WondeRu
2005-07-25 08:43
2005.08.14
DELPHI DIAGRAM PORTFOLIO(*.ddp) -абсолютно бесполезная штуковина?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский