Textfield RETURN_KEY tweak
BlitzMax Forums/MaxGUI Module/Textfield RETURN_KEY tweak| 
 | ||
| Hi, textfields won't register RETURN_KEY by default, but with a little tweak this is possible. Add this constant in Gadget.bmx file: const TEXTFIELD_MULTILINE = 2 ...and in win32maxguiex.bmx line 2285 right after this statement: If style&TEXTFIELD_PASSWORD Then wstyle:|ES_PASSWORD ...add this line: If style&TEXTFIELD_MULTILINE Then wstyle:|ES_MULTILINE Here is a little example: 
Strict
Import maxgui.drivers
Local win:tgadget = CreateWindow("Window",200,200,300,200,Null)
Local lab:tgadget = CreateLabel("Type something and press enter:",6,40,250,23,win)
Local txt:tgadget = CreateTextField(6,70,250,23,win,TEXTFIELD_MULTILINE)
SetGadgetFilter(txt,TextFilter)
Repeat
	WaitEvent()
	Select EventID()
		Case EVENT_WINDOWCLOSE	End
	EndSelect
Forever
Function TextFilter(event:TEvent,context:Object)
	If Not event Then Return Null
		
	Select event.id
		Case EVENT_KEYDOWN
			Select event.data
				Case KEY_RETURN
					Notify "You pressed RETURN_KEY"
					Return False
			EndSelect
	EndSelect
	
	Return True
EndFunction
-Henri | 
| 
 | ||
| There seems to be a little ghosting issue with this tweak, but if I comment out... Method WndProc(hwnd,msg,wp,lp) Local event:TEvent Select msg Case WM_ERASEBKGND 'Return 1...Return 1 from TWindowsTextfield-->WndProc() then everything looks normal. -Henri | 
| 
 | ||
| why not just have a hidden OK button? that way its easy to sort :) | 
| 
 | ||
| This is bit more precise and bit more native for those that prefer it -Henri |