Smart Field Controls


[%P= Function [ ;I= Bitmap ] %. Width Varname ]



Type: C. Any valid Xbasic function with appropriate arguments.


Type: C. Optional. The name of a bitmap to put at the right edge of the control.


Type: N. The width of the control.


Type: A. The variable that receives the return value from the function.


Alpha Anywhere allows you to define your own smart fields, which look at drop-down edit combo boxes.

  • Color

    [%P=ui_select_color( Color_Variable )]
    [%P=ui_select_color2( Color_Variable )]
  • Date

    [%P=popup.calendar( dtoc( Date_Variable ) );I=popup.calendar%.30 Date_Variable ]
  • Field

    [%P=ui_get_fieldname( Table_Name ) )%.30 Field_Variable ]
  • File

    [%f File_Type_Filter %.50 Filename_Variable ]
  • Filter

    [%P=ui_get_filter( Title, Prompt, Default_Filter, Table )%.50 Filter_Variable ]
  • Font

    [%P=ui_get_font( Title, Font_Variable )%.30 Font_Variable ]
  • Number

    [%P=popup.calculator( Number_Variable );I=popup.calculator%.30 Number_Variable ]
    [%s Low_Value, High_Value %.30 Number_Variable ]
  • Order

    [%P=ui_get_order( Title, Prompt, Default_Order, Table )%.50 Order_Variable ]
  • Path

    [%p=ui_get_path( Title, Default_Drive, Default_Path );I=$a5_folder%.50 Path_Variable ]


The following examples show how to create font picker and color picker smart controls.

Font |%P=ui_get_font()%.30font;
Color: |%P=ui_select_color(color)%.30color; 
Color: |%P=ui_select_color2(color)%.30color;

'Note that a color picker can also be created using the 'C' directive.
Color: |%C%.30color3;

The complete Xdialog syntax is:

ui_dlg_box("Smart Fields",<<%dlg%
Font |%P=ui_get_font()%.30font;
Color: |%P=ui_select_color(color)%.30color; 
Color: |%P=ui_select_color2(color2)%.30color2;
Color: |%C%.30color3;

If you are using array variables with square bracket notation, you must escape the trailing "]" bracket with a backslash "\" when the variable is referenced by a control. However, it must not be modified when used inside a function call. For example:

Font: |[%P=ui_get_font("",dat.font[textindex].font)%.30dat.fonttextindex\.font!fontevent_*];

See Also