Существует множество различных типов приложений, где используется резиновая прямоугольная рамка для выделения, которая рисуется, пока мы тянем мышкой, удерживая нажатой клавишу. Такое часто можно увидеть в графических приложениях, при выделении областей, при рисовании прямоугольников/кругов или других фигур, а так же при перемещении каких-то объектов или изменении их размеров. Как можно реализовать это в своих приложениях? В этой статье я покажу современный метод.
Для рисования рамки можно использовать старые функции с операциями растеризации, такие как XOR. Растеризация специфична для старого графического интерфейса GDI и отсутствует в новой реализации GDI+. Раньше, мы должны были рисовать прямоугольник, используя включенный режим растеризации ROP2_XORPEN. Чтобы стереть рамку, не нужно перерисовывать всю сцену, достаточно еще раз нарисовать рамку, и она исчезнет.
Читать статью полностью на Hackish Code: Резиновая Зина или рамка для выделения в .NET Framework. В статье показан пример рисования на C#.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Михаил, а зачем ты постоянно делаешь ссылки на Насkishcоde? Или уже писать не о чем? Тут кто то говорил, что ты этим раскручиваешь сайт, а ты сказал что это не так. А мне кажется что именно так. Извини, но поначалу у тебя заметки были интересны, например "Весенняя конференция от МS". Вот это интересная живая заметка. А сейчас только одни переходы по ссылкам. И еще: жаль, но ты Миша, с приходом все большей популярностью стал не таким отзывчивым, не таким как был совсем недавно. Твои статьи очень интересно читать, но ты меняешься в худшую сторону, ты не замечаешь этого, но это так.
1. Я могу здесь миллион ссылок поставить на HackishCode и от этого он раскрученнее не станет. Я просто информирую о том, что выложил на другом сайте, опять же, своем. Кому интересно, смотрит, кому не интересно, пропускает.
2. Популярность ко мне не приходит, она падает и слава богу. Я уже писал, что она мне не нужна и абсолютно ничего не даст.
3. Я стал не отзывчивым? В чем это выражается? Я стал отвечать на почту намного быстрее. Если раньше месяцами не отвечал, то сейчас благодаря падению моей популярности я получаю меньше писем и могу отвечать быстрее и отвечаю всем. По возможности стараюсь помочь, хотя мне это абсолютно не нужно. И на блоге отвечаю всем, если вопросы адекватные, а они в последнее время почти все адекватные и даже критика адекватная.
4. Вот я не вижу, где я меняюсь. Давай посмотрим на последние посты на блоге:
- Stack Overflow - вполне живая заметка о моем мнении о сайте. Ссылка на внешний сайт есть, но не мой, мне нет смысла его продвигать.
- Яблочный прорыв - вполне живая заметка и без ссылок
- User Account Control на страже системы - вполне живая статья и без ссылок
- История одного интервью - еще более живая заметка и абсолютно без ссылок
- Google – «империя зла» - одна ссылка есть, но сайт не мой и я его не продвигаю. Я даже теги не поставил, чтобы не рекламировать :). Но считаю, что заметка вполне живая, и абсолютно не рекламная.
- Производители боятся Linux - не вижу ни единой ссылки, а вижу вполне живое общение
Вот сейчас на главной странице из 10 заметок только одна касается Hackish Code. Сегодня будет еще одна, но мне нужна будет ваша помощь. Если не хочешь помогать, то просто пропусти заметку и все.
Последняя ссылка на HackishCode была 23-го числа и то, со скринами Windows 7, просто не увидел смысла выкладывать и там и там, поэтому в одном месте выложил, в другом дал ссылку.
Нереально писать все время идеально. Я пишу о том, что болит и количество живых заметок не уменьшилось, а наоборот увеличилось (на мой взгляд). Если ты не видишь ничего для себя интересного, это просто значит, что в моей жизни не происходит ничего такого, что зацепило бы тебя, а я каким был, таким и остался. А может просто ты вырос и тебе неинтересно читать меня? Вот скоро будет осенняя конференция MS и я планирую там побывать и ты увидишь заметку и о ней.
2Сергей
Твое сообщение пришлось пересоздать, потому что ты ошибся в тегах комментирования. Ты хорошую вспомнил историю. Напоминаю, что я ответил человеку и удалил его вопрос только после того, как убедился, что он прочел. Последний свой ответ я не удалил, потому что не знаю, прочли его или нет и на сколько он помог. И оно так и висит не смотря на офтоп.
Если парень обратится по почте, то отвечу и по мере знаний помогу. С какими проблемами сам встречался, я рассказал решение. Но ведь согласись, вопрос был реальным офтопом и не смотря на это я пытался помочь.
Я понимаю, что некоторые хотят спросить меня о чем-то прямо на сайте и мне приходится отвечать. Может создать форум, чтобы было место для общения и помощь, но тогда блог уже перестанет быть блогом а превратится во второй VR. Над темой вопросиника прямо на сайте стоит подумать, что-то типа гостевой.
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.