Цитата:
Сообщение от icsander
Работает.
Может быть в моем случае это связано с тем, что переопределен StatusBar1PanelsDraw
Код:
with StatusBar do
begin
if Panel.Index=2 then
begin
CheckBoxEnabled.BoundsRect:=Rect;
CheckBoxEnabled.PaintTo(StatusBar.Handle, Rect.Left, Rect.Top);
end;
end;
Я что-то уже совсем не могу понять. На моем компе все номально (WinXP и Win7). На VirtualPC установлена WinXP и в ней не работает. Кстати жаловались и другие люди. Вообще - это прога "быстрый просмотровщик" из раздела "Ваши программы".
|
Как вариант можешь попробовать следующее
Код:
if Assigned(StatusBar) and Assigned(Panel){и если CheckBoxEnable это объект то и его and Assigned(CheckBoxEnabled)} then
with StatusBar do
begin
if Panel.Index=2 then
begin
CheckBoxEnabled.BoundsRect:=Rect;
CheckBoxEnabled.PaintTo(StatusBar.Handle, Rect.Left, Rect.Top);
end;
end;
Это чтоб убедиться что у тебя все эти объекты уже созданы прежде чем началась отрисовка статус бара
и в OnCreate тоже можно проверить наличие объектов
ещё для мониторинга можно во все процедуры с кодом вставить что то типа
Код:
try
{тело процедуры}
except
{а тут сохранить в файл сообщение типа в процедуре такойто произошло ужасное}
end;
тогда будешь хотяб знать где копать