![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
У TMainMenu можно изменить высоту? [D7, WinXP]
HF-Trade © (2005-01-10 11:18:00)Народ, подскажите плз. У компонента TMainMenu можно изменить высоту?
HF-Trade (2005-01-12 06:00:00) [1]
> Cobalt
Еще раз...
Note
Use images that are 16 by 16 pixels for proper display in the menu. Although you can use other sizes for the menu images, alignment and consistency problems may result when using images greater than or smaller than 16 by 16 pixels.
При использовании в ОСНОВНОМ меню битмапов больше 16*16 пикселей
ВЫСОТА ОСНОВНОГО меню не меняется.
Как ее изменить?
Cobalt (2005-01-11 19:04:00) [2]Рекомендую:
Открывай файл "C:\Program Files\Common Files\Borland Shared\MSHelp\WIN32.HLP", в нём открываешь статью "Menus" и читаешь внимательно.
P.S. Навигация по тексту вперёд и назад - вверху окна кнопки " >>" и " <<".
HF-Trade (2005-01-11 12:51:00) [3]ПАМАЖИТЕ...плиззз... по [8].
Там в TMainMenu.pas есть процедура ONDrawItem and ONAdvancedDrawItem. Неужто ни кто не пользовался?
HF-Trade (2005-01-10 15:18:00) [4]
> Gero © (10.01.05 13:32) [7]
> OnMeasureItem?
У самого меню, ширина под объекты меняется, а высота нет...
Почему???...
У подменю меняется и ширина и высота.
Область канвы не увеличилась к сожалению.(Я думал она как нить пропорционально связана с шириной\высотой).
Ее можно как нить увеличить?
Gero (2005-01-10 13:32:00) [5]OnMeasureItem?
HF-Trade (2005-01-10 13:20:00) [6]
> Kerk © (10.01.05 11:36) [1]
> у компонента TMainMenu нельзя изменить высоту.. он квадратный..
ПереФразирую ;)
Предметам MainMenu Можно изменять высоту?
Хочу втавить иконки с битмапов напротив пунктов меню дык че там нет возможности битмапы наманые отрисовать, или они будут ужаты до заданного размера и с эти ни че не поделать?
Я так понимаю высота MainMenu напрямую с этим связана?
TUser (2005-01-10 12:27:00) [7]
> WhiteGuy (10.01.05 12:05) [4]
Вот относительно полезный пример
function GetMenuHeight(Handle: hWND;
var Height: integer): boolean;
var R: TRect;
H: hMENU;
begin
H:=GetMenu(Handle);
result:=H <> 0;
if result then
result:=GetMenuItemRect(Handle,H,0,R);
if result then
Height:=R.Bottom - R.Top;
end;
procedure TForm1.Button1Click(Sender: TObject);
var h: hMENU;
begin
h:=GetMenu(Handle);
ShowMessage(inttostr(h));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
MainMenu1.Free;
end;
procedure TForm1.Button3Click(Sender: TObject);
var i: integer;
begin
if not GetMenuHeight(Handle,i) then
FlashWindow(Button3.Handle,true);
ShowMessage(inttostr(i));
end;
WhiteGuy (2005-01-10 12:05:00) [8]2 TUser
Мужик, а ты о какой менюшке окна говоришь? О той, что слева сверху??
TUser (2005-01-10 11:42:00) [9]Я предположил, что речь про менюшку окна, ивините :)
TUser (2005-01-10 11:41:00) [10]Попробуй так
function GetMenuHeight(Handle: hWND;
var Height: integer): boolean;
var R: _Rect;
H: hMENU;
begin
H:=GetMenu(Handle);
result:=H <> 0;
if result then
result:=GetMenuItemRect(Handle,H,0,@R);
if result then
Height:=R.Buttom - R.Top;
end;
Kerk (2005-01-10 11:36:00) [11]у компонента TMainMenu нельзя изменить высоту.. он квадратный..