![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение картинки в SpeedButtonе [D7, WinXP]
Xmen © (2011-02-24 09:28:00)Привет мастерам!!!
Изменение картинки в SpeedButtonе.
Организую работу с документом. Документ может быть в положение на доработке(1), на проверку(2), закрыть(3), закончен(4). Для каждого случая есть свая картинка и для каждого состояния есть свой ключ состояния. В компоненте ImageList загрузил подходящие картинки. Как можно изменить картинки в SpeedButtonе по ключу состояния. Например есть документ с ключом состояния 1, и когда выбирается документ в SpeedButtonе отражался картинка из ImageList а с индексом 1.
Renderer (2011-02-28 16:01:00) [1]> Xmen (28.02.11 14:33) [17] Шутка?
Вполне корректный ответ на твой совсем некорректный вопрос.
> Xmen (28.02.11 15:03) [19] Ну блин где же его поставит прозрачность не мог пока найти
TSpeedButton.Glyph имеет тип TBitmap.
Xmen (2011-02-28 15:03:00) [2]Ну блин где же его поставит прозрачность не мог пока найти
sniknik (2011-02-28 14:36:00) [3]> У меня картинки в формате png.
на диске, в файлах, может быть. но файл не есть битмап.
Xmen (2011-02-28 14:33:00) [4]
> SpeedButton.Visible := not(1 and 4 = 0) ; - полная прозрачность
> :)
Шутка?
> у битмапа нет призрачности... в ImageList это просто тебе
> так их отображают. т.что хочешь не хочешь, а подумать насчет
> призрачности SpeedButton-е придется.
У меня картинки в формате png.
Dennis I. Komarov (2011-02-28 11:27:00) [5]SpeedButton.Visible := not(1 and 4 = 0) ; - полная прозрачность :)
sniknik (2011-02-28 09:27:00) [6]> а в ImageList1 все картинки прозрачные.
у битмапа нет призрачности... в ImageList это просто тебе так их отображают. т.что хочешь не хочешь, а подумать насчет призрачности SpeedButton-е придется.
Xmen (2011-02-28 08:14:00) [7]
> Какой-то из тебя программист ну совсем плохой.С причинно-
> следственными связями у тебя совсем туго.Садись и думай:
> прозрачность чего тебе нужна?Пока не придумаешь - даже
> не появляйся.
Мне прозрачность в SpeedButton1 нужен.
а в ImageList1 все картинки прозрачные. Когда я их использую в кнопках то нормально получается. Если я программно меняю картинки в SpeedButton1не то картинки получаются в белом фоне :(
Renderer (2011-02-25 23:19:00) [8]> в ImageList1 при изменении?
> или SpeedButton1
Какой-то из тебя программист ну совсем плохой.
С причинно-следственными связями у тебя совсем туго.
Садись и думай: прозрачность чего тебе нужна?
Пока не придумаешь - даже не появляйся.
Xmen (2011-02-25 13:54:00) [9]Это где нужно указать
в ImageList1 при изменении?
или SpeedButton1
KilkennyCat (2011-02-25 13:14:00) [10]указать цвет прозрачности, или использовать clMaroon фоном
Xmen (2011-02-25 13:10:00) [11]Дополнительный вопрос.
при смены картинки в SpeedButton1 картинки получаются в белом фоне хотя они в ImageList1 прозрачные.
Xmen (2011-02-24 15:10:00) [12]Всем спосибо
Особенно Гуглу!!!
ImageList1.Tag := ImageList1.Tag + 1;
SpeedButton1.Glyph.Assign(nil);
ImageList1.GetBitmap(ImageList1.Tag,SpeedButton1.Glyph);
И. Павел (2011-02-24 12:10:00) [13]> [7] Ywoman (24.02.11 11:51)
Вы прочитали, то что я написал в [5]? Там я написал, почему это не работает...
Ywoman (2011-02-24 11:51:00) [14]procedure TMainForm.SetImage(B:TBitmap; IL:TImageList; Index:integer);
begin
IL.Draw(B.Canvas, 0, 0, Index);
end;
И. Павел (2011-02-24 11:47:00) [15]> битмап вашей кнопки
Ну т.е. свойство Glyph.
И. Павел (2011-02-24 11:46:00) [16]> Xmen
Попробуйте эту функцию. Писал давно. Необходимость возникала из за того, что при смене ImageIndex в Action не менялся глиф на кнопке. Параметры: битмап вашей кнопки, ImageList и индекс картинки в ImageList, которую нужно разместить на кнопке.
procedure TMainForm.SetImage(B:TBitmap; IL:TImageList; Index:integer);
var Bitmap:Graphics.TBitmap;
begin
Bitmap:=Graphics.TBitmap.Create;
try
Bitmap.Width:=IL.Width;
Bitmap.Height:=IL.Height;
IL.Draw(Bitmap.Canvas, 0, 0, Index);
B.Assign(Bitmap);
finally
Bitmap.Free;
end;
end;
И. Павел (2011-02-24 11:40:00) [17]> [3] Ywoman (24.02.11 10:58)
> Ищи. Там есть. Точно. Так что ищи. Ищущий да обрящет.
Если у ищущего Delphi 7 и SpeedButton не связан с Action, то не обрящет.
Ywoman (2011-02-24 10:58:00) [18]Ищи. Там есть. Точно. Так что ищи. Ищущий да обрящет.
Xmen (2011-02-24 10:38:00) [19]
> а поменять индекс религия не позволят?
А где именно, я не нашел этот пункт и как можно связать SpeedButton и ImageList
Palladin (2011-02-24 10:05:00) [20]а поменять индекс религия не позволят?