G I S   T o o l K i t
Справочник программиста

Главная | MAPAPI | PANAPI | Примеры
 

 
МЕТОДЫ КЛАССА "ПРИКЛАДНАЯ ЗАДАЧА"
(TPanTask)

Объявлены: pantask.h   Реализация: pantask.cpp

 

Конструктор и деструктор

 

TPanTask::TPanTask

Создать новый объект "Приладная задача".
Параметры:
mapdoc – указатель на документ, для которого создается задача;
parm – указатель на структуру TASKPARM с параметрами задачи;
pathname – путь к dll-библиотеке задачи.

 
public:

TPanTask(HMAPDOC mapdoc, TASKPARM * parm, const char * pathname)

 

 

TPanTask::~TPanTask

Уничтожить объект "Приладная задача".

 
public:

virtual ~TPanTask()

 

 

 Методы управления задачей

 

TPanTask::IsActive

Запрос активности задачи (после конструктора).

 
public:

int IsActive()

{

  return (MapTask != 0);

}

 

 

TPanTask::GetTaskIdent

Запросить идентификатор задачи.

 
public:

HMAPTASK GetTaskIdent()

{

  return MapTask;

}

 

 

TPanTask::Quit

Принудительное завершение работы задачи через ::PostMessage(...).

 
public:

void Quit()

 

 

Функции подключения/отключения обработчиков команд

Некоторые команды могут выполняться задачей без назначения обработчика (управление состоянием ...).

 

TPanTask::CallHelp

Запросить описание команды.
comid - идентификатор обработчика команды.

 
public:

virtual void CallHelp(int comid)

{

  GetAction(comid,-1);

}

 

 

TPanTask::ViewHelp

Вызвать справочную систему Help.

 
public:

virtual void ViewHelp(int topic,const char * helpname = 0)

 

 

TPanTask::CloseAction

Отключить обработчик команды.
comid - идентификатор обработчика команды.
Он может отказаться при CanClose().

 
public:

virtual void CloseAction(int comid)

 

 

TPanTask::DestroyAction

Отключить обработчик команды принудительно.
comid - идентификатор обработчика команды.

 
public:

virtual void DestroyAction(int comid = 0)

 

 

TPanTask::GetAction

Найти обработчик команды и активизировать (если run != 0).
comid - идентификатор обработчика команды.
Список команд и обработчиков располагается в функции GetAction()! 
Если команда не поддерживается задачей - возвращает ноль.

 
public:

virtual HMAPACTION GetAction(int comid, int run = 1)

 

 

TPanTask::EnableAction

Запросить обрабатывается ли указанная команда в данной задаче.
Если нет - возвращает ноль.

 
public:

int EnableAction(TCommandEnabler& ce)

{

  return EnableAction(ce.Ident(),ce);

}

 
public:

virtual int EnableAction(int comid,TCommandEnabler& ce)

 

 

TPanTask::PrepareMessage

Обработка оконных сообщений в задаче.
Если сообщение не обработано - возвращает ноль.

 
public:

virtual int PrepareMessage(int /*message*/, WPARAM /*wparam*/,
                LPARAM /*lparam*/, int * /*retcode*/)

{

  return 0;

}

 

 

TPanTask::IsMultiDocTask

Запросить поддерживает ли задача работу с несколькими окнами документов. Если нет - возвращает ноль.

 
public:

virtual int IsMultiDocTask()

{

  return 1;

}

 

 

TPanTask::RestartAction

Перезапуск обработчика команды.
comid - идентификатор обработчика команды.

 
public:

virtual void RestartAction(int comid)

 

 

TPanTask::SetFocus

Окно документа получило фокус ввода.

 
public:

virtual void SetFocus(HWND hwnd) { }

 

 

TPanTask::KeyDown

Извещение: нажата клавиша.
key - идентификатор нажатой клавиши (описаны в winuser.h);
repeatCount - количество повторов (если пользователь удерживает клавишу);
flags - флаги, соответствует значениям сообщения WM_KEYDOWN.
Если событие не обрабатывается и может быть передано обработчику окна карты  - возвращается 0.

 
public:

