Align baselines of 2 fields

Bob Sneidar bobsneidar at iotecdigital.com
Thu Jun 21 19:09:56 CEST 2018


Or better yet: (should probably be submitted to the Master Library). Trouble with this is that it relocates both fields. It should probably only move pField2. 

on alignFieldBaselines pField1, pField2
   local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef
   local fFormattedBottom1, fFormattedBottom2
   
   put 120 into tRef
   
   put item 4 of the formattedRect of line 1 of pField1 into fFormattedBottom1
   put item 4 of the formattedRect of line 1 of pField2 into fFormattedBottom2
   
   put item 4 of measureText(line 1 of pField1, pField1 ,"bounds") into tDescent1
   put item 4 measureText(line 1 of pField2, pField2 ,"bounds") into tDescent2
   
   put the bottom of pField1 into tBot1
   put the bottom of pField2 into tBot2
   
   put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1
   put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2
   
   set the bottom of pField1 to tRef + tDiff1
   set the bottom of pField2 to tRef + tDiff2   
end alignFieldBaselines

Bob S


> On Jun 21, 2018, at 04:37 , Niggemann, Bernd via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> Hi Mary,
> 
> I suppose you want to center those fields around a common horizontal baseline.
> 
> You might try this if that is what you want. Should work with different fonts and sizes.
> 
> Two fields, one button.
> 
> Kind regards
> Bernd
> 
> ----------------------------------------------------------
> on mouseUp
>   local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef
>   local fFormattedBottom1, fFormattedBottom2
> 
>   put 120 into tRef
> 
>   put item 4 of the formattedRect of line 1 of field 1 into fFormattedBottom1
>   put item 4 of the formattedRect of line 1 of field 2 into fFormattedBottom2
> 
>   put item 4 of measureText(line 1 of field 1, field 1 ,"bounds") into tDescent1
>   put item 4 measureText(line 1 of field 2, field 2 ,"bounds") into tDescent2
> 
>   put the bottom of field 1 into tBot1
>   put the bottom of field 2 into tBot2
> 
>   put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1
>   put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2
> 
>   set the bottom of field 1 to tRef + tDiff1
>   set the bottom of field 2 to tRef + tDiff2
> end mouseUp
> ----------------------------------------------------------
> 
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode




More information about the use-livecode mailing list