//--------------------------------------------------------------------------- void __fastcall TSynchronizeChecklistDialog::ListViewContextPopup( TObject * Sender, TPoint & MousePos, bool & Handled) { // to update source popup menu before TBX menu is created UpdateControls(); MenuPopup(Sender, MousePos, Handled); }
void eyes::mousePressEvent(QMouseEvent *click) { if (click) { Qt::MouseButton but = click->button(); if (but != Qt::NoButton && but != Qt::LeftButton) { MenuPopup(); } } }
//--------------------------------------------------------------------------- void __fastcall MenuPopup(TObject * Sender, const TPoint & MousePos, bool & Handled) { TControl * Control = dynamic_cast<TControl *>(Sender); assert(Control != NULL); TPoint Point; if ((MousePos.x == -1) && (MousePos.y == -1)) { Point = Control->ClientToScreen(TPoint(0, 0)); } else { Point = Control->ClientToScreen(MousePos); } TPopupMenu * PopupMenu = (reinterpret_cast<TPublicControl *>(Control))->PopupMenu; assert(PopupMenu != NULL); TRect Rect(Point, Point); MenuPopup(PopupMenu, Rect, Control); Handled = true; }
//--------------------------------------------------------------------------- void __fastcall MenuPopup(TPopupMenu * Menu, TButton * Button) { MenuPopup(Menu, CalculatePopupRect(Button), Button); }
//--------------------------------------------------------------------------- void __fastcall CopyParamListPopup(TRect Rect, TPopupMenu * Menu, const TCopyParamType & Param, UnicodeString Preset, TNotifyEvent OnClick, int Options, int CopyParamAttrs, bool SaveSettings) { Menu->Items->Clear(); TMenuItem * CustomizeItem = NULL; TMenuItem * Item; if (FLAGSET(Options, cplCustomize)) { Item = new TMenuItem(Menu); Item->Caption = LoadStr(COPY_PARAM_CUSTOM); Item->Tag = cpiCustom; Item->Default = FLAGSET(Options, cplCustomizeDefault); Item->OnClick = OnClick; Menu->Items->Add(Item); CustomizeItem = Item; } if (FLAGSET(Options, cplSaveSettings)) { Item = new TMenuItem(Menu); Item->Caption = LoadStr(COPY_PARAM_SAVE_SETTINGS); Item->Tag = cpiSaveSettings; Item->Checked = SaveSettings; Item->OnClick = OnClick; Menu->Items->Add(Item); } Item = new TMenuItem(Menu); Item->Caption = LoadStr(COPY_PARAM_PRESET_HEADER); Item->Visible = false; Item->Enabled = false; Menu->Items->Add(Item); bool AnyChecked = false; Item = new TMenuItem(Menu); Item->Caption = LoadStr(COPY_PARAM_DEFAULT); Item->Tag = cpiDefault; Item->Checked = Preset.IsEmpty() && (GUIConfiguration->CopyParamPreset[L""] == Param); AnyChecked = AnyChecked || Item->Checked; Item->OnClick = OnClick; Menu->Items->Add(Item); TCopyParamType DefaultParam; const TCopyParamList * CopyParamList = GUIConfiguration->CopyParamList; for (int i = 0; i < CopyParamList->Count; i++) { UnicodeString Name = CopyParamList->Names[i]; TCopyParamType AParam = GUIConfiguration->CopyParamPreset[Name]; if (AParam.AnyUsableCopyParam(CopyParamAttrs) || // This makes "Binary" preset visible, // as long as we care about transfer mode ((AParam == DefaultParam) && FLAGCLEAR(CopyParamAttrs, cpaIncludeMaskOnly) && FLAGCLEAR(CopyParamAttrs, cpaNoTransferMode))) { Item = new TMenuItem(Menu); Item->Caption = Name; Item->Tag = i; Item->Checked = (Preset == Name) && (AParam == Param); AnyChecked = AnyChecked || Item->Checked; Item->OnClick = OnClick; Menu->Items->Add(Item); } } if (CustomizeItem != NULL) { CustomizeItem->Checked = !AnyChecked; } Item = new TMenuItem(Menu); Item->Caption = L"-"; Menu->Items->Add(Item); Item = new TMenuItem(Menu); Item->Caption = LoadStr(COPY_PARAM_CONFIGURE); Item->Tag = cpiConfigure; Item->OnClick = OnClick; Menu->Items->Add(Item); MenuPopup(Menu, Rect, NULL); }
//--------------------------------------------------------------------------- void __fastcall TSynchronizeDialog::MinimizeButtonDropDownClick(TObject * /*Sender*/) { MenuPopup(MinimizeMenu, MinimizeButton); }
//--------------------------------------------------------------------------- void __fastcall TFileSystemInfoDialog::ControlContextPopup( TObject * Sender, TPoint & MousePos, bool & Handled) { MenuPopup(Sender, MousePos, Handled); }
//--------------------------------------------------------------------------- void __fastcall TRightsFrame::FrameContextPopup(TObject * Sender, TPoint & MousePos, bool & Handled) { MenuPopup(Sender, MousePos, Handled); }