![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте!
На форме есть Image1, по его нажатию (если картинки нет) открывается opendialog1, после выбора файла, в Image1 появляется иконка выбранного файла. Теперь, если еще раз нажать, этот файл запустится! Вот собсно код: Код:
Form1: TForm1; S:string; H:HICON; iconindex:Word; implementation ...... ... .... if S='' then begin sOpenDialog1.Execute; S:=sOpenDialog1.FileName; IconIndex := 1; if S='' then begin ShowMessage('Ничего не выбрано'); end else h := ExtractAssociatedIcon(hInstance,PChar(S), IconINdex); img1.Picture.Icon.Handle := H; img1.Picture.Graphic := img1.Picture.Icon; end else ShellExecute (Form1.Handle, nil, PChar(S), nil, nil, SW_RESTORE) Я хочу переделать его под кнопку Bitbtn, без компонентов Image1. Что бы в него загружалась та самая иконка. Помогите пожалуйста переделать. Последний раз редактировалось Gareth, 20.08.2013 в 14:17. |
#2
|
|||
|
|||
![]() Как-то так
Код:
var Ico:TIcon; Ico:=TIcon.Create(); Ico.Handle:=H; BitBtn1.Glyph:=Ico; Ico.Free; |
#3
|
|||
|
|||
![]() Цитата:
Делаю так Код:
begin if S='' then begin sOpenDialog1.Execute; S:=sOpenDialog1.FileName; if S='' then begin ShowMessage('Не выбрал'); end else h := ExtractAssociatedIcon(hInstance,PChar(S), IconINdex); Ico:=TIcon.Create(); Ico.Handle:=H; sBitBtn1.Glyph:=ico; Ico.Free; end else ShellExecute (Form1.Handle, nil, PChar(S), nil, nil, SW_RESTORE)} end; |
#4
|
||||
|
||||
![]() Вообще glyph воспринимает только формат .bmp, а ты в него .ico засунуть пытаешься. Выбрасывай этот код и пиши по новой, будут уже конкретные вопросы обращайся.
Google в помощь |
#5
|
|||
|
|||
![]() Цитата:
|
#6
|
|||
|
|||
![]() Извиняюсь, нашёл, сначала не работало, но потом подсказали groupindex.
|