Главная страница
    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
15-1297514092
NailMan
2011-02-12 15:34
2011.06.05
Наконец то я решился на это...


2-1298780760
filimonic
2011-02-27 07:26
2011.06.05
Как заблокировать кнопку Пуск в Windows 7


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


15-1298291672
Baks
2011-02-21 15:34
2011.06.05
Дебаггер для разных версий Delphi


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





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