Главная
Решение задач.
Справочные данные.
Формулы.
Программирование.
Как в Windows?
Разное.
Утилиты Windows.
Несправности принтеров.
BIOS по алфавиту.
Тесты.
Карта сайта.

Работа с меню на winAPI в delphi.

Создает меню.

function CreateMenu: HMenu;
Возвращаемое значение:
В случае успешного завершения - идентификатор меню; 0 - в противном случае.

Создает пустое всплывающее меню.

function CreatePopupMenu: HMenu;
Возвращаемое значение:
В случае успешного завершения - идентификатор меню; 0 - в противном случае.

Присоединяет в конец меню новый элемент, состояние которого определяется Flags.

function AppendMenu(Menu: HMenu; Flags, IDNewItem: PChar): Bool;
Параметры:
Menu: Изменяемое меню.
Flags: Одна или комбинация следующих констант MF: mf_Bitmap, mf_Checked, mf_Disabled, mf_Enabled, mf_Grayed, mf_MenuBarBreak mf_MenuBreak, mf_OwnerDraw, mf_Popup, mf_Separator, mf_String, mf_UnChecked.
IDNewItem: Идентификатор команды или описатель меню в случае всплывающего меню.
Возвращаемое значение:
Не нуль в случае успешного завершения; нуль - в противном случае.

Метит или снимает метку с элементов меню во всплывающем меню.

function CheckMenuItem(Menu: HMenu; IDCheckItem, Check: Word); Bool;
Параметры:
Menu: Всплывающее меню.
IDCheckItem: Помечаемый элемент меню.
Сheck: Определяет, как должен быть помечен элемент и как определяется его положение. Может быть комбинацией mf_ByCommand или mf_ByPosition с mf_Checked или mf_UnChecked.
Возвращаемое значение:
Предыдущее состояние элемента; -1, если элемент меню не существует.

Удаляет элемент из Menu. Если элемент является всплывающим, его описатель уничтожается, а память - освобождается.

function DeleteMenu(Menu: HMenu Position, Flags: Word): Bool;
Параметры:
Menu: Идентификатор меню.
Position: Положение или идентификатор команды.
Flags: Одна из констант меню: mf_ByPosition, mf_ByCommand.
Возвращаемое значение:
В случае успешного завершения - не нуль; в противном случае - 0.

Уничтожает Menu и освобождает связанную с ним память.

function DestroyMenu(Menu: HMenu): Bool;
Параметры:
Menu: Идентификатор меню.
Возвращаемое значение:
В случае успешного завершения - не нуль; 0 - в противном случае.

Разрешает, блокирует или затеняет элемент меню в соответствии со значением параметра Enable.

function EnableMenuItem(Menu: HMenu; IDEnableItem, Enable: Word): Bool;
Параметры:
Menu: Идентификатор меню.
IDEnableItem: Идентификатор или позиция элемента меню или помечаемый всплывающий элемент.
Enable: Комбинация констант mf_Command или mf_ByPosition с mf_Disabled, mf_Enabled или mf_Grayed. См. раздел "Флаги меню, mf_" в главе 1.
Возвращаемое значение:
Предыдущее состояние элемента меню; -1, если элемент не существует.

Определяет описатель меню окна.

function GetMenu(Wnd: HWnd): HMenu;
Параметры:
Wnd: Окно, владеющее меню.
Возвращаемое значение:
Идентификатор меню; 0 - если меню отсутствует; не определено, если Wnd является дочерним окном.

Определяет число меню и элементов меню верхнего уровня в указанном меню.

function GetMenuItemCount(Menu: HMenu): Word;
Параметры:
Menu: Идентификатор меню.
Возвращаемое значение:
В случае успешного завершения возвращается число элементов меню; 0 - в противном случае.

Определяет числовой идентификатор элемента меню, расположенного в указанной позиции меню.

function GetMenuItemID(Menu: HMenu; Pos: Integer): Word;
Параметры:
Menu: Идентификатор всплывающего меню.
Pos: Позиция элемента в меню, отсчитываемая с нуля.
Возвращаемое значение:
В случае успешного завершения возвращается идентификатор элемента; 0 - если элемент является всплывающим и -1 - если ошибка.

Считывает информацию состояния для указанного элемента меню.

function GetMenuState(Menu: HMenu; ID, Flags: Word): Word;
Параметры:
Menu: Идентификатор меню или всплывающего меню.
ID: Идентификатор элемента меню.
Flags: Одна из констант меню mf_ByPosition, mf_ByCommand.
Возвращаемое значение:
Маски флагов из следующих значений: mf_Checked, mf_Disabled, mf_Enabled, mf_MenuBarBreak mf_MenuBreak, mf_Separator, mf_UnChecked; в случае всплытия старший байт содержит число элементов; -1 в случае неверного идентификатора.

Копирует метку элемента меню в Str. Копируемая метка заканчивается пустым символом.

function GetMenuString(Menu: HMenu; IDItem: Word; Str: PChar; MaxCount: Integer; Flag: Word): Integer;
Параметры:
Menu: Идентификатор меню.
IDItem: Идентификатор элемента меню.
Str: Принимающий буфер.
MaxCount: Размер буфера.
Flag: Одна из констант меню mf_ByPosition, mf_ByCommand.
Возвращаемое значение:
Фактическое число скопированных байт.

Считывает описатель всплывающего меню.

function GetSubMenu(Menu: HMenu; Pos: Integer): HMenu;
Параметры:
Menu: Идентификатор меню.
Pos: Положение всплывающего меню в Menu.

Возвращаемое значение:
Идентификатор всплывающего меню; 0 - если в Pos нет всплывающего меню.

