Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];

Вниз

TMainMenu   Найти похожие ветки 

 
Боян Георгиев   (2003-08-20 23:52) [0]

Здравствуйте мастера!!
Мне надо уловить событие когда в MainMenu показываются subitems.
Тоест когда "итемы" разширяются.

Надеюсь что вы поняли меня. Извините мне если я не пишу корректно по-русский. Я болгарин :)))


 
Боян Георгиев   (2003-08-21 00:04) [1]

Это мне нужно по тому что я хочу создать subitems в момент когда их родители показываются.

Наверно я надо прихватить message..
но не знаю его имя :)


 
Babay   (2003-08-21 04:47) [2]

Я может чегото непонял, но чем не подходит событие OnClick для пункта меню ? Оно происходит раньше чем subItems показывается его можно и использовать для создания новых SubItems.


 
gek   (2003-08-21 07:15) [3]

Можно посмотреть на WM_MENUSELECT и WM_INITMENUPOPUP


 
Игорь Шевченко   (2003-08-21 11:25) [4]

Spy++ или Winsight поможет найти нужное сообщение


 
Игорь Шевченко   (2003-08-21 12:30) [5]

После внимательного прочтения: А зачем добавлять в Menu Items в момент показа ? Я понял, так что в зависимости от условий содержимое Menu (или SubMenu) меняется. Не проще ли модифицировать Menu по смене условий, так, чтобы к моменту его показа оно уже было таким, как нужно по условиям ?


 
Игорь Шевченко   (2003-08-21 12:38) [6]

Боян Георгиев (20.08.03 23:52)

Примерно так:

unit main;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus;

type
TfMain = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
N1: TMenuItem;
Open1: TMenuItem;
N2: TMenuItem;
Save1: TMenuItem;
Saveas1: TMenuItem;
N3: TMenuItem;
Exit1: TMenuItem;
Text1: TMenuItem;
Binary1: TMenuItem;
private
procedure WMInitMenuPopup (var Message : TWMInitMenuPopup);
message WM_INITMENUPOPUP;
end;

var
fMain: TfMain;

implementation

{$R *.DFM}

{ TfMain }

procedure TfMain.WMInitMenuPopup(var Message: TWMInitMenuPopup);
var
SubMenu, NewItem : TMenuItem;
begin
SubMenu := MainMenu1.FindItem (Message.MenuPopup, fkHandle);
if Assigned(SubMenu) then begin
NewItem := TMenuItem.Create(Self);
NewItem.Caption := "New item";
SubMenu.Add (NewItem);
end;
end;

end.


и сама форма:
object fMain: TfMain
Left = 214
Top = 133
Width = 544
Height = 375
Caption = "fMain"
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = "MS Sans Serif"
Font.Style = []
Menu = MainMenu1
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object MainMenu1: TMainMenu
Left = 48
Top = 16
object File1: TMenuItem
Caption = "&File"
object Open1: TMenuItem
Caption = "&Open"
end
object N2: TMenuItem
Caption = "-"
end
object Save1: TMenuItem
Caption = "&Save"
end
object Saveas1: TMenuItem
Caption = "S&ave as"
object Text1: TMenuItem
Caption = "&Text"
end
object Binary1: TMenuItem
Caption = "&Binary"
end
end
object N3: TMenuItem
Caption = "-"
end
object Exit1: TMenuItem
Caption = "E&xit"
end
end
object N1: TMenuItem
Caption = "&?"
end
end
end



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-10828
VIL
2003-08-25 12:24
2003.09.04
Caption активной страницы PageControl


1-10720
iNew
2003-08-20 05:18
2003.09.04
Копирование файлов


6-10860
Dixx
2003-07-01 13:16
2003.09.04
Сокс-подключение через прокси.


3-10636
Alik$
2003-07-28 22:33
2003.09.04
DBGrid


3-10599
Behemoth
2003-08-13 16:16
2003.09.04
Поможите понять работу с TQuery/TADOQuery.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский