| |
|
|
Ernst | allô Fachleute! qui Eingaben im Éditer devoir pour weitere Verarbeitung avec <Enter> abgeschlossen volonté (analog comment chez Input; es mais devrait plan pas une eigene Contribution-Dialogbox son). cela Abfragen qui Enter-bouton ist ne...aucune Problem, mais comment peux Je l' störenden Beep unterbinden? je hab déjà geraume Zeit gegooglet, mais sans quelque chose verwertbares pour trouver. Hat quelqu'un une profane- ou bien api-Solution ? Grüsse Ernst |
|
|
| |
|
|
|
RudiB. | quoi car pour un Beep... habs la fois getestet.... ici un Beispiel aus dem Forum...
$H windows.ph
Def CN(2) Si(%message = $0111,((&lparam = &(1)) And (HiWord(&wparam) = &(2))),0)
Def EN_CHANGE(1) CN(&(1),$0300)
Def EnterOn(1) (%clé = 13) And (&lparam = &(1))
Cls
Var test& = Contrôle("Dialogue",»,$54000000,310,10,200,24,%hwnd,0,%HINSTANCE)
Var Ed& = Créer("Edit",test&,"Hier ist qui Text",0,0,200,24)
SetFocus(Ed&)
Imprimer "Taste ou bien Enter drücken"
Tandis que 1
WaitInput
Localiser 2,1
Si %clé = 2
Pause
ElseIf EnterOn(Ed&)
Imprimer "Enter gedrückt " + GetText $(&lparam)
ElseIf EN_CHANGE(Ed&)
Imprimer GetText $(&lparam)
EndIf
Wend
|
|
|
| |
|
|
|
Ernst | Vielen Dank; den Code de Jörg J'ai eu déjà la fois gesehen, était mais eh bien anscheinend pas imstande ihn wieder zufinden
chez obigem Code habe je eh bien cela Éditer avec la couleur hinterlegt, cependant chez read-only ist qui la couleur weg (grauer Hintergrund) - ebenso sans la couleur ( weißer Hintergrund) wird sur gris gesetzt.
$H windows.ph
$H messages.ph
Def CN(2) Si(%message = ~WM_COMMAND,((&lparam = &(1)) And (hiword(&wparam) = &(2))),0)
Def EN_CHANGE(1) CN(&(1),~EN_CHANGE)
Def EnterOn(1) (%clé = 13) And (&lparam = &(1))
Déclarer OCP&,Brush&
' -------------------------------------------------------------------------------------
Proc ControlProc
parameters Wnd&, Msg&, wParam&, lParam&
IF Brush&
~DeleteObject(Brush&)
Endif
Si msg&=~WM_CTLCOLOREDIT or msg&=~WM_CTLCOLORSTATIC
Brush& = ~CreateSolidBrush(RGB(255,255,170))
~SetBkMode(wParam&, ~TRANSPARENT)
Retour Brush&
Endif
Retour ~CallWindowProc(OCP&,Wnd&, Msg&, WParam&, LParam&)
ENDPROC
' -------------------------------------------------------------------------------------
CLS
Var test& = Contrôle("Dialogue",»,$54000000,310,10,200,24,%hwnd,0,%HINSTANCE)
Var Ed& = Créer("Edit",test&,"Hier ist qui Text",0,0,200,24)
OCP& = ~SetWindowLong(test&,~GWL_WNDPROC, ProcAddr(ControlProc,4))
SetFocus(Ed&)
SendMessage(ed&,$CF,1,0)' read only
Imprimer "Taste ou bien Enter drücken"
Tandis que 1
WaitInput
Localiser 2,1
Si %clé = 2
Pause
ElseIf EnterOn(Ed&)
Imprimer "Enter gedrückt " + GetText $(&lparam)
ElseIf EN_CHANGE(Ed&)
Imprimer GetText $(&lparam)
EndIf
Endwhile
IF Brush&
~DeleteObject(Brush&)
Endif
Fin
gibt es eh bien irgendeine Possibilité, cela Éditer sur read-only trop mettons, wobei mais qui Hintergrundfarbe conservé bleibt ?
Grüsse et Dank im Vorhinein
hab's déjà gefunden; si cela Éditer read-only ist, sendet es pas ~WM_CTLCOLOREDIT mais ~WM_CTLCOLORSTATIC. Im Code (dessus) eingefügt et funkt. - JUHU |
|
|
| |
|
|