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

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

Как я могу нарисовать рамку выделения [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);


Наверх

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