Subject Re: [IBO] TIB_Edit
Author Pirtea Calin
""Geoff Worboys"" <geoff@...> wrote in message
news:006501c11c85$7423b5d0$0201950a@hex...
> > So what i want is a property to alow a numeric field to be
> > editable from right to left i have already changed the code
> > to behave like this but i took your sugestion (Jason) and
> > discuss the feature with the list first just to see if
> > anyone is interested in it too. Usualy all numeric fields
> > are represented from right to left when not in edit mode,
> > and from left to right when in edit mode. I don't like
> > that jump it makes from right to left and think that it is
> > more apealing visualy if it stays put. (i mean in the
> > right side of the editor).
> > What do you dear list think of this ?
>
> EditEnh from the Enhanced Components will do this.
>
> I have not seen what you sent through to Jason on this particular
> issue, but my understanding was that the alignment issue came from
> using a single line edit control and the restriction is actually at
> the API level.
>
> EditEnh solves this by actually being a multi-line edit control - but
> it takes several measures to ensure that input is restricted to a
> single line. This includes parsing all pastes, checking keyboard
> activity and so on.
>
> I will be interested to know if/how you solved the problem without
> using the same approach. I was not able to solve the problem in IBOs
> IB_Edit control because it derives from the VCL maskedit base, which
> did not seem to permit the changes required.
>

I had no time to post the change to Jason yet (for the resons i explained
earlier).
but the change is one single line.
You say that the alignment work on multiline only. Using Win98SE that is not
corect. You still have to trick
the API to do what you want though.
Here it goes:
(longint(Params.Style) or Alignments[FAlignment]) and not
longint(es_Multiline);
aparently it works just fine without es_multiline BUT BEWARE i said i tested
only in Win98SE, it might not work
on other platforms ...

What i did was :
:line 488
if ( PasswordChar = #0 ) then if ( ButtonStyle <> ebsNone ) then
begin
{In order to use EM_SETRECT later, make the edit control type
MULTILINE...}
{Jason's code here}
end
else Params.Style := (longint(Params.Style) or Alignments[FAlignment])
;//and not longint(es_Multiline);




>
> Geoff Worboys
> Telesis Computing
>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>