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

Вниз

Встевить рисунок в StatusBar   Найти похожие ветки 

 
Fenix ©   (2006-03-16 12:18) [0]

Доброго времени суток.
Мне нужно вставить рисунок в статус бар..
StatusBar1.Canvas.Draw(Rect.Left, Rect.Top, icon);

мне нужно вставить рисунок из Imagelist, но как его перевести в формат TGraphic?


 
balepa ©   (2006-03-16 12:32) [1]


> но как его перевести в формат TGraphic?

var
 g: TGraphic;
begin
 g:= TGraphic.Create;
 g:= Image1.Picture.Graphic;
 image2.Picture.Graphic:= g;
end;


 
balepa ©   (2006-03-16 12:33) [2]

var
g: TGraphic;
begin
g:= TGraphic.Create;
g:= Image1.Picture.Graphic;
Statusbar1.Canvas.Draw(1,1,g);
end;
тока рисунок поменьше


 
Fenix ©   (2006-03-16 12:53) [3]

С Image то все ясно... мне надо из imagelist взять этот рисунок... допустим у рисунка индекс 25. Как мне его перевести в TGraphic?


 
balepa ©   (2006-03-16 13:02) [4]

var
g: TGraphic;
b: TBitMap;
begin
g:= TGraphic.Create;
b:= TBitmap.Create;
ImageList1.GetBitmap(0,b);
g:= b;
Statusbar1.Canvas.Draw(1,1,g);


 
balepa ©   (2006-03-16 13:04) [5]

можно и так
var
b: TBitMap;
begin
b:= TBitmap.Create;
ImageList1.GetBitmap(0,b);
Statusbar1.Canvas.Draw(1,1,b);
p.s. TBitmap = class(TGraphic)


 
Fenix ©   (2006-03-16 13:18) [6]

пишу так:

в глобальных объявляю:
var
b: TBitMap;
.....
Затем при создании формы:
ImageList1.GetBitmap(3,b);
......
Потом в StatusBar1->OnDrawPanel:
StatusBar1.Canvas.Draw(Rect.Left, Rect.Top, b);

но не прорисовываеться иконка... в чем может быть ошибка?


 
balepa ©   (2006-03-16 13:34) [7]

Occurs when a status panel needs to be redrawn.

Delphi syntax:

property OnDrawPanel: TDrawPanelEvent;

C++ syntax:

__property TDrawPanelEvent OnDrawPanel = {read=FOnDrawPanel, write
=FOnDrawPanel};

Description

The OnDrawPanel event occurs when a status panel needs to be redisplayed—for example, when the user resizes the status bar. OnDrawPanel occurs only if the status panel’s Style property is set to psOwnerDraw.


 
balepa ©   (2006-03-16 13:51) [8]

Наверно еще b.Free надо  делать


 
Fenix ©   (2006-03-16 14:06) [9]

мне надо b освобождать в самом конце программы... Так что ошибка в чемто другом... Пытался обнавлять XtatusBar1.refresh. но тоже ничего не дает :(


 
balepa ©   (2006-03-17 06:07) [10]

Description

The OnDrawPanel event occurs when a status panel needs to be redisplayed—for example, when the user resizes the status bar. OnDrawPanel occurs only if the status panel’s Style property is set to psOwnerDraw.


 
balepa ©   (2006-03-17 06:44) [11]

Не ставь XtatusBar1.refresh в StatusBar1.OnDrawPanel
У тебя хоть одна панель есть то?



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

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

Наверх




Память: 0.46 MB
Время: 0.042 c
15-1141471106
Pazitron_Brain
2006-03-04 14:18
2006.04.02
Службы на подобии web2mail.com


15-1141999204
oldman
2006-03-10 17:00
2006.04.02
Опрос... так, для души... и кое-какие точки расставить...


2-1142574309
Мух
2006-03-17 08:45
2006.04.02
Вопрос про копирование БД


15-1142189989
Piter
2006-03-12 21:59
2006.04.02
Если кто работал с VurtualDub - подскажите


2-1142866409
serjkp
2006-03-20 17:53
2006.04.02
FormCreate...





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