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

Вниз

Встевить рисунок в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.038 c
2-1142936552
tytus
2006-03-21 13:22
2006.04.02
Помогите с созданием компонента


1-1141210945
eger
2006-03-01 14:02
2006.04.02
Утечка памяти


5-1128496274
MegaVolt
2005-10-05 11:11
2006.04.02
Множество компонентов в одном контейнере. Как делать?


15-1142236865
Alex_Delphi
2006-03-13 11:01
2006.04.02
Где достать исходник к InterBase 6.0.


9-1127590578
ILYA_
2005-09-24 23:36
2006.04.02
delphiX help





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