virtual int KeyDown(UINT /*key*/, UINT /*repeatCount*/, UINT /*flags*/)

{

  return 0;

}

 

 

TPanTask::Move

Извещение: перемещение мышки по окну.
modKeys - идентификатор нажатой клавиши клавиатуры (описаны в winuser.h);
point - координаты точки, в которой находится курсор, в системе координат окна;
Если событие не обрабатывается и может быть передано обработчику окна карты  - возвращается 0.

 
public:

virtual int Move(UINT /*modKeys*/, POINT& /*point*/)

{

  return 0;

}

 

 

TPanTask::Paint

Извещение о выполнении перерисовки окна.
dc - контекст-устройства вывода;
erase - флаг очистки области, перед рисованием;
rect - координаты прямоугольной области, которая перерисовывается.
Если событие не обрабатывается и может быть передано обработчику окна карты  - возвращается 0.

 
public:

virtual void Paint(HDC /*dc*/, int /*erase*/, RECT& /*rect*/) { }

 

 

TPanTask::BeforePaint

Извещение о начале перерисовки окна.
dc - контекст-устройства вывода;
rect - координаты прямоугольной области, которая перерисовывается.
Если событие не обрабатывается и может быть передано обработчику окна карты  - возвращается 0.

 
public:

virtual void BeforePaint(HDC /*dc*/, RECT& /*rect*/) { }

 

 

Извещения о различных событиях

 

TPanTask::AnyActionClose

Извещение об завершении текущего обработчика какой-то задачи.
ident - идентификатор обработчика.

 
public:

virtual void AnyActionClose(int ident) { }

 

 

TPanTask::AnyActionOpen

Извещение о запуске обработчика какой-то задачи.
ident - идентификатор обработчика.

 
public:

virtual void AnyActionOpen(int ident) { }

 

 

TPanTask::BeforeCloseMap

Извещение о том, что закрывается карта и будет закрыта задача (можно запомнить параметры сеанса в INI-файле и т.п.).
Если задача закрывается, а карта остается открытой – это событие не вызывается.

 
public:

virtual void BeforeCloseMap() { }

 

 

TPanTask::ChangeData

Извещение об изменении содержания данных (карт, растров, матриц ...).
Если активен обработчик - проверить, что он не работает c закрытыми данными!

 
public:

virtual void ChangeData() { }

 

 

TPanTask::ChangeMainSize

Извещение об изменении размера главного окна.
Передаются размеры клиентной области окна.

 
public:

virtual void ChangeMainSize(int /*width*/, int /*height*/) { }

 

 

TPanTask::ChangeViewSelect

Извещение об изменении состава отображаемых объектов карты.
Вызывается до перерисовки окна карты.

 
public:

virtual void ChangeViewSelect() { }

 

 

TPanTask::ChangeViewDoc

Извещение об изменении состава отображаемых данных документа.
type - тип изменившихся данных (0 - карты, 1 - растры, 2 - матрицы, 3 - геопорталы).
Вызывается до перерисовки окна карты.

 
public:

virtual void ChangeViewDoc(int type) { }

 

 

TPanTask::ChangeOrderDoc

Извещение об изменении порядка отображения данных документа.
type - тип изменившихся данных (0 - карты, 1 - растры, 2 - матрицы, 3 – геопорталы).
Вызывается до перерисовки окна карты.

 
public:

virtual void ChangeOrderDoc(int type) { }

 

 

TPanTask::AdjustData

Извещение о наступлении периода проверки данных.
Вызывается для обеспечения синхронизации данных в многопользовательском режиме работы с частотой, выбранной пользователем (Параметры/Период обновления).

 
public:

virtual void AdjustData() { }

 

 

TPanTask::ChangeObject

Извещение о редактировании объекта векторной карты.
Приходит при обновлении одной из векторных карт документа changeinfo - см. maptype.h
Если при обработке извещения редактировать карту - может произойти зацикливание!

 
public:

