A visual user object is a reusable control or set of controls that has a certain behavior. You define it in the User Object painter, where you place controls in the user object and write scripts for those controls. Then you can place the user object in windows you build in your applications as often as needed.
There are three types of visual user objects:
Custom visual Most useful if you frequently group controls together in a window and always use the controls to perform the same processing.
Standard visual Most useful if you frequently use a PowerBuilder control to perform the same processing.
Custom visual user objects are objects that have several controls that function as a unit. You can think of a custom visual user object as a window that is a single unit and is used as a control.
Assume you frequently use a group of buttons, each of which performs standard processing. If you build a custom user object that contains all the buttons, you can place the buttons in the window as a unit when you place the user object in a window.
External visual user objects contain controls from objects in the underlying windowing system that were created outside PowerBuilder. You can use a custom DLL in PowerBuilder to create an external user object.
You must know what classes the DLL supports, the messages or events the DLL responds to, and the style bits that you can set in the DLL.
A standard visual user object inherits its definition from one standard PowerBuilder control. You modify the definition to make the control specific to your applications.
Assume you frequently use a CommandButton named Close to display a message box and then close the parent window. If you build a standard visual user object that derives from a CommandButton to perform this processing, you can use the user object whenever you want to display a message box and then close a window.