![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изображение иконки программы на кнопке. [D7, WinXP]
Laymer © (2005-09-26 14:36:00)Здрасте!!!
Нашел такой код программы.
procedure TForm1.Button1Click(Sender: TObject);
var
IconIndex: word;
h: hIcon;
begin
IconIndex := 0;
h := ExtractAssociatedIcon(hInstance,
'C:\WINDOWS\NOTEPAD.EXE', IconINdex);
DrawIcon(Form1.Canvas.Handle, 10, 10, h);
end;
На форме все замечательно рисует изображение, а на кнопке TSpeedButton, рисовать нехочет. Помогите плиз.
ssk (2005-09-26 15:31:00) [1]я бы сделал так:
var
Bitmap: TBitmap;
IconIndex: word;
h: hIcon;
begin
Bitmap := TBitmap.Create;
Bitmap.Width := 32;
Bitmap.Height := 32;
IconIndex := 0;
h := ExtractAssociatedIcon(hInstance, PAnsiChar(ParamStr(0)), IconIndex);
DrawIcon(Bitmap.Canvas.Handle, 0, 0, h);
SpeedButton1.Glyph.Assign(Bitmap);
Bitmap.Free;
end;
ssk (2005-09-26 14:56:00) [2]вот только после клика по кнопке тебя ждет небольшой сюрприз :-)
ssk (2005-09-26 14:54:00) [3]добавляешь в модуль:
type
TMySpeedButton = class(TSpeedButton)
property Canvas;
end;
TForm1 = class(TForm)
...
и исправляешь свой код:
DrawIcon(TMySpeedButton(SpeedButton1).Canvas.Handle, 10, 10, h);
у меня заработало