virtual void ChangeObject(CHANGEINFO* /*changeinfo*/) { }

 

 

TPanTask::IsChangeObjectActive

Запрос - нужно ли извещать задачу об изменениях объектов (посылка извещений понижает скорость редактирования векторной карты).

 
public:

virtual int IsChangeObjectActive()

{

  return 0;

}

 

 

TPanTask::ChangeLanguage

Извещение об изменении языка сообщений.
code - код языка  интерфейса (ML_ENGLISH = 1 - английский, ML_RUSSIAN = 2 - русский).

 
public:

virtual void ChangeLanguage(int code) { }

 

 

Функции запроса справочных данных

 

TPanTask::GetMapWindow

Запросить окно электронной карты.

 
public:

TPanWindow * GetMapWindow()

{

  return MapWindow;

}

 

 

TPanTask::GetLanguage

Запросить код языка сообщений. 
Возвращает код: ML_ENGLISH = 1 - английский, ML_RUSSIAN = 2 - русский.

 
public:

int GetLanguage()

{

  return Language;

}

 

 

TPanTask::Name

Запросить имя данной задачи.

 
public:

virtual const char * Name()

{

  return "PanTask";

}

 

 

TPanTask::GetMainHandle

Запросить идентификатор главного окна приложения.

 
public:

HWND GetMainHandle()

{

  return HMainWindow;

}

 

 

TPanTask::MainMessage

Отправить сообщение главному окну приложения.

 
public:

int MainMessage(int message, WPARAM wparm, LPARAM lparm = 0)

{

  #ifdef WIN32API

    HWND handle = GetMainHandle();

 

    if (handle)

      return ::SendMessage(handle,message,wparm,lparm);

    #else

      if (MessageHandler)

        return MessageHandler(0, message, wparm, lparm, 0);

  #endif

  return 0;

}

 

 

TPanTask::PanelIdent

Запросить идентификатор панели данной задачи.
Переопределяется в конце класса.

 
public:

virtual int PanelIdent()

{

  return 0;

}

 

 

Запрос координат текущей точки

 

TPanTask::GetPicturePoint

Запросить координаты в системе изображения. Координаты текущей точки в пикселах.

 
public:

POINT * GetPicturePoint()

 

 

TPanTask::GetMapPoint

Запросить координаты в логической системе карты.
Координаты текущей точки в дискретах.

 
public:

DOUBLEPOINT * GetMapPoint()

 

 

TPanTask::GetPlanePoint

Запросить координаты в прямоугольной местной системе.
Координаты текущей точки в метрах.

 
public:

DOUBLEPOINT * GetPlanePoint()

 

 

TPanTask::GetGeoPoint

Запросить координаты в географической системе.
Координаты текущей точки в радианах.
Если географическая система координат не поддерживается значение координат всегда ноль!

 
public:

DOUBLEPOINT * GetGeoPoint()

 

 

TPanTask::IsGeoSupported

Проверка поддержки географических координат.
Если не поддерживаются - возвращает ноль.

 
public:

int IsGeoSupported()

 

 

TPanTask::LoadFunction

Определить адрес функции в библиотеке пользователя.
name - название функции.

 
public:

FARPROC LoadFunction(const char * name)

 

 

Функции создания панелей пиктограмм

 

TPanTask::CreateTaskPanel

Создать стандартную панель инструментов задачи.
panel - номер панели (см. userapi.h).

 
public:

virtual int CreateTaskPanel(int panel = 1)

{

  return 0;

}

 

 

TPanTask::CreatePanel

Создать пустую панель инструментов.
hInst   - идентификатор модуля содержащего ресурсы кнопок;
name    - заголовок панели;
panelId - желаемый идентификатор панели или 0, если хотите, чтобы система выделила его сама.
Возвращает идентификатор созданной панели - может не совпадать с panelId, если такой идентификатор не свободен.

 
public:

