KNOWLEDGE BASE
Log In    |    Knowledge Base    |    4D Home
Tech Tip: Create a dynamic form with 4D Write Pro object
PRODUCT: 4D | VERSION: 16 R6 | PLATFORM: Mac & Win
Published On: June 1, 2018
Your current browser may not allow you to download the asset. We recommend Mozilla Firefox or Google Chrome.
Log In

The ability to create dynamic forms is possible in v16R6. What is also possible is to dynamically create a 4D Write Pro object on a dynamic form. Here is a simple method to create a dynamic form with a 4D Write Pro object:

// -----------------------------------------------------------------
// Name: CREATE_DYNAMIC_FORM_WITH_WP_OBJ
// Description: Method will create a form with a 4D Write Pro object
// that needs to specify the top and left coordinate with the width
// and height as well as the 4D Write Pro object passed.
//
// Input Parameters:
// $1 (LONGINT) - Left coord in the form for 4D Write Pro object
// $2 (LONGINT) - Top coord in the form for 4D Write Pro object
// $3 (LONGINT) - Width size in pixels for 4D Write Pro object.
// $4 (LONGINT) - Height size in pixels for 4D Write Pro object.
// $5 (POINTER) - Pointer 4D Write Pro object.
// ------------------------------------------------------------------
C_LONGINT($1;$left;$window)
C_LONGINT($2;$top)
C_LONGINT($3;$width)
C_LONGINT($4;$height)
C_POINTER($5;$wpObj)
C_OBJECT($wp;$page;$form)

If (Count parameters=5)
 $left:=$1
 $top:=$2
 $width:=$3
 $height:=$4
 $wpObj:=$5

 $wp:=New object("type";"write";"text";"WritePro";"top";$top;"left";$left;\
    "width";$width;"height";$height;"sizingX";"grow";"sizingY";"grow";\
    "dataSource";"$wpObj->")
 $page:=New object("objects";New object("write";$wp))
 $form:=New object("pages";New collection(Null;$page);"rightMargin";0;\
    "bottomMargin";0)

 $window:=Open form window($form)
 DIALOG($form)
 CLOSE WINDOW($window)
End if



Here is a sample of running the method:

QUERY([TABLE_1];[TABLE_1]ID=1)
CREATE_DYNAMIC_FORM_WITH_WP_OBJ(0;0;650;500;->[TABLE_1]Field_obj) // Write Pro Object