Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

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
 
Powered by MediaWiki
     
     RDF Facets:
     
     
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qfnZtypeQUqfnTypeZWikiContentQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX