Step 3: Declare visual classes and global functions
You declare native visual classes in the same way as nonvisual classes, except that you declare an ANSI C++ class that inherits from IPBX_VisualObject, which is the ancestor class for all nonvisual PowerBuilder native classes, instead of from IPBX_NonVisualObject. You can also declare global functions in a visual extension. See "Step 3: Declare native classes and global functions" in the section on nonvisual extensions.