Главная страница
    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.48 MB
Время: 0.003 c
2-1298464739
Артём
2011-02-23 15:38
2011.06.05
Ограничить поле вывода


2-1296858499
Alik
2011-02-05 01:28
2011.06.05
Сбой при вызове методов ZLib из DLL


15-1297514092
NailMan
2011-02-12 15:34
2011.06.05
Наконец то я решился на это...


2-1298569806
RMan
2011-02-24 20:50
2011.06.05
Прозрачное неактивное окно


2-1294930060
Scott Storch
2011-01-13 17:47
2011.06.05
загрузка dll из ресурса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский