Форум: "Основная";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];
ВнизОтрисовка ClientRect Найти похожие ветки
← →
webpauk (2003-10-03 14:36) [0]Написал компонент, наследник TPanel. Особенности: 3d-рамка, расположенная след. образом - Rect(BorderWidth, BorderWidth, Width-BorderWidth, Height-BorderWidth). Вследствии этого, расположенные поверх компонента элементы, занимают полностью ClientRect и их границы становятся невидимы. Как переопределить ClientRect, чтобы прорисовка Border осталась, но верхние элементы, располагались в указанной рамке?
← →
webpauk (2003-10-03 15:00) [1]Help
← →
Rem (2003-10-03 15:23) [2]Конкретнее опиши...
← →
webpauk (2003-10-03 15:44) [3]Да куда уж конкретнее. Panel должен быть представлен в виде Border+рамка. Внутри рамки должны располагаться прочие элементы.
Если я отрисовываю полностью Clientrect(закрашываю белым цветом, папример), то верхние элементы ложатся не внутри рамки, а полность на Panel, из-чего и не видны их границы. Если же я изменяю отрисовку, то границы не закрашиваются.
← →
Rem (2003-10-03 16:00) [4]Фантастика! За это - Пулитцеровскую тебе премию!
>> Panel должен быть представлен в виде Border+рамка
Двойная рамка, что ли? Снаружи стандартная 3D, а внутри еще одна?
Как ты создаешь вторую рамку? Рисуешь, или компонент используешь? Если компонент, то какой?
>> Внутри рамки должны располагаться прочие элементы.
Какие прочие элементы?
>> Если я отрисовываю полностью Clientrect (закрашываю белым цветом, папример), то верхние элементы ложатся не внутри рамки, а полность на Panel, из-чего и не видны их границы.
Вообще шик! Компоненты, лежавшие раньше ВНУТРИ рамки (судя по описанию задачи при этом их границы были видны), после прорисовки панели (!) стали лежать вне рамки, в результате чего исчезли их границы... Я так понимаю, твоя прорисовка меняет Parent"а и свойства других компонентов?...
← →
webpauk (2003-10-03 16:07) [5]http://www.delphimaster.ru/cgi-bin/download.pl?get=1065182835&n=0
← →
webpauk (2003-10-03 16:12) [6]1.Рамку я прорисовываю. А внешняя рамка мне не нужна (BorderStyle:=bsNone)
2. Прочие элементы - всё что угодно, что можно кинуть на TPanel (combobox, listbox, etc)
3. Вот эти самые элементы и располагаются полностью по всей Panel, а я хочу, чтобы внутре моей области
Ну как? Шик? Ты просто не понял, что я имел ввиду.
← →
Rem (2003-10-03 16:29) [7]procedure TWinControl.AlignControls(AControl: TControl; var Rect: TRect); virtual;
Use AlignControls to align all controls within an area of a form, panel, group box, scroll box, or any container control. Specify the area in which to align the controls as the value of the Rect parameter.
← →
han_malign (2003-10-03 16:38) [8]TControl
protected
function GetClientRect: TRect; virtual;
← →
webpauk (2003-10-03 16:56) [9]ага, понял.
а чтобы её присобачить к компоненту, надо просто добавить в protected и описать function, или её надо где-то указывать (Paint, например)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c