Форум: "KOL";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];
Вниз
А можно создавать/убирать statusbar налету? Найти похожие ветки
← →
Alexei Dragoner (2002-07-25 17:16) [0]Прошу прощение за назойливость, но все же:
А почему статус не отдельный объект? Мне интересно написать полноценное OpenGL приложение на KOL, поэтому интересуюсь...
Спасибо,
← →
Mhorse (2002-07-25 18:57) [1]StatusBar - объект, кто сказал, что нет? Form.StatusCtl имеет тип PControl, и свойство Visible у него на месте!
← →
Alexei Dragoner (2002-07-26 00:17) [2]Ясно, спасибо,
Инициализация не стандартная - автоматическая при присваивании StatusText чего-нибудь...
← →
Alexander (2002-10-15 10:22) [3]Не работает следующий код (1.54):
if menuMain.Items[mnStatusBar].Checked then
Form.SimpleStatusText := " "
else
Form.RemoveStatus;
В начале у меня StatusBar создан. После обработки Form.RemoveStatus всё содержимое StatusBar затирается, но размер формы остаётся прежний. После обработки Form.SimpleStatusText := " " форма ещё раз увеличивается на высоту StatusBar, но сам StatusBar не появляется, а появляется пустое место. Последующие шаги убирают и показывают это пустое место вместо самого StatusBar.
← →
Vladimir Kladov (2002-10-16 11:01) [4]
> Инициализация не стандартная - автоматическая при присваивании
> StatusText чего-нибудь...
Да, он очень у MS нестандартный. Не получается положить его еще
куда-то, кроме формы (по крайней мере, не получилось, когда я его
делал). Не получается положить на форму 2 статус-бара. Не удается
изменить ему размеры. Хотя можно (зачем-то) положить его не вниз, а вверх формы. В общем, я решил, что не нужно относиться к нему как к полноценному контролу. Это просто придаток внизу формы :)
> В начале у меня StatusBar создан. После обработки Form.RemoveStatus
> всё содержимое StatusBar затирается, но размер формы остаётся
> прежний. После обработки Form.SimpleStatusText := " " форма
> ещё раз увеличивается на высоту StatusBar, но сам StatusBar
> не появляется, а появляется пустое место. Последующие шаги
> убирают и показывают это пустое место вместо самого StatusBar.
У меня размер формы меняется при первом убирании. Делал по кнопке:
procedure TForm1.Button2Click(Sender: PObj);
begin
if Button2.Tag <> 0 then
Form.SimpleStatusText := " "
else
Form.RemoveStatus;
Button2.Tag := 1 - Button2.Tag;
end;
По меню делается так же. Какая версия KOL, Delphi, OS ?
Никакие constarint"ы не стоят? Специальной обработки OnResize нет?
← →
Alexander (2002-10-16 11:24) [5]>Какая версия KOL, Delphi, OS ?
1.54, 6.0, 2000 SP3
Ничего дополнительного не обрабатывается.
Так, чать проблемы я понял:
У меня у формы высота 330, а MinHeight=350 - но это я так из-за Toolbar-a сделал, мне нужно, чтобы форма имела минимальный размер такой, какой в Design time, и если я задаю MinHeight=330, то Toolbar нормально убирается с первого раза, но форму при этом после запуска можно уменьшить на эти самые 20 пикселов, т.е. на высоту Toolbar-a.
C появлением и отрисовкой те-же проблемы, что и были - появляется пустое место на месте Toolbar-a
← →
Vladimir Kladov (2002-10-17 16:18) [6]В KOL1.54 были проблемы с асм-версией. Правда, вроде бы только для treeview. Попробуйте подгрузить KOL 1.54.1 (выложено 16.10.2002, ср.)
Так про статус-бар речь-то вроде бы шла? MinHeight уберите для чистоты эксперимента. По идее MinHeight надо бы менять от того, есть статус или нет. В VCL всегда так делал.
← →
Alexander (2002-10-17 22:43) [7]>Попробуйте подгрузить KOL 1.54.1
Попробовал - не прошло.
>Так про статус-бар речь-то вроде бы шла?
Виноват, описАлся.
>MinHeight уберите для чистоты эксперимента.
Ставил я всё в ноль - тот же результат.
>По идее MinHeight надо бы менять от того, есть статус или нет.
Спорный вопрос. По идее это же часть моей формы, для которой я размеры все определил. И его видимость (status bar-a)не должна влиять на размеры окна.
← →
Vladimir Kladov (2002-10-21 08:25) [8]Так я не понял - вас не устраивает, что статус при динамическом
добавлении увеличивает форму на свою высоту? Или что?
Вообще-то я так сделал вовсе не потому, что мне так понравилось.
Видите ли, на заре KOL, когда в нем еще не было Align для всех
контролов, форма выглядела скорее как диалог. И динамическое
добавление статус-панели при условии сохранения высоты самой формы приводило к неприятностям. Контролы переставали влезать. Или приходилось резервировать место для статуса. Что вообще-то странно выглядело, особенно если учесть, что высота у него в разных условиях могла быть разной. Я потом погляжу, можно ли сделать так, чтобы эта фича была опциональна.
← →
Alexander (2002-10-21 09:11) [9]Сейчас мне важнее прорисовать Statusbar просле скрытия.
← →
Alexander (2002-10-22 14:49) [10]Опционально по-моему нужно задавать именно изменение размера формы, т.к. я специально посмотрел множество программ и в них размер формы при скрытии(показе) статусбара не изменяется.
← →
Vladimir Kladov (2002-10-23 10:16) [11]Спасибо за замечание. Данная потеря функциональности, как оказалось, произошла при переходе от версии 1.39 к 1.40. И так бы и осталась незамеченной, если бы не вы.
← →
SPeller (2002-10-23 11:54) [12]
> Alexander © (21.10.02 09:11)
А если ему сделать Show, я уже сталкивался с проблемой прорисовки при создании, даже ветку делал.
← →
Alexander (2002-10-23 13:11) [13]>SPeller
Да, такой код заработал:
if menuMain.Items[mnStatusBar].Checked then
begin
Form.SimpleStatusText := " ";
Form.StatusCtl.Show;
end
else
Form.RemoveStatus;
предложение Alexander © (22.10.02 14:49) остаётся в силе
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c