Форум: "Основная";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];
ВнизДобавить событие к классу Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c