![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как я могу нарисовать рамку выделения [D6, WinXP]
mOOx_ © (2003-10-06 19:16:00)
Добрый день, Мастера.
У меня вот какой к вам вопрос. Понадобилось мне растягивать форму, которая имеет стиль bsNone. Стандартно она не растягивается и я растягиваю ее насильно. Но при этом все МОРГает. Неприятно как-то. Вот я и решил растягивать не форму сразу, а сначала рамочку эту растянуть(я про рамку, которая в виндах при зажатой кнопке мыши появляется). Вот и думаю, что за API такая? Может поможете чем. Спасибо скажу :)
mOOx_ (2003-10-07 16:59:00) [1]
Спасибо за разъяснения. Я по другому думал :)
clickmaker (2003-10-06 19:39:00) [2]
Кстати есть еще DrawFocusRect, она пунктирную рамочку уже с XOR рисует
clickmaker (2003-10-06 19:37:00) [3]
Ну тебе ж рамку надо поверх всего рисовать. А это и есть GetDC(0), не рабочий стол даже, а весь экран
mOOx_ (2003-10-06 19:33:00) [4]
Так GetDC(0)-этож, на сколько я знаю, раб. стол. А если надо на другом, допустим, компоненте? Тогда Handle того самого компонента?
clickmaker (2003-10-06 19:30:00) [5]
dc := GetDC(0);
SetROP2(dc, R2_XORPEN); // искл. ИЛИ
// первый раз рисуешь - рамочка появляется, второй
// раз рисуешь на том же месте - исчезает
// Перемещаешь мышь, рисуешь опять и так далее
Rectangle(dc, x1, y1, x2, y2);