Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему на некоторых контролах


dmk ©   (2015-03-10 11:17:00) 

рамка с координатами (0,0)-(W,H) рисуется со смещением?
Посмотреть можно здесь: http://s4.postimg.org/q2lk2a7fh/tab01.jpg
Как избежать этого?


dmk   (2015-03-11 12:00:00) [1]

Разобрался. Нужно было GetWindowDC вместо GetDC использовать. Тогда все норм.


dmk   (2015-03-10 17:38:00) [2]

>Нарисовать рамку вокруг произвольного контрола?
В общем да. Если бы еще можно было бы, то и вокруг TControl, а не только TWinControl.


DVM   (2015-03-10 15:20:00) [3]


> dmk ©   (10.03.15 14:55) [5]
> И как отличить такие контролы? Ведь на кнопках и других
> раки рисуются четко по границе.

Чего ты хочешь добиться? Нарисовать рамку вокруг произвольного контрола? Или внутри него? На картинке у тебя по-разному.


Rouse_   (2015-03-10 15:04:00) [4]

Никуда она не уезжает, просто у некоторых контролов есть неклиентская область, а ты рисуешь на клиентской.


dmk   (2015-03-10 14:55:00) [5]

И как отличить такие контролы? Ведь на кнопках и других раки рисуются четко по границе.


dmk   (2015-03-10 14:54:00) [6]

>Какое именно смещение имеется в виду?
Рамка уезжает вовнутрь.

Код такой:
GetWindowRect(FCurrentControl, R);
DR.Left := 0;
DR.Top := 0;
DR.Width := R.Right - R.Left;
DR.Height := R.Bottom - R.Top;
canvas.Rectangle(DR);


Германн ©   (10.03.15 13:34) [3]
Как ее убрать?


Германн   (2015-03-10 13:34:00) [7]

Наверно потому, что у этих некоторых уже есть своя рамка.


MBo   (2015-03-10 11:42:00) [8]

Какое именно смещение имеется в виду?


DVM   (2015-03-10 11:39:00) [9]


> Как избежать этого?

(0,0)-(W-1,H-1) ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо