Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Rechte Maus Taste menu?

16 views
Skip to first unread message

Silenus paparias

unread,
Oct 26, 2009, 7:50:58 AM10/26/09
to
Hallo.

Wie kriege ich das "Rechtemaustaste" Menu wenn ich in ein text-feld
drin bin,

so das ich die moeglichkeit habe was zu pasten, cuten,copyren etc...,

wie das in allen windows programmen ueblich ist?

danke.

Matthias Kahlert

unread,
Oct 26, 2009, 9:02:17 AM10/26/09
to
Silenus paparias schrieb:

Einfach im RightClick()-Event der Textbox aufrufen:
DO m_textbox_rightclick WITH This


*========================================================================
* FUNCTION m_textbox_rightclick
*
* Diese Funktion wird in Textboxen verwendet als Methode f�r einen
* Mausklick mit rechter Maustaste, um ein Kontextmen� anzuzeigen.
*
* VERSION HISTORY:
* 02.04.2008 KAH Neuerstellung
*
FUNCTION m_Textbox_RightClick ( loControl AS Object ) AS Boolean
LOCAL lnErg, llErg, loErr

*---------------------------------------------------------------
* Erstmal das Men� definieren
* Kopieren und Ausschneiden sind nur aktiv, wenn auch was
* selektiert ist
* Einf�gen und Alles ausw�hlen sind nur aktiv, wenn das
* Control nicht ReadOnly ist
*---------------------------------------------------------------
ACTIVATE SCREEN
DEACTIVATE POPUP _popShortcutMenu
DEFINE POPUP _popShortcutMenu ;
FROM MROW(),MCOL() MARGIN RELATIVE SHORTCUT
IF LEN(loControl.SelText) > 0 THEN
DEFINE BAR 1 OF _popShortcutMenu PROMPT "Ausschneiden"
ELSE
DEFINE BAR 1 OF _popShortcutMenu ;
PROMPT "Ausschneiden" SKIP FOR .T.
ENDIF
IF LEN(loControl.SelText) > 0 THEN
DEFINE BAR 2 OF _popShortcutMenu PROMPT "Kopieren"
ELSE
DEFINE BAR 2 OF _popShortcutMenu ;
PROMPT "Kopieren" SKIP FOR .T.
ENDIF
IF LEN(_CLIPTEXT) > 0 AND loControl.ReadOnly = .F. THEN
DEFINE BAR 3 OF _popShortcutMenu PROMPT "Einf�gen"
ELSE
DEFINE BAR 3 OF _popShortcutMenu ;
PROMPT "Einf�gen" SKIP FOR .T.
ENDIF
IF loControl.ReadOnly = .F. THEN
DEFINE BAR 4 OF _popShortcutMenu ;
PROMPT "Alles ausw�hlen"
ELSE
DEFINE BAR 4 OF _popShortcutMenu ;
PROMPT "Alles ausw�hlen" SKIP FOR .T.
ENDIF
ON SELECTION POPUP _popShortcutMenu ;
DEACTIVATE POPUP _popShortcutMenu

*---------------------------------------------------------------
* Popup am Bildschirm darstellen und auf Eingabe warten
*---------------------------------------------------------------
ACTIVATE POPUP _popShortcutMenu
RELEASE POPUP _popShortcutMenu

*---------------------------------------------------------------
* Ergebnis auswerten
*---------------------------------------------------------------
lnErg = BAR()
llErg = .F.
DO CASE
*-------------------------------------------------------
* Ausschneiden
*-------------------------------------------------------
CASE lnErg = 1
IF LEN(loControl.SelText) > 0 THEN
_CLIPTEXT = loControl.SelText
loControl.SelText = ""
ELSE
_CLIPTEXT = loControl.Value
loControl.Value = ""
ENDIF
llErg = .T.
*-------------------------------------------------------
* Kopieren
*-------------------------------------------------------
CASE lnErg = 2
IF LEN(loControl.SelText) > 0 THEN
_CLIPTEXT = loControl.SelText
ELSE
_CLIPTEXT = loControl.Value
ENDIF
llErg = .T.
*-------------------------------------------------------
* Einf�gen
*-------------------------------------------------------
CASE lnErg = 3
loControl.SelText = _CLIPTEXT
llErg = .T.
*-------------------------------------------------------
* Alles ausw�hlen
*-------------------------------------------------------
CASE lnErg = 4
loControl.SelStart = 0
TRY
loControl.SelLength = ;
LEN(loControl.Value)
CATCH TO loErr
loControl.SelLength = 999
ENDTRY
llErg = .T.
OTHERWISE
llErg = .T.
ENDCASE
RETURN llErg
ENDFUNC

Jürgen Wondzinski

unread,
Oct 26, 2009, 11:20:29 AM10/26/09
to
Hi Matthias,

Als Ersatz f�r deine ganzen Cliptext Ged�hns: Wirf mal nen Blick auf
SYS(1500), mit der du dann die Cut, Copy, Paste Funktionen des Systemmen�s
direkt aufrufen kannst.


--

wOOdy
Visual FoxPro Technologieberater
Microsoft "Most Valuable Professional" 1996 bis 2009

"*��)
�.���.�*��) �.�*�)
(�.��. (�.�` *
..�`.Visual FoxPro: It's magic !
(�.�``��*

Jürgen Wondzinski

unread,
Oct 26, 2009, 11:22:03 AM10/26/09
to
Hallo Silenus

Starte die Solution.app :

do (_samples + "\solution\solution.app")

dann gehst du in den Zweig "Menues" und schaust dir das Beispiel "Display
Shortcut Menues" an.

Silenus paparias

unread,
Oct 27, 2009, 8:48:56 AM10/27/09
to
danke an alle.

Gruss

0 new messages