Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.06.05;
Скачать: CL | DM;

Вниз

Изменение картинки в SpeedButtonе   Найти похожие ветки 

 
Xmen   (2011-02-24 09:28) [0]

Привет мастерам!!!
Изменение картинки в SpeedButtonе.
Организую работу с документом. Документ может быть в положение на доработке(1),  на проверку(2), закрыть(3), закончен(4). Для каждого случая есть свая картинка и для каждого состояния есть свой ключ состояния. В компоненте ImageList загрузил подходящие картинки. Как можно изменить картинки в SpeedButtonе по ключу состояния. Например есть документ с ключом состояния 1, и когда выбирается документ в SpeedButtonе отражался картинка из ImageList а с индексом 1.


 
Palladin ©   (2011-02-24 10:05) [1]

а поменять индекс религия не позволят?


 
Xmen   (2011-02-24 10:38) [2]


> а поменять индекс религия не позволят?

А где именно, я не нашел этот пункт и как можно связать SpeedButton и ImageList


 
Ywoman   (2011-02-24 10:58) [3]

Ищи. Там есть. Точно. Так что ищи. Ищущий да обрящет.


 
И. Павел ©   (2011-02-24 11:40) [4]

> [3] Ywoman   (24.02.11 10:58)
> Ищи. Там есть. Точно. Так что ищи. Ищущий да обрящет.

Если у ищущего Delphi 7 и SpeedButton не связан с Action, то не обрящет.


 
И. Павел ©   (2011-02-24 11:46) [5]

> 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:47) [6]

> битмап вашей кнопки

Ну т.е. свойство Glyph.


 
Ywoman   (2011-02-24 11:51) [7]

procedure TMainForm.SetImage(B:TBitmap; IL:TImageList; Index:integer);
begin
 IL.Draw(B.Canvas, 0, 0, Index);
end;


 
И. Павел ©   (2011-02-24 12:10) [8]

> [7] Ywoman   (24.02.11 11:51)

Вы прочитали, то что я написал в [5]? Там я написал, почему это не работает...


 
Xmen   (2011-02-24 15:10) [9]

Всем спосибо
Особенно Гуглу!!!

 ImageList1.Tag := ImageList1.Tag + 1;
 SpeedButton1.Glyph.Assign(nil);
 ImageList1.GetBitmap(ImageList1.Tag,SpeedButton1.Glyph);


 
Xmen   (2011-02-25 13:10) [10]

Дополнительный вопрос.
при смены картинки в SpeedButton1 картинки получаются в белом фоне хотя они в ImageList1 прозрачные.


 
KilkennyCat ©   (2011-02-25 13:14) [11]

указать цвет прозрачности, или использовать clMaroon фоном


 
Xmen   (2011-02-25 13:54) [12]

Это где нужно указать
в ImageList1 при изменении?
или SpeedButton1


 
Renderer   (2011-02-25 23:19) [13]

> в ImageList1 при изменении?
> или SpeedButton1


Какой-то из тебя программист ну совсем плохой.
С причинно-следственными связями у тебя совсем туго.
Садись и думай: прозрачность чего тебе нужна?
Пока не придумаешь - даже не появляйся.


 
Xmen   (2011-02-28 08:14) [14]


> Какой-то из тебя программист ну совсем плохой.С причинно-
> следственными связями у тебя совсем туго.Садись и думай:
>  прозрачность чего тебе нужна?Пока не придумаешь - даже
> не появляйся.

Мне прозрачность в SpeedButton1 нужен.
а в ImageList1 все картинки прозрачные. Когда я их использую в кнопках то нормально получается. Если я программно меняю картинки в SpeedButton1не то картинки  получаются в белом фоне :(


 
sniknik ©   (2011-02-28 09:27) [15]

> а в ImageList1 все картинки прозрачные.
у битмапа нет призрачности... в ImageList это просто тебе так их отображают. т.что хочешь не хочешь, а подумать насчет призрачности SpeedButton-е придется.


 
Dennis I. Komarov ©   (2011-02-28 11:27) [16]

SpeedButton.Visible := not(1 and 4 = 0) ; - полная прозрачность :)


 
Xmen   (2011-02-28 14:33) [17]


> SpeedButton.Visible := not(1 and 4 = 0) ; - полная прозрачность
> :)

Шутка?


> у битмапа нет призрачности... в ImageList это просто тебе
> так их отображают. т.что хочешь не хочешь, а подумать насчет
> призрачности SpeedButton-е придется.

У меня картинки в формате png.


 
sniknik ©   (2011-02-28 14:36) [18]

> У меня картинки в формате png.
на диске, в файлах, может быть. но файл не есть битмап.


 
Xmen   (2011-02-28 15:03) [19]

Ну блин где же его поставит прозрачность не мог пока найти


 
Renderer   (2011-02-28 16:01) [20]

> Xmen   (28.02.11 14:33) [17] Шутка?

Вполне корректный ответ на твой совсем некорректный вопрос.

> Xmen   (28.02.11 15:03) [19] Ну блин где же его поставит прозрачность не мог пока найти

TSpeedButton.Glyph имеет тип TBitmap.



Страницы: 1 вся ветка

Текущий архив: 2011.06.05;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.008 c
15-1296771492
xayam
2011-02-04 01:18
2011.06.05
Какая у Вас группа крови?


15-1297937141
Ламот
2011-02-17 13:05
2011.06.05
Звонки с диалапмодема...


1-1256039523
Fr0sT
2009-10-20 15:52
2011.06.05
Пара вопросов про Unicode


1-1256548761
GreyWolf
2009-10-26 12:19
2011.06.05
False virus detection


6-1237972450
антон1243232
2009-03-25 12:14
2011.06.05
Проблема со склейкой пакетов