int CreatePanel(HINSTANCE hInst, const char* name, int panelId = 0)

 

 

TPanTask::InsertButton

Добавить/вставить кнопку в панель.
panelID  - идентификатор панели;
bmpFace  - идентификатор изображения кнопки в ресурсах (размер кнопки соответствует размеру загружаемого изображения), если bmpFace = (-1) - загружается изображение кнопки формата PNG (тип ресурса: RCDATA, идентификатор ресурса: command). Размер кнопки устанавливается оболочкой, в зависимости от выбранного режима;
command  - идентификатор кнопки, если 0 – разделитель;
after    - идентификатор существуищей кнопки, после которой вставляется кнопка, если 0 - в конец панели;
background - признак отрисовки фона;
press      - состояние (отжата\нажата - 0\1);
enable     - доступность (0\1);
hint       - короткий комментарий кнопки;
comment    - длинный комментарий.

 
public:

int InsertButton(int panelID, long int bmpFace, int command, int after = 0, int background = 0, int press = 0, int enable = 1, WCHAR * hint = 0, WCHAR * comment = 0)

 

 

TPanTask::InsertControl

Добавить/вставить элемент управления в панель.
panelID  - идентификатор панели;
hwnd - идентификатор окна;
ctrlId - идентификатор вставляемого элемента управления;
after   - идентификатор (команда) элемента панели, за которым добавляется данный. Если after равно 0, новый элемент добавляется в конец панели.

 
public:

int InsertControl(int panelID, HWND hwnd, int ctrlId, int after = 0)

 

 

TPanTask::MovePanel

Переместить панель инструментов прикладной задачи.
panelID  - идентификатор панели;
rect     - координаты нового положения панели;
position - расположение панели в окне (см. LOCAL);
layout   - признак немедленного обновления окна.

 
public:

int MovePanel(int panelID, RECT rect, int  position, int layout = 1)

 

 

TPanTask::GetPosPanel

Запросить параметры панели инструментов прикладной задачи.
panelID  - идентификатор панели;
panelPos - указатель на структуру PANELPOS для возврата параметров панели.

 
public:

int GetPosPanel(int panelID, PANELPOS* panelPos)

 

 

TPanTask::DeleteButton

Удалить кнопку из панели.
panelID  - идентификатор панели;
command  - идентификатор кнопки.

 
public:

int DeleteButton(int panelID, int command)

 

 

TPanTask::SetButtonFace

Изменить картинку на кнопке.
panelID  - идентификатор панели;
command  - идентификатор кнопки;
bmpFace  - идентификатор нового изображения кнопки.

 
public:

int SetButtonFace(int panelID, int command, HBITMAP bmpFace)

 

 

TPanTask::GetPanelHandle

Запрос HWND панели инструментов.
panelID  - идентификатор панели.

 
public:

HWND GetPanelHandle(int panelID)

 

 

TPanTask::ShowPanel

Показать / Скрыть панель инструментов прикладной задачи.
panelID  - идентификатор панели;
show = 0 - скрыть панель, 1 - показать панель.

 
public:

int ShowPanel(int panelID, int show = 1)

 

 

TPanTask::PanelCanClose

Запрос на закрытие панели инструментов.
panelID  - идентификатор панели.
Если это главная панель задачи, то она может отключить текущий обработчик.

 
public:

virtual int PanelCanClose(int panelID)

 

 

TPanTask::PanelClosed

Уведомление о закрытии панели инструментов.
panelID  - идентификатор панели.

 
public:

virtual void PanelClosed(int panelID) { }

 

 

TPanTask::PanelRightUp

Отпускание правой кнопки мыши над панелью.
panelID  - идентификатор панели;
point    - положение курсора на экране.

 
public:

virtual int PanelRightUp(int panelID, POINT * point)

{

  return 0;

}

 

 

TPanTask::GetFlagIsDialogActive

Запросить флаг активного модального диалога в системе.
Возвращает: 0-нет активных диалогов, 1-наличие активного диалога.
Для предотвращения запуска второго модального диалога из "висячих" панелей.

 
public:

