Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.06.05;
Скачать: [xml.tar.bz2];

Вниз

Изменение картинки в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.003 c
2-1298640510
ruvdos
2011-02-25 16:28
2011.06.05
как узнать версии новых windows?


15-1297848575
DelphiN!
2011-02-16 12:29
2011.06.05
Ошибка в bat файле


2-1298177204
Gu
2011-02-20 07:46
2011.06.05
Версия SQL клиента и сервера - узнать


2-1298584745
Артём
2011-02-25 00:59
2011.06.05
Деление строки


2-1298670826
TStas
2011-02-26 00:53
2011.06.05
Как у Дельфей переставить папку по умолчанию?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский