Sign in Join
Wiki copytemporary

TTaskDialog/ru: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: TTaskDialog/ru

OldNewLine
1+**TTaskDialog** ![](/wiki-images/a/aa/Ttaskdialogicon.png) является невизуальным компонентом, предназначенным для отображения полнофункциональных диалоговых окон в режиме выполнения программы с богатыми возможностями, наподобие диалоговых окон, реализованных через Windows API. Данный компонент расположен на вкладке [[Dialogs tab/ru|Dialogs]] [[Component Palette/ru|палитры компонентов]] и доступен в Lazarus начиная с версии 1.8.
2+
3+![](/wiki-images/5/5a/Ttaskdialog.png)
4+
5+Отобразить диалоговое окно можно выполнив метод Execute() и, если получен результат [[True/ru|True]], то свойство ModalResult получает id нажатой кнопки:
6+
7+- id стандартной кнопки (OK, Cancel, Yes и т.д.)
8+- id пользовательской кнопки, который был указан в переменной ModalResult для каждой кнопки
9+
10+В свойстве **MainIcon** можно задать значение стандартного значка: *none*, *warning*, *error*, *information*, *shield*.
11+
12+Свойство **RadioButton** определяет объект [[TRadioButton/ru|TRadioButton]], который был выбран щелчком мыши.
13+
14+## Пример
15+
16+В данном примере показано, как можно создать диалоговое окно и добавить пользовательские кнопки в режиме выполнения программы:
17+
18+``` pascal
19+ with TTaskDialog.Create(self) do
20+ try
21+ Title := 'Confirm removal';
22+ Caption := 'Confirm';
23+ Text := 'Remove selected item?';
24+ CommonButtons := [];
25+ with TTaskDialogButtonItem(Buttons.Add) do
26+ begin
27+ Caption := 'Remove';
28+ ModalResult := mrYes;
29+ end;
30+ with TTaskDialogButtonItem(Buttons.Add) do
31+ begin
32+ Caption := 'Keep';
33+ ModalResult := mrNo;
34+ end;
35+ MainIcon := tdiQuestion;
36+ if Execute then
37+ if ModalResult = mrYes then
38+ ShowMessage('Item removed');
39+ finally
40+ Free;
41+ end
42+```
43+
44+![](/wiki-images/2/2b/TTaskDialog_confirm_removal.png)
45+
46+## См. также
47+
48+- [[Dialog Examples|Примеры диалоговых окон]]
49+- [Hint on stackoverflow.com](https://stackoverflow.com/questions/4979556/how-to-use-the-ttaskdialog)
50+
51+---
52+*From the Free Pascal wiki, page "TTaskDialog/ru", as it stood on 2021-01-01 after a change by Sharfik, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history