int GetFlagIsDialogActive()

 

 

TPanTask::SetFlagIsDialogActive

Установить флаг активного модального диалога в системе.
Устанавливать value = 1 перед запуском диалога и 0 после его закрытия.
Для предотвращения запуска второго модального диалога из "висячих" панелей.

 
public:

int SetFlagIsDialogActive(int value)

 

 

Функции управления главным меню ГИС

* Линейка главного меню (нулевой уровень)  - Menu,
* разворачиваемое меню (первый уровень)    - Item,
* разворачиваемое подменю (второй уровень) - SubItem.

 

TPanTask::AppendMainMenu

Добавить пункт в линейку главного меню (0-ой уровень)(далее его нужно наполнить через AppendMenuItem()).
name - идентификатор меню (уникальная строка, начинается с латинской буквы, до 32 символов), используется для дальнейшего доступа к пунктам меню, не отображается;
caption - отображаемое название пункта в главном меню;
after   - идентификатор пункта меню, за которым добавляется данный пункт. Для пунктов ГИС применяются стандартные имена ("MenuFile", "MenuEdit", "MenuView", "MenuSearch", "MenuTools", "MenuBase", "MenuScale", "MenuOptions", "MenuWindow", "MenuHelp";
position - порядковый номер добавляемого пункта в главном меню с 1, если равен 0, пункт добавляется в конец.
При ошибке возвращает ноль.

 
public:

int AppendMainMenu(const char * name, const char * caption, const char * after)

int AppendMainMenu(const char * name, const char * caption, int position)

 

 

TPanTask::DeleteMainMenu

Удалить пункт из линейки главного меню (0-ой уровень).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню).
position - порядковый номер пункта в главном меню с 1.
При ошибке возвращает ноль.

 
public:

int DeleteMainMenu(const char * name)

int DeleteMainMenu(int position)

 

 

TPanTask::ViewMainMenu

Включить отображение пункта в линейке главного меню (0-ой уровень).
(После создания он видим и так).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню);
position - порядковый номер пункта в главном меню с 1.
При ошибке возвращает ноль.

 
public:

int ViewMainMenu(const char * name)

int ViewMainMenu(int position)

 

 

TPanTask::ShowMainMenu

Включить отображение пункта в линейке главного меню (0-ой уровень).
(После создания он видим и так).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню);
position - порядковый номер пункта в главном меню с 1.
При ошибке возвращает ноль.

 
public:

int ShowMainMenu(const char * name)

{

  return ViewMainMenu(name);

}

 

int ShowMainMenu(int position)

{

  return ViewMainMenu(position);

}

 

 

TPanTask::HideMainMenu

Отключить отображение пункта в линейке главного меню (0-ой уровень).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню).
position - порядковый номер пункта в главном меню с 1.
При ошибке возвращает ноль.

 
public:

int HideMainMenu(const char * name)

int HideMainMenu(int position)

 

 

TPanTask::RenameMainMenu

Переименовать название пункта меню.
name - идентификатор меню (уникальная строка, заданная при создании пункта меню).
Заполняет значения caption (зарезервировать 64 символа!) и command.
При ошибке возвращает ноль.

 
public:

int RenameMainMenu(const char * name, char * caption)

 

 

TPanTask::GetMainMenu

Запросить описание пункта в линейке главного меню по порядковому номеру.
Заполняет значения name и caption (зарезервировать по 64 символа!).
position - порядковый номер пункта в главном меню с 1 (0-ой уровень).
При ошибке возвращает ноль.

 
public:

int GetMainMenu(char * name, char * caption, int position)

 

 

TPanTask::GetMainMenuCount

Запросить число пунктов в линейке главного меню (0-ой уровень).
При ошибке возвращает ноль.

 
public:

int GetMainMenuCount()

 

 

TPanTask::AppendMainMenuItem

