| |
|
|
![Ernst: 12.04.2016](.././../../i/a/noavatar.gif) 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.: 12.04.2016](.././../../i/a/2208.gif) 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: 13.04.2016](.././../../i/a/noavatar.gif) 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 ![](.././../../i/s/wall.gif)
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 |
|
|
| |
|
|