27.11.2014 Views

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

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

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

++++<br />

>> coding<br />

++++<br />

++++<br />

++++<br />

++++<br />

++++<br />

++++<br />

++++<br />

++++<br />

++++<br />

++++<br />

++++<br />

++++<br />

++++<br />

++ ++<br />

++++<br />

++++<br />

++++<br />

ПОЛЕЗНЫЕ РЕСУРСЫ<br />

http://code.msdn.microsoft.com/WindowsAPICodePack — àëüôàâåðñèÿ<br />

áèáëèîòåêè Windows API CodePack.<br />

http://www.microsoft.com/downloads — îòñþäà ìîæíî ñòÿíóòü<br />

îôèöèàëüíûé îáðàç Windows 7 RC SDK. Â íåì òû íàéäåøü äîêóìåíòàöèþ,<br />

à òàêæå êó÷ó ïðèìåðîâ íà íåóïðàâëÿåìîì êîäå. Î÷åíü<br />

ðåêîìåíäóþ äëÿ èçó÷åíèÿ.<br />

http://www.techdays.ru — íà ñàéòå ñîáðàíî îãðîìíîå êîëè÷åñòâî<br />

îôèöèàëüíîãî âèäåî ïî ïðîäóêòàì îò MS. Ïî Windows 7 åñòü äîñòàòî÷íî<br />

áîëüøîå êîëè÷åñòâî ðîëèêîâ. Ïðè÷åì, ðîëèêè íåñóò â<br />

ñåáå ðåàëüíóþ ïîëüçó, à íå ïèàð :).<br />

http://habrahabr.ru — çäåñü âñåãäà ïîÿâëÿåòñÿ íîâàÿ è àêòóàëüíàÿ<br />

èíôîðìàöèÿ îáî âñåì, ÷òî ñâÿçàíî ñ IT. Windows 7 íå ñòàëà<br />

èñêëþ÷åíèåì. Åñòü êàê îáçîðû ñèñòåìû, òàê è ïîñòû êàñàòåëüíî<br />

ðàçðàáîòêè ïðèëîæåíèé ïîä íîâóþ ÎÑ.<br />

http://vr-online.ru — â èþëüñêîì íîìåðå ýëåêòðîííîãî æóðíàëà<br />

VR-<strong>Online</strong> òû ñìîæåøü ïðî÷èòàòü ìîþ ñòàòüþ, ïîñâÿùåííóþ îïèñàíèþ<br />

ïðîöåññà âçàèìîäåéñòâèÿ ñ áèáëèîòåêàìè Windows 7.<br />

http://blogs.microsoft.co.il/blogs/sasha — õîðîøèé áëîã ïî òåõíîëîãèÿì<br />

MS. Î÷åíü ìíîãî ïîñòîâ êàñàòåëüíî ïðîãðàììèíãà íà C#<br />

è ïîä Windows 7, â ÷àñòíîñòè. Íàñòðîåíèå ïîðòèò ëèøü òîò ôàêò,<br />

÷òî âñå ïîñòû íà àíãëèéñêîì.<br />

http://www.gumpi.com/Blog — ïîèùè òóò íàáîð êîìïîíåíò, ñ<br />

ïîìîùüþ êîòîðûõ òû ñìîæåøü ðåàëèçîâàòü îïèñàííûå â ñòàòüå<br />

ïðèåìû, èñïîëüçóÿ â êà÷åñòâå ñðåäû ðàçðàáîòêè ñòàðûé äîáðûé<br />

Delphi.<br />

СПИСКИ ПЕРЕХОДОВ<br />

НА ПРАКТИКЕ (JUMPLIST)<br />

Другой очень заметной новинкой SuperBar стали так называемые<br />

списки переходов. Они позволяют хранить список задач (функций),<br />

ассоциированных с приложением, ссылки на недавно открытые<br />

файлы и т.д. Если ты юзаешь Windows 7 в первый раз, то, чтобы познакомиться<br />

с функцией JumpList, кликни правой клавишей мыши по<br />

какому-нибудь значку на таскбаре (например, по IE8). В появившемся<br />

контекстном меню будут содержаться ссылки на основные функции<br />

программы — «Создать новое окно», «Приватный режим» и т.д.<br />

Плюсы такой «менюшки» очевидны. Поюзав эту фичу с недельку, я к<br />

ней чертовски привык, и теперь во всех своих будущих проектах буду<br />

обязательно делать поддержку JL. Перед тем, как писать код, проговорим<br />

теоретические нюансы. Чтобы встроить в свое приложение поддержку<br />

списков перехода, нам необходимо создать экземпляр объекта<br />

JumpListManager. Нюанс в этой, казалось бы, простой операции всего<br />

один — инициализировать объект нужно в момент создания кнопки<br />

приложения на SuperBar. Как это сделать? Достаточно всего лишь<br />