Добавить пункт в разворачиваемом меню (1-ый уровень).
name - идентификатор пункта в линейке главного меню (уникальная строка, начинается с латинской буквы, до 32 символов), используется для дальнейшего доступа к пунктам меню, не отображается. Для пунктов ГИС применяются стандартные имена ("MenuFile", "MenuEdit", "MenuView", "MenuSearch", "MenuTools", "MenuBase", "MenuScale", "MenuOptions", "MenuWindow", "MenuHelp".
caption - отображаемое название пункта в разворачиваемом меню;
command - идентификатор добавляемого пункта в разворачиваемом меню (команда, посылаемая при выборе пункта меню);
after   - идентификатор (команда) пункта меню, за которым добавляется данный пункт. Идентификаторы пунктов меню ГИС приведены в panorama.rh (CM_PAN_FILESAVE, CM_PAN_FILEOPEN,...CM_PAN_SEARCH...). Если after равно 0, пункт добавляется в конец, если значение меньше нуля - пункт добавляется в заданную позицию (-1 - первый, -2 - второй...).
При ошибке возвращает ноль.

 
public:

int AppendMainMenuItem(const char * name, const char * caption, int command, int after)

 

 

TPanTask::DeleteMainMenuItem

Удалить пункт в разворачиваемом меню (1-ый уровень).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню);
command - идентификатор (команда) пункта меню. Если значение command равно 0 - выбирается последний пункт меню, если значение меньше нуля - выбирается пункт в заданной позиции (-1 - первый, -2 - второй...).
При ошибке возвращает ноль.

 
public:

int DeleteMainMenuItem(const char * name, int command)

 

 

TPanTask::ViewMainMenuItem

Включить отображение пункта в главном меню (1-ый уровень) (после создания он видим и так).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню);
command - идентификатор (команда) пункта меню. Если значение command равно 0 - выбирается последний пункт меню, если значение меньше нуля - выбирается пункт в заданной позиции (-1 - первый, -2 - второй...).
При ошибке возвращает ноль.

 
public:

int ViewMainMenuItem(const char * name, int command)

 

 

TPanTask::HideMainMenuItem

Отключить отображение пункта в главном меню (1-ый уровень).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню);
command - идентификатор (команда) пункта меню. Если значение command равно 0 - выбирается последний пункт меню, если значение меньше нуля - выбирается пункт в заданной позиции (-1 - первый, -2 - второй...).
При ошибке возвращает ноль.

 
public:

int HideMainMenuItem(const char * name, int command)

 

 

TPanTask::RenameMainMenuItem

Переименовать название пункта меню.
name - идентификатор меню (уникальная строка, заданная при создании пункта меню).
Заполняет значения caption (зарезервировать 64 символа!) и command.
При ошибке возвращает ноль.

 
public:

int RenameMainMenuItem(const char * name, char * caption, int command)

 

 

TPanTask::GetMainMenuItem

Запросить описание пункта меню по порядковому номеру (1-ый уровень).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню).
Заполняет значения caption (зарезервировать 64 символа!) и command.
position - порядковый номер пункта в разворачиваемом меню с 1.
При ошибке возвращает ноль.

 
public:

int GetMainMenuItem(const char * name, char * caption, int * command, int position)

 

 

TPanTask::GetMainMenuItemCount

Запросить число пунктов в разворачиваемом меню (1-ый уровень).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню).
При ошибке возвращает ноль.

 
public:

int GetMainMenuItemCount(const char * name)

 

 

TPanTask::AppendMainMenuSubItem

