Strings

BlitzMax Forums/BlitzMax Beginners Area/Strings

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

The code below lets you enter your text which is than shown on a canvas. Grab it with grabimage if you like to store it as image...

Local Window1:TGadget = CreateWindow:TGadget("Window1",260,91,356,248,Null,WINDOW_TITLEBAR|WINDOW_RESIZABLE |WINDOW_STATUS |WINDOW_CLIENTCOORDS )
	Local BorderPanel1:TGadget = CreatePanel:TGadget(7,97,341,145,Window1:TGadget,PANEL_BORDER,"BorderPanel1")
		SetGadgetLayout( BorderPanel1:TGadget,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_ALIGNED )
		Local Canvas1:TGadget = CreateCanvas:TGadget(0,0,337,141,BorderPanel1:TGadget,Null)
			SetGadgetLayout( Canvas1:TGadget,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_ALIGNED )
	Local Label1:TGadget = CreateLabel:TGadget("Your text:",7,15,80,14,Window1:TGadget,Null)
		SetGadgetLayout( Label1:TGadget,EDGE_ALIGNED,EDGE_CENTERED,EDGE_ALIGNED,EDGE_CENTERED )
	Local Label2:TGadget = CreateLabel:TGadget("Text on canvas:",7,80,163,14,Window1:TGadget,Null)
		SetGadgetLayout( Label2:TGadget,EDGE_ALIGNED,EDGE_CENTERED,EDGE_ALIGNED,EDGE_CENTERED )
	Local TextField1:TGadget = CreateTextField:TGadget(7,35,344,18,Window1:TGadget,Null)
		SetGadgetText( TextField1:TGadget,"")
		SetGadgetLayout( TextField1:TGadget,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_CENTERED )

Repeat
	WaitEvent()
	Select EventID()
		Case EVENT_WINDOWCLOSE
			Select EventSource()
				Case Window1	Window1_WC( Window1:TGadget )
			End Select

		Case EVENT_GADGETACTION
			Select EventSource()
				Case TextField1	TextField1_GA( TextField1:TGadget )
			End Select

		Case EVENT_GADGETPAINT
			Select EventSource()
				Case Canvas1	Canvas1_GP( Canvas1:TGadget )
			End Select

	End Select
Forever

Function Window1_WC( Window:TGadget )
	DebugLog "Window Window1 wants to be closed"
'	HideGadget( Window:TGadget )

	End
End Function

Function TextField1_GA( TextField:TGadget )
	DebugLog "TextField TextField1 was modified"
	DebugLog "Text = "+ TextFieldText$( TextField:TGadget )
	Cls
	DrawText(TextFieldText(TextField),10,10)
	Flip
End Function

Function Canvas1_GP( Canvas:TGadget )
	DebugLog "Canvas Canvas1 needs to be redrawn"
	SetGraphics CanvasGraphics ( Canvas )
	SetViewport 0,0,GadgetWidth( Canvas ),GadgetHeight( Canvas )
	
	'Init Canvas
	SetColor( 208,216,61 )
	SetClsColor( 118,131,184 )
	Cls
	DrawText( "Type some text in the textfield!" ,1,1 )
	Flip
	'End of init

End Function