[Gambas-user] How do I left justify text in a DataControl

Tobias Boege taboege at ...626...
Sun Apr 12 16:20:59 CEST 2015


On Sun, 12 Apr 2015, Martin McGlensey wrote:
> How do I force a DataControl to display text, that is longer than the
> control,  as left justified. That is if the control is sized to accept ten
> characters, on the form,  and the text is twenty characters I want to see
> the first ten. Now I see the last ten. Want to see the first ten and be able
> to arrow over to see the next ten. Is there an align property to address
> this?
> 
> All solutions are welcome.
> 

A DataControl can take the form of one of TextBox, DateBox, ComboBox,
TextArea and ButtonBox, AFAICS. It's more difficult to find a general
solution, so I'll restrict myself to the case that you are displaying
an Integer, Long, Float or String (with less than 256 characters)
field which are precisely the cases where the DataControl uses a
TextBox to display the field.

Then you get that internal TextBox via DataControl.Control. You just
take this TextBox and go to cursor position zero:

  Dim hTextBox As TextBox = myDataControl.Control

  hTextBox.Pos = 0

This shows the left characters of the TextBox [ I have verified that it
works out like this, on my system ]. The other cases may be similar,
except DateBox which has no Pos property.

If you have a DataSource -> DataBrowser -> DataControl in your project,
the appropriate place to put the above code would be the DataSource_Change
event handler.

[ Also note that this is not about text alignment which you can control
  separately with a TextBox but simply about what part of the long text
  is displayed by the limited control. ]

Regards,
Tobi

-- 
"There's an old saying: Don't change anything... ever!" -- Mr. Monk




More information about the User mailing list