Считывает системное меню окна для копирования и модификации.

function GetSystemMenu(Wnd: HWnd; Revert: Bool): HMenu;
Параметры:
Wnd: Идентификатор окна. Revert: Нуль, чтобы возвращался описатель для копирования системного меню, и не нуль, чтобы возвращался описатель исходного системного меню.
Возвращаемое значение:
Идентификатор системного меню; 0 - если Revert отлична от нуля и системное меню не модифицировано.

Подсвечивает или снимает подсвечивание с элемента меню верхнего уровня.

function HiliteMenuItem(Wnd: HWnd; Menu: HMenu; IDHilite, Hilite: Word): Bool;
Параметры:
Wnd: Идентификатор окна.
Menu: Идентификатор меню верхнего уровня.
Brush: HBrush, используемая для затенения.
IDHilite: Целочисленный идентификатор или положение элемента меню.
Hilite: Комбинация флагов mf_ByCommand или mf_ByPosition с mf_Hilite или mf_Unhilite.
Возвращаемое значение:
Не нуль в случае успешного завершения; 0 - в противном случае.

Вставляет новый элемент меню, состояние которого определяет значением Flags.

function InsertMenu(Menu: HMenu; Position, Flags, IDNewItem: Word; NewItem: PChar): Bool;
Параметры:
Menu: Идентификатор меню.
Position: Идентификатор команды или положение элемента меню, после которого вставляется новый элемент меню, или -1 для присоединения в конец.
Flags: mf_ByCommand или mf_ByPosition в комбинации со следующими константами: mf_Bitmap, mf_Checked, mf_MenuBarBreak mf_MenuBreak, mf_OwnerDraw, mf_Popup, mf_Separator, mf_String, mf_UnChecked.
IDNewItem: Идентификатор команды нового элемента меню или описатель меню в случае всплывающего меню.
NewItem: Содержимое нового элемента меню.
Возвращаемое значение:
Не нуль в случае успешного завершения; нуль - в противном случае.

Загружает поименованный ресурс меню.

function LoadMenu(Instance: THandle; MenuName: PChar): HMenu;
Параметры:
Instance: Экземпляр модуля, исполнимый файл которого содержит меню. MenuName: Строка (заканчивающаяся пустым символом) или имя целочисленного идентификатора меню.
Возвращаемое значение:
В случае успешного завершения - идентификатор меню; 0 - в противном случае.

Загружает меню, определенное параметром MenuTemplate.

function LoadMenuIndirect(var MenuTemplate): HMenu;
Параметры:
MenuTemplate: Массив структур TMenuTemplate.
Возвращаемое значение:
В случае успешного завершения - идентификатор меню; 0 - в противном случае.

Изменяет существующий элемент меню, чье новое состояние определяется параметром Flags.

function ModifyMenu(Menu: HMenu; Position, Flags, IDNewItem: Word, NewItem: PChar): Bool;
Параметры:
Menu: Идентификатор меню.
Position: Идентификатор команды или положение элемента меню.
Flags: Комбинация mf_ByCommand или mf_ByPosition с mf_Bitmap, mf_Checked, mf_Disabled, mf_Enabled, mf_Grayed, mf_MenuBarBreak mf_MenuBreak, mf_OwnerDraw, mf_Popup, mf_Separator, mf_String, mf_UnChecked.
IDNewItem: Идентификатор команды или описатель меню модифицируемого элемента меню (если Flags установлен в mf_Popup).
NewItem: Строка (mf_String), HBitmap (mf_Bitmap) или данные из прикладной задачи (mf_OwnerDraw).
Возвращаемое значение:
Не нуль в случае успешного завершения; нуль - в противном случае.

Не разрушая, удаляет элемент меню или соответствующее всплытие из указанного меню. Всплытие может быть использовано в последующих операциях.

function RemoveMenu(Menu: HMenu; Position, Flags: Word): Bool;
Параметры:
Menu: Идентификатор меню.
Position: Идентификатор команды или положение элемента меню.
Flags: mf_ByCommand или mf_ByPosition, определяющий природу аргумента Position.
Возвращаемое значение:
Не нуль в случае успешного завершения; 0 - в противном случае.

Устанавливает и перерисовывает меню окна как меню, определенное параметром Menu. Предыдущее меню не отображается.

function SetMenu(Wnd: HWnd; Menu: HMenu): HMenu;
Параметры:
Wnd: Идентификатор окна.
Menu: Новое меню или 0 для удаления текущего меню.
Возвращаемое значение:
Не нуль в случае успешного завершения; 0 - в противном случае.

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

function TrackPopupMenu(Menu: HMenu; Flags: Word; x, y, cx: Integer; Wnd: HWnd; var Rect: TRect): Bool;
Параметры:
Menu: Идентификатор всплывающего меню.
Flags: Установлен в 0, не используется.
x, y: Положение верхнего левого угла меню (в координатах экрана).
cx: Ширина меню (в единицах экрана) или нуль по умолчанию.
Wnd: Окно, владеющее всплывающим меню, для приема сообщений wm_Command.
Rect: TRect, определяющая область мыши, где меню остается видимым, если пользователь отпускает кнопку мыши.
Возвращаемое значение:
Не нуль в случае успешного завершения; 0 - в противном случае.

Вновь рисует строку меню окна. Используется, если строка меню изменялась после создания окна.

function DrawMenuBar(Wnd: HWnd);
Параметры:
Wnd: Идентификатор окна.

К оглавлению


Copyright © 2008-2011 Gruzincev Anton , St. Gorno-Altaysk, Russia, helpw@mail.ru