Views
3 years ago

НЕСЛУЧАЙНО CUDA ИДЕМ? phpMyAdmin - Xakep Online

НЕСЛУЧАЙНО CUDA ИДЕМ? phpMyAdmin - Xakep Online

++++ >> coding ++++ ++++

++++ >> coding ++++ ++++ ИГОРЬ АНТОНОВ / ANTONOV.IGOR.KHV@GMAIL.COM / ++++ ++++ Out Object Save ++++ ++++ Open Image file Show Annotation Tools ++++ ++++ Image border My Favorite Macro ++++ ++++ ++++ ++++ ++++ ++ ++ SUPERBARCODING ПОД WINDOWS 7 Готовые решения для взаимодействия с новым таскбаром Панель задач, носящая гордое название «SuperBar» — не просто симпатичная панелька в стиле Mac OS. Это абсолютно новый компонент системы, способный выполнять кучу полезных функций. ++++ ++++ ++++ Если ты планируешь всерьез заняться разработкой софта под новую ОС и хочешь, чтобы твои программы не выглядели белыми воронами в сравнении с конкурентами, — ты просто обязан разобраться и реализовать в них полную поддержку всех новых фишек таскбара. Тем более, все эти штучки делают работу с приложением более комфортной и удобной. ЧТО НАМ ПОТРЕБУЕТСЯ Для знакомства с возможностями нового таскбара тебе понадобится Visual Studio и библиотека .NET Interop Sample Library (http://code. msdn.microsoft.com). В эту либу входят уже известная Vista-разработчикам библиотека — Vista Bridge — и многочисленные примеры, демонстрирующие использование некоторых новых технологий Windows 7 (SuperBar, Librarys, Sensor and Location Platform и т.д.). Мы затронем лишь SuperBar, но, если захочешь узнать подробнее о перечисленных технологиях, то намыль письмецо редактору рубрики и, возможно, в одном из ближайших номеров появится соответствующая статья. PROGRESSBAR НА ПАНЕЛИ ЗАДАЧ Начинать наше знакомство с программированием SuperBar мы будем с самого простого — с создания элегантного ProgressBar. Ты, наверное, уже смог заметить, что некоторые приложения (такие, как IE8, Проводник) могут отображать ход выполнения какой-либо операции прямо на панели задач. Такой подход очень удобен и позволяет лишний раз не дергаться и не разворачивать окно приложения с целью посмотреть, скопировался/закачался ++++ 094 XÀÊÅÐ 07 /127/ 09

coding ТИПИЧНЫЙ ПРИМЕР PROGRESSBAR НА ПАНЕЛИ ЗАДАЧ ли очередной файл или нет. К тому же, одним отображением процесса выполнения операции дело не ограничивается. Например, ты без особого труда можешь проинформировать пользователя о неудаче или приостановке выполнения задачи — либо вовсе намекнуть на неизвестное количество времени, необходимого для завершения операции. Все это реализуется путем изменения состояния ProgressBar. В общем, вариантов применения этой возможности SuperBar можно найти огромное множество, и сейчас мы рассмотрим, как реализовать все на практике. Создавай в Visual Studio новый проект, подключи к нему скачанную библиотеку и добавь ссылки на компоненты интеграции с рабочим столом (DesktopIntegration). На этом подготовительные работы окончены. Можно приступить непосредственно к рассмотрению примера. ПРИМЕР ДЕМОНСТРАЦИИ PROGRESSBAR В ДЕЙСТВИИ Для решения этой задачи потребуется воспользоваться услугами класса WindowsFormExtensions. Точнее, нас интересуют всего лишь два метода: SetTaskbarProgress() — ìåòîä ïîçâîëÿåò óêàçàòü ïðîöåíò âûïîëíåíèÿ îïåðàöèè SetTaskbarProgressState() — ìåòîä îòâå÷àåò çà óñòàíîâêó ñîñòîÿíèÿ ProgressBar Кинь на форму своего проекта две кнопки, одну надпись и один компонент типа ComboBox. Для первой кнопки в свойстве Text укажи «+», а для второй «-». Как ДЕМОНСТРАЦИЯ JUMPLIST У IE8 нетрудно догадаться, по нажатию первой пимпы мы будем сознательно увеличивать процент выполнения операции, а по нажатию второй — наоборот, уменьшать. Компонент ComboBox мы будем использовать для хранения списка возможных состояний: • Normal • Indeterminate • Error • Pause • NoProgress Пример моей формы ты можешь увидеть на рисунке. Теперь создавай обработчик события Clicked для первой кнопки (та которая «+») и пиши в нем две незамысловатые строчки кода: СОЗДАНИЕ THUMBBUTTON private ThumbButton myThumbButton; private ThumbButtonManager myThumbButtonManager; protected override void WndProc(ref Message m) { if (m.Msg == Windows7Taskbar.TaskbarButtonCreatedMessage) { if (myThumbButtonManager == null) { myThumbButtonManager = WindowsFormsExtensions. CreateThumbButtonManager(this); } myThumbButton = myThumbButtonManager.CreateThumbButton(1, this.Icon, "Test"); myThumbButton.Clicked += delegate { MessageBox.Show(«Test button»); }; myThumbButtonManager.AddThumbButtons(myThumbButton); } if (myThumbButtonManager != null) { myThumbButtonManager.DispatchMessage(ref m); } base.WndProc(ref m); } XÀÊÅÐ 07 /127/ 09 WindowsFormsExtensions. SetTaskbarProgress(this, totalProgress); totalProgress = totalProgress + 10; Аналогичным образом создавай обработчик события нажатия для второй кнопки и напиши в нем точно такие же строчки, как и в первом случае, только «плюс» поменяй на «минус». Вот так, с помощью всего лишь одной строчки кода мы добились отображения ProgressBar для нашего приложения на SuperBar. Чтобы программа успешно запустилась, не забудь добавить namespace Windows7.DesktopIntegration, Windows7. DesktopIntegration.WindowsForms и объявить приватную переменную totalProgress. Попробуй запустить приложение и поиграться с кнопками, а я тем временем приступлю к рассмотрению статусов ProgressBar. Как ты помнишь, возможные типы статусов мы забили в ComboBox. Вдохнем жизнь в наш список выбора! Создавай для него обработчик события SelectedIndexChanged и напиши туда код из соответствующей врезки («Изменение статуса ProgressBar»). Код для установки состояния ProgressBar затруднений вызвать не должен. По сути, весь листинг (я его привел не полностью) — это сплошной case и вызов метода SetTaskbarProgressState(). В качестве параметров я передаю методу хэндл формы и значение из перечисления Windows7Taskbar. ThumbnailProgressState, соответствующее определенному статусу. Результат работы моего примера ты можешь увидеть на рисунке 3. 095

Скачать - Xakep Online
ИюНь - Xakep Online
Май - Xakep Online
Ноябрь - Xakep Online
ЛУЧШИХ ВИРУСОВ - Xakep Online
JIT SPRAY АНАЛИЗ TDSS - Xakep Online
Скачать - Xakep Online
Январь - Xakep Online
УЧИМ КАКОценить сбалансированность системы ... - Xakep Online
ЛЕГКИЙ ХАК - Xakep Online
КОНКУРС - Xakep Online
Офисное западло - Xakep Online
7 ЧУДЕС KDE - Xakep Online
ВЗЛОМ ИНТЕРНЕТ-МАГАЗИНА: - Xakep Online
Скачать - Xakep Online
Ноябрь - Xakep Online
Взлом GSM - Xakep Online
Untitled - Xakep Online
WebMoney - Xakep Online
с татьи - Xakep Online
сишься, что левые трояны, вирусы и всякая про ... - Xakep Online
2009 - Xakep Online
cамые лучшие материалы 1-4 номеров + вся ... - Xakep Online
c-лето ;) - Xakep Online
Много новогодних конкурсов Много новогодних ... - Xakep Online
содержание 10 (59) - Xakep Online
ЗАКАДРИ КАРДИНГ НАШИ ИДУТ! - Xakep Online