переопределить метод WndProc. В нашем случае метод должен обрабатывать<br />

сообщение TaskbarButtonCreatedMessage. При его возникновении<br />

от нас требуется воспользоваться методом CreateJumpListManager<br />

класса WindowsFormExtensions. Создав свой JumpListManager, можно<br />

начинать пить шампанское. По сути, первая часть работы выполнена.<br />

А КАК ЖЕ DELPHI?<br />

Âïîëíå âîçìîæíî, ÷òî òû — ðîäîì èç áàíäû áûâøèõ äåëüôèéöåâ,<br />

âûíóæäåííûõ â ñèëó ïîíÿòíûõ ïðè÷èí ïåðåéòè íà Visual Studio<br />

îò êîðïîðàöèè çëà. Íî ÷òî, åñëè ó òåáÿ åñòü ïðîåêòû, òðåáóþùèå<br />

ïîääåðæêè íîâîé ÎÑ è åå íîâûõ ôóíêöèé? Åñëè òâîé îòâåò «äà»,<br />

òî çíà÷èò, ýòà âðåçêà äëÿ òåáÿ. Daniel Wischnewski ñîçäàë ïàêåò<br />

êîìïîíåíò ïîä íàçâàíèåì «Windows 7 Controls for Delphi». Ñ ïîìîùüþ<br />

êîìïîíåíò, âõîäÿùèõ â ýòîò íàáîð, òû ñ ëåãêîñòüþ ñìîæåøü<br />

ИЗМЕНЕНИЕ СТАТУСА<br />

PROGRESSBAR<br />

int result = comboBox1.SelectedIndex;<br />

switch (result) {<br />

case 0:<br />

WindowsFormsExtensions.SetTaskbarProgressState(<br />

this,<br />

Windows7Taskbar.ThumbnailProgressState.Normal);<br />

break;<br />

case 1:<br />

WindowsFormsExtensions.SetTaskbarProgressState(<br />

this,<br />

Windows7Taskbar.ThumbnailProgressState.<br />

Indeterminate);<br />

break;<br />

}<br />

Далее следует «оформить» подписку на событие UserRemovedItems и<br />

приступать к созданию самих ссылок. Я тебе уже говорил, что ссылки<br />

могут быть нескольких типов — недавние документы, просто ссылки<br />

на программы и т.д. В своем примере я создаю так называемые «задачи»<br />

(делаю ссылку на программу «калькулятор»). За добавление<br />

очередной такой задачи отвечает метод AddUserTask объекта типа<br />

JumpListManager. В качестве одного единственного параметра методу<br />

требуется передать новый объект типа ShellLink с заполненными<br />

полями:<br />

• Path. Путь к приложению/файла.<br />

• Title — заголовок пункта в списке перехода.<br />

• Category — группа. Все ссылки в JL могут быть разделены по группам.<br />

• IconLocation — путь к иконке.<br />

• IconIndex — индекс иконки в файле.<br />

На этом рассмотрение процесса создания задач в списке переходов<br />

можно считать оконченным. Переписывай содержимое второй врезки<br />

в свой проект и запускай приложение для теста. Обрати внимание,<br />

если ты создашь для своей программы иконку на таскбаре, JL появляется<br />

всегда, независимо от того, запущено ли твое приложение<br />

или нет. Вполне возможно, что рано или поздно тебе захочется в JL<br />

создать список недавно открытых в твоей программе файлов. Принцип<br />

остается тот же, за исключением используемого метода — вместо<br />

AddUserTask нужно будет использовать AddToRecent.<br />

ОВЕРЛЕЙНЫЕ ИКОНКИ<br />

Microsoft в последней версии своей ОС пытается все делать так, чтобы<br />

пользователю жилось уютно и комфортно. Взять хотя бы еще одну<br />

фишку SuperBar — OverlayIcons (оверлейные иконки). Пользователю<br />

эта функция предоставляет возможность узнать о состоянии приложения.<br />

Уверен, что к выходу семерки в свет производители программмессенджеров<br />

возьмут эту функцию на заметку, так как с ее помощью<br />

можно красиво отображать текущий статус (отошел, занят) прямо на<br />

âñòðîèòü â ñâîå ïðèëîæåíèå ïîääåðæêó ñëåäóþùèõ ôóíêöèé:<br />

1. JumpList.<br />

2. Overlay Icons.<br />

3. ProgressBar Indication.<br />

4. TaskBar Thumbnails.<br />

Íåïëîõî? À åñëè ó÷åñòü, ÷òî âñå ýòî õîçÿéñòâî áåñïëàòíî — è áåçãëþ÷íî<br />

ðàáîòàåò íà Delphi 7-2009, òî ïðîñòî çàìå÷àòåëüíî!<br />

096<br />

++++ XÀÊÅÐ 07 /127/ 09

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!