Вопрос Как из оконного меню удалить и восстановить сепаратор?

Статус
В этой теме нельзя размещать новые ответы.

ATTACUE

Новичок
Приветствую или доброго Вам времени суток)
Возможно ответ на мой возникший вопрос знает sergey3695, поэтому это сообщение скорее адресовано ему, нежели остальным, но тем не менее я надеюсь, что найдутся и другие, кто сможет мне помочь)
Подскажите, пожалуйста - как из оконного меню удалить и восстановить после удаления сепаратор?
Ну или хотя бы просто удалить...

Заранее благодарен)
 

Shegorat

Lord of Madness
Администратор
Ну или хотя бы просто удалить...
Удалить и восстановить сепаратор
Код:
const
  MF_BYPOSITION = $400;
  MF_SEPARATOR = $800;
  
function DeleteMenu(hMenu: Thandle; uPosition: Longword; uFlags: Longword): Boolean; external 'DeleteMenu@user32.dll stdcall';
function GetSystemMenu(hWnd: HWND; bRevert: BOOL): LongWord; external 'GetSystemMenu@user32.dll stdcall';
function InsertMenu(hMenu: THandle; uPosition: Longword; uFlags: Longword; var uIDNewItem: Longword; lpNewItem: PChar): Boolean; external 'InsertMenuA@user32.dll stdcall';

procedure CurPageChanged(CurPageID: Integer);
var
  nid: Longword;
begin
  case CurPageID of
    wpWelcome: DeleteMenu(GetSystemMenu(WizardForm.Handle, false), 5, MF_BYPOSITION);
    wpSelectDir: InsertMenu(GetSystemMenu(WizardForm.Handle, false), 5, MF_BYPOSITION or MF_SEPARATOR, nid, '');
  end;
end;
В данном примере удаляется элемент меню по индексу, нумерация элементов сквозная, начиная с 0.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху