implizites Kontextmenü eines XbpSLE unterbinden?
Moderator: Moderatoren
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2823
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 95 Mal
- Danksagung erhalten: 13 Mal
implizites Kontextmenü eines XbpSLE unterbinden?
Hallo,
mal wieder so eine "seltsame" Frage.
Wenn ich in einem Standard-XbpSLE() die rechte Maustaste drücke, erscheint folgendes Kontext-Menü:
Wenn ich nun über den :rbClick-Callback ein eigenes Kontextmenü einbinden will, erscheint (zumindest bei mir) zuerst immer das hier abgebildete, danach erst das von mir definierte.
Kennt (und verrät) einer von Euch einen Weg, dieses Standard-Menü zu unterbinden?
mal wieder so eine "seltsame" Frage.
Wenn ich in einem Standard-XbpSLE() die rechte Maustaste drücke, erscheint folgendes Kontext-Menü:
Wenn ich nun über den :rbClick-Callback ein eigenes Kontextmenü einbinden will, erscheint (zumindest bei mir) zuerst immer das hier abgebildete, danach erst das von mir definierte.
Kennt (und verrät) einer von Euch einen Weg, dieses Standard-Menü zu unterbinden?
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- AUGE_OHR
- Marvin
- Beiträge: 12903
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 44 Mal
Re: implizites Kontextmenü eines XbpSLE unterbinden?
hi,
versuche es mal so wie im angehängten Demo
versuche es mal so wie im angehängten Demo
- Dateianhänge
-
- SLE_MENU.ZIP
- (722 Bytes) 189-mal heruntergeladen
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15689
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: implizites Kontextmenü eines XbpSLE unterbinden?
Die CallBack-Codeblöcke werden erst NACH dem Standardverhalten ausgeführt.
Wenn du das Standardverhalten ändern willst, musst du eine eigene Klasse ableiten und dort die Methode ändern.
Schöner wäre es gewesen, wenn man das Kontextmenü zentral abschalten könnte, aber mir ist kein solcher Schalter bekannt.
Wenn du das Standardverhalten ändern willst, musst du eine eigene Klasse ableiten und dort die Methode ändern.
Schöner wäre es gewesen, wenn man das Kontextmenü zentral abschalten könnte, aber mir ist kein solcher Schalter bekannt.
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12903
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 44 Mal
Re: implizites Kontextmenü eines XbpSLE unterbinden?
hi,
hast du das Demo probiert ?
es macht doch das was Georg will, oder ? p.s. auch die Methoden im Menu funktionieren !IMHO mit der Bestückung eines CallBack Slot überschreibe ich die OS() Method.
hast du das Demo probiert ?
es macht doch das was Georg will, oder ? p.s. auch die Methoden im Menu funktionieren !
hm ... wenn der Codeblock eines CallBack Slot benutzt werden soll müsste ich doch zuerst prüfen ob dieser belegt ist.brandelh hat geschrieben:Die CallBack-Codeblöcke werden erst NACH dem Standardverhalten ausgeführt.
Wenn du das Standardverhalten ändern willst, musst du eine eigene Klasse ableiten und dort die Methode ändern.
Code: Alles auswählen
IF VALTYPE(bCallBack) = "B"
RETURN EVAL(bCallBack,GetCurAbsPos(),NIL,self) // {| aPos, uNIL, self | ... }
ELSE
// sonst wie vom OS() vorgesehen
ENDIF
... ich benutze ständig das "rechte-Maus-Taste" Menubrandelh hat geschrieben:Schöner wäre es gewesen, wenn man das Kontextmenü zentral abschalten könnte, aber mir ist kein solcher Schalter bekannt.
gruss by OHR
Jimmy
Jimmy
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2823
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 95 Mal
- Danksagung erhalten: 13 Mal
Re: implizites Kontextmenü eines XbpSLE unterbinden?
Hallo, Jimmy -
danke für Dein Beispiel.
Ich hatte :rbClick verwendet, mit :rbDown gibt es genau das Verhalten, das ist wünsche.
danke für Dein Beispiel.
Ich hatte :rbClick verwendet, mit :rbDown gibt es genau das Verhalten, das ist wünsche.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- brandelh
- Foren-Moderator
- Beiträge: 15689
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: implizites Kontextmenü eines XbpSLE unterbinden?
das hatte ich überlesen ...georg hat geschrieben:Ich hatte :rbClick verwendet, mit :rbDown gibt es genau das Verhalten, das ist wünsche.
Mit den PopUp Menüs mache ich nicht viel, daher danke für das schöne Bespiel Jimmy.
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15689
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: implizites Kontextmenü eines XbpSLE unterbinden?
ja, dein Beispiel macht was Georg will, dennoch war meine Aussage in Bezug auf CallBack Codeblöcken und CallBack Methoden richtig.AUGE_OHR hat geschrieben: hast du das Demo probiert ?
es macht doch das was Georg will, oder ?
Allerdings ist die "automatische Vorgabe" wie von dir erwähnt eine von Microsoft, während ich von einer Methode durch Alaska XbpSLE() ausging.
wenn man z.B. eine msgbox() in den codeblock hängt, kommt zunächst die msgbox und danach das "Standardmenü" ...
Dein Beispiel zeigt, dass ein im Control eingerichtetes PopUp Menü das "Standardmenü" aber überschreibt ...
AUGE_OHR hat geschrieben: ... wenn der Codeblock eines CallBack Slot benutzt werden soll müsste ich doch zuerst prüfen ob dieser belegt ist.IMHO mit der Bestückung eines CallBack Slot überschreibe ich die OS() Method.Code: Alles auswählen
IF VALTYPE(bCallBack) = "B" RETURN EVAL(bCallBack,GetCurAbsPos(),NIL,self) // {| aPos, uNIL, self | ... } ELSE // sonst wie vom OS() vorgesehen ENDIF
Gruß
Hubert
Hubert