Прятать подсвеченные строки


1 0

Вот интересно, нафига Microsoft придумала (а самое страшное - везде использует) такую фишку, как прятать выделение при потере фокуса. Вот например, если у тебя что-то выделено в компоненте ListView и ты переключаешся на другое окно, это выделение исчезает. Оно есть, но его не видно. Нахрена это, может мне кто-нибудь объяснить? Какую микстуру принимал тот проектировщик, который придумал этот бред?

Вот я сижу сейчас перед двумя мониторами и на одном мониторе у меня открыт документ Excel, в котором список из 20 учетных записей нашей базы, а на другом мониторе у меня SQL Management Studio. Я иду по списку и проверяю с помощью SQL базу, что там случилось с этими учетными записями, что они немного некорретно отображают баланс. Когда я проверял первые три записи, все было нормально, но когда ты спускашеся в середину, то при переходе взгляда с SQL Management Studio на Excel я должен каждый раз искать нужную мне строку глазами, потому что какой-то кретин придумал прятать выделение.

Теперь чтобы проще было моим нежным глазкам искать нужную строчку, я изменяю цвет шрифта строки, с которой я сейчас работаю. Но это хорошо, что я могу такое сделать, в некоторых программах, когда работаешь со списком, который невозможно выгрузить куда-то и где текущее выделение исчезает, так и хочется подсветить строку маркером на мониторе.

Вот реально не вижу ни единой причины прятать выделение, когда окно потеряло фокус. Элементы все равно выделены, исчезает только подсветка выделения. Лично я в своих проектах во всех компонентах отключаю эту фишку сразу же после создания компонента. Например, для ListView сразу после создания я изменяю свойство HideSelection на false. Какого-то фака оно по умолчанию равно true.


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Влад

04 Июня 2010

Нашёл не очень удобную особенность WPF. При изменении свойства ResizeMode формы, если оно установлено как CanResizeWithGrip, на другое - например NoResize, или наоборот происходит событие Grid_Loaded.
Мой самодельный видеопроигрыватель на WPF имеет
выпадающий список, с адресами веб-камер,который загружается при запуске программы. Есть флажок, заставляющий окно принимать фиксированный размер, соответствующий размеру видео.
Я долго не мог понять,почему мой выпадающий список в ComboBox удваивается, когда я меняю свойство формы. Думал, что нашёл "ужасный глюк" в WPF. Впрочем, поменял событие на Window_Loaded и болезнь прошла.
    В том же MFC как-то обнаружил подводный камень. Заключался он, по-моему, в том, что в диалоговом окне не удавалось ловить сообщение от клавиатуры. Конструктор генерирует обработчик события, который ничерта не ловит.
Нашёл способ решения проблемы на каком-то французком сайте. Впрочем, бросил я изучать MFC, так как всё что мне нужно, можно написать на том же .NET в бесплатной среде разработки, а MFC сильно портит нервы. Прямо, кровавые слёзы.


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне