![]() |
|
   [ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ] |
|
|
Windows Vista Bridge Sample Library - управляемые API для Windows
![]() Да, WinForms основан на HWND. Разработчики на .NET могут легко получить доступ к HWND, используя свойство класса System.Windows.Interop в компоненте WindowsBase (WindowsBase.dll). Но несмотря на всесторонние связи .NET Framework, данная среда исполнения не предлагает управляемые API для всех собственных Windows API. Поэтому у разработчиков управляемого кода нет никаких управляемых API для работы с UAC API, Restart Manager API или новым Windows Vista Search API. Это всего лишь несколько примеров собственных Windows API, для работы с которыми в .NET Framework нет каких-либо интерфейсов, но которые играют ключевую роль при развертывании некоторых приложений в Windows. Одной из областей, в которых VBSL может облегчить труд разработчиков - это диалоговые окна. Windows Vista предлагает вам множество диалоговых окон для разных целей. Например, если вы используете Windows Vista, то вам, вероятно, знаком следующий формат пользовательского интерфейса: ![]() или такой: ![]() Оба представленных выше диалоговых окна основаны на командных ссылках. С помощью Вот пример типичного набора командных ссылок: ![]() Командные ссылки похожи на Используя Windows Vista Bridge Sample Library, вы можете создать симпатичные диалоги Task Dialog, которые будут выглядеть следующим образом: ![]() Диалог Task Dialog является объектом Vista Bridge Sample Library, Microsoft.SDK.Samples.VistaBridge.Library.TaskDialog и не имеет свойств времени. Именно поэтому вы должны настроить диалоговое окно. Но это просто и мы докажем это на следующем примере. Во-первых, создайте Task Dialog:
Код:
TaskDialog td = new TaskDialog();
После чего начните настраивать его атрибуты - заголовок, инструкции, основную область и основную иконку:
Код:
//main content section
td.Caption = "Fancy "Vista" Task Dialog on Win 7"; td.Instruction = "Your instructions go here"; td.Content = "Download Windows Vista Bridge Library"; td.MainIcon = TaskDialogStandardIcon.Information; Теперь добавьте опциональный нижний колонтитул и иконку:
Код:
td.FooterText = "Footer text goes here"; t
d.FooterIcon = TaskDialogStandardIcon.Shield; Но самое интересное начнется, когда вы начнете разбираться с TaskDialog.Controls - коллекцией элементов управления TaskDialog -DialogControlCollection<TaskDialogControl>, r которому вы можете добавить объект TaskDialogControl:
Код:
td.Controls.Add(new TaskDialogCommandLink("new tdcl", "main text here"
В дополнение к добавлению командных ссылок, Task Dialog также может выводить набор событий, которые позволят вам манипулировать и взаимодействовать с пользователем во время его работы с диалоговым окном. Объекты Task Dialog используют событие Tick для работы с индикатором выполнения задачи, Open и Closing, а также HelpInvoked и HyperLinkClick для управления пользовательскими запросами о помощи и информации.
Код:
//events that you can catch
td.Tick += new EventHandler<TaskDialogTickEventArgs>(OnMyTick); td.Opened += new EventHandler(OnOpenInvoked); td.HelpInvoked += new EventHandler(OnHelpInvoked); Также вы можете добавить компоненты Progress Bar, CheckBox и Radio Button. По сути, Windows Vista Task Dialogs API является мини-версией среды исполнения Dialog, который позволяет вам сохранить много времени при работе с мастерами и диалоговыми окнами. Код вышеприведенного примера:
Код:
1: td = new TaskDialog();
2: 3: // 4: td.StartupLocation = TaskDialogStartupLocation.CenterOwner; 5: td.Cancelable = true; 6: 7: //main content section 8: td.Caption = "Fancy "Vista" Task Dialog on Win 7"; 9: td.Instruction = "Your instructions go here"; 10: td.Content = "Download Windows Vista Bridge Library Sample"; 11: td.MainIcon = TaskDialogStandardIcon.Information; 12: 13: //setting footer content 14: td.FooterText = "Footer text goes here"; 15: td.FooterIcon = TaskDialogStandardIcon.Shield; 16: 17: //Command Links 18: td.Controls.Add(new TaskDialogCommandLink("new tdcl", "Main text here", "Instruction")); 19: td.Controls.Add(new TaskDialogCommandLink ("Another new tdcl", " Another main text here", "More instruction")); 20: 21: //Expanding 22: td.ExpansionMode = TaskDialogExpandedInformationLocation.ExpandContent; 23: td.ExpandedControlText = "Expanded Control Text"; 24: td.ExpandedText = "This is some expanded text, only visible when expanded"; 25: td.CollapsedControlText = "Collapsed Control Text"; 26: td.HyperlinksEnabled = true; 27: 28: //Prograss Bar 29: TaskDialogProgressBar tdpb = new TaskDialogProgressBar(); 30: tdpb.Name = "myPrograssBar1"; 31: tdpb.Minimum = 0; 32: tdpb.Maximum = 100; 33: td.ProgressBar = tdpb; //adding to main Task Dialog 34: 35: // Check Box 36: td.CheckBoxChecked = true; 37: td.CheckBoxText = "This is a checkbox, we can register to listen for its events"; 38: 39: //events that you can catch 40: td.Tick += new EventHandler<TaskDialogTickEventArgs>(OnMyTick); 41: td.Opened += new EventHandler(OnOpenInvoked); 42: td.HelpInvoked += new EventHandler(OnHelpInvoked); 43: td.Closing += new EventHandler<TaskDialogClosingEventArgs>(OnDialogClosing); 44: td.HyperlinkClick += new EventHandler<TaskDialogHyperlinkClickedEventArgs>(td_HyperlinkClick); 45: 46: td.Show(); Источник: [ вверх ]
Ваш комментарий к данному материалу будет интересен нам и нашим читателям!
|
|
WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects |
|