Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.04;
Скачать: CL | DM;

Вниз

Добавить событие к классу   Найти похожие ветки 

 
lightix   (2003-08-20 15:39) [0]

Есть класс-потомок TMenuItem:
class TMenuItem2: public TMenuItem
{
public:
__fastcall TMenuItem2(TComponent* c) : TMenuItem(c) {}
__fastcall ~TMenuItem2() {}
};
Как к нему добавить Event нажатия ПРАВОЙ кнопки мыши? для левой есть стандартный event OnClick. Хочется иметь точно такой же, но реагирующий на правую кнопку.
Подскажите как это сделать.


 
Ученик ©   (2003-08-20 23:10) [1]

Не OnRightClick, но правую кнопку ловит

FMenuItem: TMenuItem;

procedure TMainForm.FormContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
begin
if FMenuItem <> nil then
Edit2.Text := FMenuItem.Name
else
Edit2.Text := "nil"
end;

{ скопировано из TCustomForm.WMMenuSelect с запоминанием MenuItem }

procedure TMainForm.WMMenuSelect(var Message: TWMMenuSelect);
var
ID: Integer;
FindKind: TFindItemKind;
begin
with Message do
begin
FMenuItem := nil;
if (MenuFlag <> $FFFF) or (IDItem <> 0) then
begin
FindKind := fkCommand;
ID := IDItem;
if MenuFlag and MF_POPUP <> 0 then
begin
FindKind := fkHandle;
ID := GetSubMenu(Menu, ID);
end;
FMenuItem := Self.Menu.FindItem(ID, FindKind);
end;
if FMenuItem <> nil then
Application.Hint := GetLongHint(FMenuItem.Hint)
else
Application.Hint := ""
end
end;

procedure TMainForm.WMExitMenuLoop(var Message: TWMMenuSelect);
begin
inherited;
FMenuItem := nil
end;


 
Ученик ©   (2003-08-20 23:11) [2]

Дополнение

procedure WMMenuSelect(var Message: TWMMenuSelect); message WM_MENUSELECT;
procedure WMExitMenuLoop(var Message: TWMMenuSelect); message WM_EXITMENULOOP;


 
Zergling ©   (2003-08-21 06:07) [3]

Private
...
Procedure CMKlapanClick(var Message: TMessage); message WM_RBUTTONUP;
...
Protected

procedure TTVKlapan.CMKlapanClick(var Message: TMessage);
...
begin
...
Invalidate;
end;



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

Текущий архив: 2003.09.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
4-11023
Gefest
2003-07-04 09:46
2003.09.04
DBLCLICK в LISTBOX`е


7-11004
Fants
2003-06-19 17:12
2003.09.04
Свое расширение файла в системе


3-10622
rosl
2003-08-13 12:16
2003.09.04
копирован ие3


7-11003
-= Demon =-
2003-06-19 17:29
2003.09.04
Как переписать системный файл


3-10620
dim-
2003-08-12 21:19
2003.09.04
Из Clariona в Dbf