Добавить пункт в разворачиваемом подменю (2-ой уровень).
name - идентификатор пункта в линейке главного меню (уникальная строка, начинается с латинской буквы, до 32 символов), используется для дальнейшего доступа к пунктам меню, не отображается. Для пунктов ГИС применяются стандартные имена ("MenuFile", "MenuEdit", "MenuView", "MenuSearch", "MenuTools", "MenuBase", "MenuScale", "MenuOptions", "MenuWindow", "MenuHelp".
caption - отображаемое название пункта в разворачиваемом меню;
command - идентификатор пункта в разворачиваемом меню (1-ый уровень) в подменю которого добавляется пункт;
subcommand - идентификатор добавляемого пункта в разворачиваемом меню (команда, посылаемая при выборе пункта меню);
after   - идентификатор (команда) пункта меню, за которым добавляется данный пункт. Идентификаторы пунктов меню ГИС приведены в panorama.rh (CM_PAN_FILESAVE, CM_PAN_FILEOPEN,...CM_PAN_SEARCH...). Если after равно 0, пункт добавляется в конец, если значение меньше нуля - пункт добавляется в заданную позицию (-1 - первый, -2 - второй...).
При ошибке возвращает ноль.

 
public:

int AppendMainMenuSubItem(const char * name, const char * caption, int command, int subcommand, int after)

 

 

TPanTask::DeleteMainMenuSubItem

Удалить пункт в разворачиваемом подменю (2-ой уровень).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню);
command - идентификатор пункта меню (1-ый уровень), в подменю которого удаляется пункт;
subcommand - идентификатор (команда) удаляемого пункта меню. Если значение subcommand равно 0 - выбирается последний пункт меню, если значение меньше нуля - выбирается пункт в заданной позиции (-1 - первый, -2 - второй...).
При ошибке возвращает ноль.

 
public:

int DeleteMainMenuSubItem(const char * name, int command, int subcommand)

 

 

TPanTask::ViewMainMenuSubItem

Включить отображение пункта в подменю (2-ой уровень) (после создания он видим и так).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню);
command - идентификатор пункта меню (1-ый уровень), в подменю которого выбирается пункт;
subcommand - идентификатор (команда) отображаемого пункта меню. Если значение subcommand равно 0 - выбирается последний пункт меню, если значение меньше нуля - выбирается пункт в заданной позиции (-1 - первый, -2 - второй...).
При ошибке возвращает ноль.

 

public:

int ViewMainMenuSubItem(const char * name, int command, int subcommand)

 

 

TPanTask::HideMainMenuSubItem

Отключить отображение пункта в подменю (2-ой уровень).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню);
command - идентификатор пункта меню (1-ый уровень), в подменю которого выбирается пункт;
subcommand - идентификатор (команда) скрываемого пункта меню. Если значение subcommand равно 0 - выбирается последний пункт меню, если значение меньше нуля - выбирается пункт в заданной позиции (-1 - первый, -2 - второй...).
При ошибке возвращает ноль.

 
public:

int HideMainMenuSubItem(const char * name, int command, int subcommand)

 

 

TPanTask::RenameMainMenuSubItem

Переименовать название пункта в подменю (2-ой уровень).
name - идентификатор меню (уникальная строка, заданная при создании пункта меню).
Заполняет значения caption (зарезервировать 64 символа!) и command.
При ошибке возвращает ноль.

 
public:

int RenameMainMenuSubItem(const char * name, char * caption, int command, int subcommand)

 

 

TPanTask::GetMainMenuSubItem

Запросить описание пункта подменю по порядковому номеру (2-ой уровень).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню);
command - идентификатор пункта меню (1-ый уровень), в подменю которого выбирается пункт.
Заполняет значения caption (зарезервировать 64 символа!) и subcommand;
position - порядковый номер пункта в разворачиваемом подменю с 1.
При ошибке возвращает ноль.

 
public:

int GetMainMenuSubItem(const char * name, char * caption, int command, int * subcommand, int position)

 

 

TPanTask::GetMainMenuSubItemCount

Запросить число пунктов в разворачиваемом подменю (2-ой уровень).
name - идентификатор пункта в линейке главного меню (уникальная строка, заданная при создании пункта меню);
command - идентификатор пункта меню (1-ый уровень), у которого запрашивается число подпунктов.
При ошибке возвращает ноль.

 
public:

int GetMainMenuSubItemCount(const char * name, int command)

 

 
 

Касьянов О.В.
info@panorama.kharkov.ua

bigmir)net TOP 100