Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Картинка из TImageList на кнопку TBitBtn [D7]


12 ©   (2010-12-17 09:56:00) 

procedure TfrmSubject.btnExpandClick(Sender: TObject);
begin
// btnCollapsExpand.Glyph := nil; //так работает, но правильно ли?
 if not Collapsed then
 begin
   if not(ilBntContainer.GetBitmap(1, btnCollapsExpand.Glyph )) then ShowMessage( 'фиг' );
 end else
 begin
   if not(ilBntContainer.GetBitmap(2, btnCollapsExpand.Glyph )) then ShowMessage( 'фиг' );
end;

Первый раз картинка меняется, потом уже нет. Картинок в ilBntContainer много, штук 8


12   (2010-12-17 22:30:00) [1]


> Плохиш ©   (17.12.10 17:25) [10]

спасибо


Плохиш   (2010-12-17 17:25:00) [2]


procedure TfrmSubject.btnExpandClick(Sender: TObject);
var
 bmp: TBitmap;
begin
 bmp := TBitmap.Create;
 try
   if Collapsed then
     if ilBntContainer.GetBitmap(2, bmp) then
       btnCollapsExpand.Glyph.Assign(bmp)
     else ShowMessage('fig')
   else
     if ilBntContainer.GetBitmap(1, bmp) then
       btnCollapsExpand.Glyph.Assign(bmp)
     else ShowMessage('fig');
 finally
   bmp.Free;
 end;
end;


12   (2010-12-17 14:18:00) [3]

а не, не помогло, это я в прошлый раз nil не закомментил..
временная тоже не помогает

ну да ладно,
буду nil делать, ничего страшного в принципе
память не течет, работает


12   (2010-12-17 13:40:00) [4]


> btnCollapsExpand.Invalidate;

да, помогло
Спасибо!


clickmaker   (2010-12-17 13:09:00) [5]

ilBntContainer.GetBitmap(1, btnCollapsExpand.Glyph );
btnCollapsExpand.Invalidate;

либо

ilBntContainer.GetBitmap(1, TempBmp );
btnCollapsExpand.Glyph := TempBmp

не поможет?


12   (2010-12-17 11:03:00) [6]


>  может не видишь т.к. там где нибудь транспарент и оно "накладывается"
> и теряется в деталях.

одну взял - черная загибулина посредине , другая - синий крест из угла в угол. Пока Glyph := nil; - не меняются.


sniknik   (2010-12-17 10:32:00) [7]

> пока
> btnCollapsExpand.Glyph := nil;не ставлю - картинки не меняются
а может не видишь т.к. там где нибудь транспарент и оно "накладывается" и теряется в деталях...
проверь на не перекрывающихся картинках (типа у одной нарисовано только внизу, у другой вверху, и одним цветом).


12   (2010-12-17 10:10:00) [8]

в отладчике, в обоих случаях, все проходит нормально
и сообщений ни одного не выдается, ни в каком случае..

пока
btnCollapsExpand.Glyph := nil;не ставлю - картинки не меняются


Anatoly Podgoretsky   (2010-12-17 10:07:00) [9]

В конце концов есть же отладчик, но только не пиши if и then в одной строке.


Anatoly Podgoretsky   (2010-12-17 10:06:00) [10]

> 12  (17.12.2010 09:56:00)  [0]

Сообщения должно быть два, разных
"фиг" и "фиг вам"
Информция в теме должна быть более полной.


12   (2010-12-17 09:57:00) [11]

да, и сообщений ShowMessage( 'фиг' ); не выскакивает


Наверх

Титульная страница Поиск, карта сайта Написать письмо