Выравнивание пункта меню по правому краю окна.
Как сделать точно так же самому?
Нашел дельфовский способ, но адаптировать его под BCB не смог:
#1
uses
Windows;
procedure TForm1.FormCreate(Sender: TObject);
begin
ModifyMenu(yourMainMenu.Handle, 0, MF_BYPOSITION or MF_POPUP or MF_HELP, yourMenuItem.Handle, 'yourCaption');
end;
#2
var
MMI: TMenuItemInfo;
MyMenu: hMenu;
Buffer: array[0..79] of Char;
begin
MyMenu := GetMenu(Handle);
// Handle is the handle of the form that contains the menu
MMI.cbSize := SizeOf(MMI);
MMI.fMask := MIIM_TYPE;
MMI.dwTypeData := Buffer;
MMI.cch := SizeOf(Buffer);
GetMenuItemInfo(MyMenu, 1, True, MMI);
// (..., 1, True, ...) means that help is the second menu item.
MMI.fType := MMI.fType or MFT_RIGHTJUSTIFY;
SetMenuItemInfo(MyMenu, 1, True, MMI);
end;
Цитата:
Originally posted by MaxIkar
Мне нравится, как сделан пункт меню "Справка" в Total Commander - выравнян по правому краю.
Как сделать точно так же самому?
Нашел дельфовский способ, но адаптировать его под BCB не смог:
#1
uses
Windows;
procedure TForm1.FormCreate(Sender: TObject);
begin
ModifyMenu(yourMainMenu.Handle, 0, MF_BYPOSITION or MF_POPUP or MF_HELP, yourMenuItem.Handle, 'yourCaption');
end;
#2
var
MMI: TMenuItemInfo;
MyMenu: hMenu;
Buffer: array[0..79] of Char;
begin
MyMenu := GetMenu(Handle);
// Handle is the handle of the form that contains the menu
MMI.cbSize := SizeOf(MMI);
MMI.fMask := MIIM_TYPE;
MMI.dwTypeData := Buffer;
MMI.cch := SizeOf(Buffer);
GetMenuItemInfo(MyMenu, 1, True, MMI);
// (..., 1, True, ...) means that help is the second menu item.
MMI.fType := MMI.fType or MFT_RIGHTJUSTIFY;
SetMenuItemInfo(MyMenu, 1, True, MMI);
end;
Мне нравится, как сделан пункт меню "Справка" в Total Commander - выравнян по правому краю.
Как сделать точно так же самому?
Нашел дельфовский способ, но адаптировать его под BCB не смог:
#1
uses
Windows;
procedure TForm1.FormCreate(Sender: TObject);
begin
ModifyMenu(yourMainMenu.Handle, 0, MF_BYPOSITION or MF_POPUP or MF_HELP, yourMenuItem.Handle, 'yourCaption');
end;
#2
var
MMI: TMenuItemInfo;
MyMenu: hMenu;
Buffer: array[0..79] of Char;
begin
MyMenu := GetMenu(Handle);
// Handle is the handle of the form that contains the menu
MMI.cbSize := SizeOf(MMI);
MMI.fMask := MIIM_TYPE;
MMI.dwTypeData := Buffer;
MMI.cch := SizeOf(Buffer);
GetMenuItemInfo(MyMenu, 1, True, MMI);
// (..., 1, True, ...) means that help is the second menu item.
MMI.fType := MMI.fType or MFT_RIGHTJUSTIFY;
SetMenuItemInfo(MyMenu, 1, True, MMI);
end;
Есть раздел для начинающих, есть пример как не надо. Дык не обижайся, тема закрыта.