Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.04 c
3-1139408614
Wolferio
2006-02-08 17:23
2006.04.02
Ошибка при изменении даных


2-1142499600
atmospheric
2006-03-16 12:00
2006.04.02
наследование класса


15-1142354254
TListBox
2006-03-14 19:37
2006.04.02
Не грузится Win2000 после замены видеокарты.


2-1142401391
Gamer
2006-03-15 08:43
2006.04.02
Как запретить копирование диска и как ...?


15-1141919810
Tria
2006-03-09 18:56
2006.04.02
Подскажите пож. прогу для создания обучающих роликов.




   Наверх