Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Картинка в качестве кнопки


Автор: BMC 12.4.2007, 17:06
Вобщем такая вот проблемка  smile Никто не знает как можно сделать кнопку в Delphi, чтобы её стадии отображались только сменой изображения на кнопке...т.е можно конечно использовать простую опцию Glyph, но при нажатии на кнопку, картинка как бы смещается имитируя вдавоивание кнопки...помогите пожалуйста сделать так, чтобы кнопка не вдавливалась при нажатии, т.к уже имеется рисунок с изобрадением нажатой кнопки...  smile 

Автор: Bitter 12.4.2007, 21:31
Вместо кнопки нужно поставить два компонента TImage друг на друга. В первый загрузить первую картинку, в другой другую (масло масляное). 

В событии onMouseDown первого имага пишем

Image1.Visible:=false;
Image2.Visible:=true;

В событии onMouseUp первого имага пишем

Image1.Visible:=true;
Image2.Visible:=false;

Ну и сразу ставишь Image2.Visible:=false, чтобы при появлении формы был виден только первый )))

Автор: BMC 13.4.2007, 08:41
Огромное спасибо!!! А то что я только уже не пробовал  smile Пробовал загружать через TImageList, и менять картинки посредством событий OnMouseDown и т.д....но он не загружал с ImageList'а больше одной картинки  smile  Ещё раз спасибо  smile 

P.s

И ещё вопросик...а как сделать подсвечивание кнопки типа OnMouseOver? Такого в TImage нету  smile 

Автор: Volkogriz 9.11.2007, 18:28
Доброе время суток!
Помогите пожалусто разабратся с image!
Мне нужно что-б при нажатии одной и той-же кнопки загружались разные рисунки с определённной папке!
Помогите это реализовать пожалусто!!!!
За рание благадарю!!!
С уважением Volkogriz!

Автор: XDlf 16.11.2007, 21:36
Цитата(Volkogriz @ 9.11.2007,  18:28)

Мне нужно что-б при нажатии одной и той-же кнопки загружались разные рисунки с определённной папке!

как вариант можно ввести счетчик нажатий на кнопку и обрабатывать его изменение (например счетчик будет указывать на номер элемента в массиве, содержащем пути до файлов).

Автор: ТипТопыч 11.12.2007, 22:06
Вместо шаманства с картинками можно кинуть на форму image, а поверх нее speedbutton, поставить у кнопки flat=true и оставить без надписей и картинок. Имхо красивее получаетсяsmile 

Автор: ivan219 12.12.2007, 18:02
Цитата(Volkogriz @  9.11.2007,  18:28 Найти цитируемый пост)
Мне нужно что-б при нажатии одной и той-же кнопки загружались разные рисунки с определённной папке!

Код

Image1.Picture.LoadFromFile('Путь к папке/Name.bmp');

Автор: mmvds 22.12.2007, 21:38
И кстати, чтоб это выглядело совсем уж кнопкой, поставьте в свойстве Cursor картинки значение crHandPoint, тогда при наведение появится палец как у всех нормальных кнопок smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)