Главная страница
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.49 MB
Время: 0.044 c
6-1135025373
Eraser
2005-12-19 23:49
2006.04.02
Скорость работы TIdFTP.MakeDir


2-1142942855
Scavenger
2006-03-21 15:07
2006.04.02
Ping ПК


11-1124198675
I_need_Help
2005-08-16 17:24
2006.04.02
Установка МСК


2-1142762050
Gentos
2006-03-19 12:54
2006.04.02
Проблемы с Html.


3-1139285708
DimonS
2006-02-07 07:15
2006.04.02
Вот народился вопрос по FastReport. Как впихнуть в него условие?