Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Картинку на SpeedButton в runtime [D6, WinXP]


Destroyer ©   (2004-06-30 21:54:00) 

Мне надо натянуть картинку на speedbutton в runtime, и надо уменьшить ее до размеров самой кнопки. Я делаю так:
Если картинка *.bmp

begin
if opendialog1.Execute then
begin
MainButtonscr[ncr].Glyph.Width := 23;
MainButtonscr[ncr].Glyph.Height := 19;
MainButtonscr[ncr].Glyph:=TBitmap(OpenDialog1.filename); <-- Access violation
end;
end;

MainButtonscr - это массив из кнопок. Получается Access violation.

А если картинка *.ico, то так:

begin
if opendialog1.Execute then
begin
MainButtonscr[ncr].Glyph.Width := 23;
MainButtonscr[ncr].Glyph.Height := 19;
iconscr[ncr]:=HIcon(opendialog1.FileName);
drawiconEx((MainButtonscr[ncr].Glyph.Canvas.Handle),2,1,iconscr[ncr],16,16,0,0,DI_NORMAL);
end;
end;

Так ошибок не возникает, но и картинка не рисуется.
Как нарисовать картинку на speedbutton и масштабировать ее?


Destroyer   (2004-06-30 22:39:00) [1]

Всё, решил это у меня глюки уже, спасибо!
Так работает :
MainButtonscr[ncr].Glyph.LoadFromFile('MyBmp.bmp');


Destroyer   (2004-06-30 22:26:00) [2]


> MainButtonscr[ncr].Glyph.LoadFromFile('MyBmp.bmp');

Нет, так всеравно не идет. Он мне именно на undeclared identifier ругается. Странно.


begin...end   (2004-06-30 22:16:00) [3]


> [2] Destroyer ©   (30.06.04 22:09)


> Пробовал LoadFromFile, но говорит, что undeclared identifier.


MainButtonscr[ncr].Glyph.LoadFromFile('MyBmp.bmp');

?


Destroyer   (2004-06-30 22:09:00) [4]

Ой даа, совсем уже офигел. А как тогда указать что я хочу загрузить картинку, которая находится по такому-то пути? Пробовал LoadFromFile, но говорит, что undeclared identifier. Наверное модуль какой-нибудь надо подключить. Какой?


begin...end   (2004-06-30 21:58:00) [5]


> MainButtonscr[ncr].Glyph:=TBitmap(OpenDialog1.filename);
> <-- Access violation

Шо это? String преобразуется в TBitmap?


Наверх

Титульная страница Поиск, карта сайта Написать письмо