Comment peut-on implementer sur une TextBox la fonction Ctrl-A (Select All),
equivalent de Right-Click|Select-All.
J'ai une solution qui est assez batarde.
De plus, je voudrais que la touche de fonction ne soit pas "Ctrl-A", mais la
touche windows standatd (eg en Espagnol, il s'agit de Ctrl-E IIRC)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
xx
"François Picalausa" a écrit dans le message de news:
Bonjour/soir,
En ce qui concerne la sélection, deux solutions sont possibles. La plus simple, en VB pur, est AMHA celle à utiliser. Toutefois, j'y
ajoute
la méthode par API plus compliquée mais pour le même résultat:
'Dans une feuille avec ' 2 commandbuttons (Command1, Command2) ' 1 textbox (Text1) Option Explicit
Private Const EM_SETSEL = &HB1 Private Declare Function SendMessage _ Lib "user32" _ Alias "SendMessageA" _ ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any _ ) _ As Long
Private Sub Command1_Click() SendMessage Text1.hwnd, EM_SETSEL, 0, ByVal -1& Text1.SetFocus End Sub
Private Sub Command2_Click() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Text1.SetFocus End Sub
Cela regle le probleme de la selection (je savais faire) mais cela introduit un bouton de commande, dont je ne veux pas.
Je sais faire avec un menu et le raccourci Ctrl-A -mais le menu est visible ce dont je ne veux pas et le rendre invisible neutralise le raccourci -Ctrl-A est hard-code ce qui ne satisfait pas mon requisite 'international'
Et bien sur j'ai plusieurs textbox, et le Ctrl-A doit s'appliquer a celle avec le focus......
Le truc semblerait d'attacher le raccourci au menu implicitement attache a chaque textbox ... mais la je ne sais pas faire ????
"François Picalausa" <fpicalausa@chez.com> a écrit dans le message de
news:eNC1qtlWDHA.888@TK2MSFTNGP10.phx.gbl...
Bonjour/soir,
En ce qui concerne la sélection, deux solutions sont possibles.
La plus simple, en VB pur, est AMHA celle à utiliser. Toutefois, j'y
ajoute
la méthode par API plus compliquée mais pour le même résultat:
'Dans une feuille avec
' 2 commandbuttons (Command1, Command2)
' 1 textbox (Text1)
Option Explicit
Private Const EM_SETSEL = &HB1
Private Declare Function SendMessage _
Lib "user32" _
Alias "SendMessageA" _
( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any _
) _
As Long
Private Sub Command1_Click()
SendMessage Text1.hwnd, EM_SETSEL, 0, ByVal -1&
Text1.SetFocus
End Sub
Private Sub Command2_Click()
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
Text1.SetFocus
End Sub
Cela regle le probleme de la selection (je savais faire)
mais cela introduit un bouton de commande, dont je ne veux pas.
Je sais faire avec un menu et le raccourci Ctrl-A
-mais le menu est visible
ce dont je ne veux pas
et le rendre invisible neutralise le raccourci
-Ctrl-A est hard-code
ce qui ne satisfait pas mon requisite 'international'
Et bien sur j'ai plusieurs textbox, et le Ctrl-A doit s'appliquer a celle
avec le focus......
Le truc semblerait d'attacher le raccourci au menu implicitement attache a
chaque textbox ... mais la je ne sais pas faire ????
"François Picalausa" a écrit dans le message de news:
Bonjour/soir,
En ce qui concerne la sélection, deux solutions sont possibles. La plus simple, en VB pur, est AMHA celle à utiliser. Toutefois, j'y
ajoute
la méthode par API plus compliquée mais pour le même résultat:
'Dans une feuille avec ' 2 commandbuttons (Command1, Command2) ' 1 textbox (Text1) Option Explicit
Private Const EM_SETSEL = &HB1 Private Declare Function SendMessage _ Lib "user32" _ Alias "SendMessageA" _ ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any _ ) _ As Long
Private Sub Command1_Click() SendMessage Text1.hwnd, EM_SETSEL, 0, ByVal -1& Text1.SetFocus End Sub
Private Sub Command2_Click() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Text1.SetFocus End Sub
Cela regle le probleme de la selection (je savais faire) mais cela introduit un bouton de commande, dont je ne veux pas.
Je sais faire avec un menu et le raccourci Ctrl-A -mais le menu est visible ce dont je ne veux pas et le rendre invisible neutralise le raccourci -Ctrl-A est hard-code ce qui ne satisfait pas mon requisite 'international'
Et bien sur j'ai plusieurs textbox, et le Ctrl-A doit s'appliquer a celle avec le focus......
Le truc semblerait d'attacher le raccourci au menu implicitement attache a chaque textbox ... mais la je ne sais pas faire ????
François Picalausa
Bonjour/soir,
mais cela introduit un bouton de commande, dont je ne veux pas.
Il suffit de déplacer le code
Je sais faire avec un menu et le raccourci Ctrl-A -mais le menu est visible ce dont je ne veux pas et le rendre invisible neutralise le raccourci
Essaye avec KeyPreview=True sur la feuille Dans le Form_KeyDown, tu pourra alors, en fonction des touches pressées sélectionner ce qu'il faut.
-Ctrl-A est hard-code ce qui ne satisfait pas mon requisite 'international'
J'ai cherché à ce propos mais n'ai rien trouvé.....
Le truc semblerait d'attacher le raccourci au menu implicitement attache a chaque textbox ... mais la je ne sais pas faire ????
Tu peux regarder du côté des API GetMenu, le message WM_COMMAND mais ça me semble bien compliqué et ça ne fera pas un raccourci "internationnal".