This page was last modified 07:43, 4 January 2008.
Стандартные диалоги AVKON для работы с файловой системой
From Forum Nokia Wiki
Перевод с английского, оригинальная статья находится здесь
Contents |
.MMP
LIBRARY CommonDialogs.lib
.RSS
#include <CommonDialogs.hrh> // Перечисления #include <CommonDialogs.rh> // Структуры ресурсов
Ресурс MEMORYSELECTIONDIALOG
Диалог выбора файла.
В этом диалоге вы можете указать корневую папку и папку по умолчанию. Корневая папка задается с помощью абсолютного пути, например "C:\Nokia\". Диалог не позволит пользователю указать путь, не включающий в себя корневую папку. Выбор папки начинается с папки по умолчанию, например "Images\Pictures\". Записи LOCATION могут быть заданы как для памяти телефона (диск с:), так и для карты памяти.
Пример ресурса диалога выбора папки:
RESOURCE MEMORYSELECTIONDIALOG r_memory_selection_dialog { title = "Choose memory:"; softkey_1 = "Accept"; softkey_2 = "Negative"; locations = { LOCATION { root_path = "C:\\Nokia\\"; }, LOCATION { root_path = "E:\\"; default_folder = "Images\\"; } }; }
В этом примере корневая папка задана в памяти телефона “C:\Nokia\” (обратите внимание на обратный слэш в конце пути) и если в диалоге выбрана память телефона, выбор папки начнется с этого пути. Корневой папкой для карты памяти является “E:\”, а выбор папки начнется с папки заданной по умолчанию - “E:\Images\”. Вы можете оставлять элементы структуры LOCATION пустыми - в этом случае будут использованы значения по умолчанию.
Ресурс FILESELECTIONDIALOG
Диалог выбора файла:
RESOURCE FILESELECTIONDIALOG r_file_selection_dialog { title = "Select-a-file:"; root_path = "C:\\Nokia\\Images\\"; filters = { FILTER { filtertype = EAttributeFilter; filterstyle = EExclusiveFilter; filterdata = { "SH", "R" }; // Исключим файлы //с атрибутами системный, скрытые или только для чтения } }; }
Ресурс FILENAMEPROMPTDIALOG
Диалог ввода имени файла:
RESOURCE FILENAMEPROMPTDIALOG r_filename_prompt_dialog { filename_prompt = "Enter filename:"; default_filename = "Attachment.jpg"; path = "C:\\Nokia\\Images\\"; }
Все элементы пользовательского интерфейса (CAknFileNamePromptDialog, CAknFileSelectionDialog, CAknMemorySelection и CAknMemorySelectionSettingPage) создаются с помощью функции NewL() и запускаются с помощью ExecuteL(). Также существует функция позволяющая сразу и создать и запустить диалог: RunDlgLD(). Включите заголовочные файлы библиотеки стандартных диалогов в ваш .cpp файл:
#include <AknCommonDialogs.h> // Для вызова RunDlgLD #include <CAknMemorySelectionDialog.h> #include <CAknMemorySelectionSettingPage.h> #include <CAknFileSelectionDialog.h> #include <CAknFileNamePromptDialog.h> //Пример запуска диалога: _LIT(KDefaultFileName, "Attachment.jpg"); TFileName defaultFileName(KDefaultFileName); AknCommonDialogs::RunSaveDlgLD(defaultFileName, R_MEMORY_SELECTION_DIALOG);
Ресурс:
RESOURCE MEMORYSELECTIONDIALOG r_memory_selection_dialog { locations = { LOCATION { root_path = "C:\\Nokia\\Images\\"; }, LOCATION { root_path = "E:\\"; default_folder = "Images\\"; } }; }
Также, обратите внимание на следующие функции:
AknCommonDialogs::RunSelectDlgLD()
AknCommonDialogs::RunMoveDlgLD()
AknCommonDialogs::RunSaveDlgLD()
AknCommonDialogs::RunSaveDlgNoDirectorySelectionLD()
AknCommonDialogs::RunFolderSelectDlgLD()
некоторые из них поддерживаются начиная с v 3.1
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Panic code Avkon 0 | noman_csedu | General Symbian C++ | 5 | 2008-01-08 13:14 |
| panic AVKON 0 | justin_armstrong | General Symbian C++ | 2 | 2002-12-02 19:51 |
| RESOURCE definitions | akerfeldt | Symbian User Interface | 3 | 2006-01-04 14:01 |
| Usage of RThread class | kamisetty | General Symbian C++ | 9 | 2007-07-06 09:00 |
| CCoeControl and Avkon | rampe29 | Symbian User Interface | 1 | 2003-09-02 08:05 |
