Как стать автором
Обновить
11
0
Alex P @Centro

Пользователь

Отправить сообщение
Разумеется что многие программисты работают с базами данных. Но ведь есть ещё программисты баз данных в чистом виде, которые должны выбрать свой вариант.
Вот вы говорите «совмещаю». Но ведь есть то, что вам ближе всего, чем вы больше занимаетесь, что и нужно выбрать. Вот например многие говорят что они веб-верстальщики и веб-разработчики. Имхо, веб-разработчик уже по определению веб-верстальщик, а чистый веб-верстальщик может и не программировать совсем.
Поэтому выбор сознательно был сделан в пользу радиокнопок.
Кстати, есть альтернативная точка зрения, при которой принято считать что значение 0 в 0-й степени неопределено. Это даже отражено в некоторых приложениях, например Microsoft Excel при попытке посчитать 0^0 возвращает ошибку.
Кстати, Google калькулятор знает ответ на этот вопрос, достаточно в поиске ввести «answer to life, the universe, and everything».
Ещё бы доказательство такое же простое почему 0 в 0-й степени равно 1 :)
Слышал. В отличие от общеизвестных констант, хотел бы я посмотреть на программу в которой есть реальная польза от ответа на главный вопрос жизни, вселенной и всего такого :).
«даже для общеизвестных значений, таких как 3.14, 2.7, 9.8, 42»
Чем же число 42 общеизвестно? Число Каталана? Атомный номер Молибдена? В общем, даже с большой натяжкой, я не назвал бы 42 общеизвестым значением.
Обновить пришлось вручную, промежуточные версии ставились без моего ведома. Спасибо за оперативность.
Именно. Размытость (Aero Glass) в клиенской области окна. По умолчанию Aero Glass применяется только к заголовку окна.
В WPF нет встроенной поддержки эффекта, в нём тоже нужно непосредственно вызывать API функцию. В отличие от WinForms у него нет проблем с альфа каналом, поэтому достаточно установить свойство окна Background как Transparent. Однако, в WPF есть один неприятный момент при вызове данной API функции: нужно DPI, систему измерения в WPF, вручную преобразовать в пиксельную систему измерения.
a) Согласен что могут возникнуть проблемы например с лейблами черного цвета — текст не будет виден, так как он черный и поэтому будет прозрачен. Для того чтобы черный цвет отображался корректно, нужно заставить контрол использовать GDI+ а не GDI, т.е. установить UseCompatibleTextRendering в значение true. Глобально можно установить через Application.SetCompatibleTextRenderingDefault, которое по умолчанию устанавливается в false для поддержки старых контролов. Также можно рисовать ручками используя GDI+.
б) Верно замечено, плохой пример кода, Dispose конечно нужен, или, что лучше, нужно использовать статическую кисть Brushes.Black. Исправлю.
в) Первый раз я использовал эффект в WPF, в котором всё действительно проще, достаточно установить Background=«Transparent», а не закрашивать при перерисовке черным. К сожалению, в WinForms свойство TransparencyKey и в managed коде SetLayeredWindow API не дают желаемого результата, поэтому приходится вот так извращаться с перерисовкой.
В статье я старался изложить именно сам принцип того как это сделать, поэтому приношу свои извинения за минимализм и урывки кода.
Сделал я следующее:
1. Проверил версию системы (>=Windows Vista).
2. Объявил внешнюю API функцию DwmExtendFrameIntoClientArea, которая используется системой для эффекта.
3. Вызываю функцию перед появлением окна.
4. Фон области «стекла» зарисовал черным цветом. Камнем преткновения является то, что GDI не понимает alpha-blending, и если просто вызвать API функцию, вместо эффекта будет черный цвет. Для решения этой проблемы рисуем область черным цветом. Поскольку битовый паттерн RGB черного цвета (0x00000000) такой же как и битовый паттерн для 100% прозрачного ARGB, эффект работает.
Да-да, и про каждую такую мелочь нужно трубить на весь мир.
По сути то же лого, а раздули целую новость. Если бы оно заменилось втихаря, я бы и не заметил изменившийся хвост, как человек просто работающий с браузером.

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Зарегистрирован
Активность