Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.16;
Скачать: CL | DM;

Вниз

Отрисовка 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
1-51335
Руслан Гиричев
2003-10-06 01:07
2003.10.16
Как свернуть неглавное окно?


14-51404
Ketmar
2003-09-25 17:37
2003.10.16
читаю другие разделы и охреневаю


1-51242
Max_
2003-10-03 15:23
2003.10.16
RichEdit и позиция курсора?


1-51333
ARTEMKA
2003-10-06 02:54
2003.10.16
Вопрос про регионы в движение


14-51476
Yorick
2003-09-24 13:23
2003.10.16
Как можно отвоевать девушку?