Jump to content

WinCreateObject: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== WinCreateObject ==
Creates an instance of the object specified by className, having the title specified by titleOfObject, and places the icon and title in the location specified by location.
; WinCreateObject(className, titleOfObject, setupString, location, creationFlags) : Creates an instance of the object specified by className, having the title specified by titleOfObject, and places the icon and title in the location specified by location.


=== Parameters ===
==Syntax==
; className - [[PSZ]] - input : Class name of object.
WinCreateObject (className, titleOfObject, setupString, location, creationFlags)
; titleOfObject - PSZ - input : The title to appear, when displayed, underneath an icon or in the titlebar, of the open object.
 
; setupString - PSZ - input : See the description for the Workplace [[OS2_API:WPLaunchPad|WPLaunchPad]] for a table of setup strings to customize the Toolbar.
==Parameters==
; location - PSZ - input : The value can be in the following formats:
;className - [[PSZ]] - input : Class name of object.
;titleOfObject - PSZ - input : The title to appear, when displayed, underneath an icon or in the titlebar, of the open object.
;setupString - PSZ - input : See the description for the Workplace [[WPLaunchPad]] for a table of setup strings to customize the Toolbar.
;location - PSZ - input : The value can be in the following formats:


Any predefined system folder object ids:
Any predefined system folder object ids:
Line 19: Line 21:


The real name as a fully qualified path name.
The real name as a fully qualified path name.
; creationFlags - [[ULONG]] - input :
;creationFlags - [[ULONG]] - input :
One of the following:
One of the following:
* [[OS2 API:Constant:CO#CO_FAILIFEXISTS|CO_FAILIFEXISTS]] - No object will be created if an object with the given object ID already exists. This is the default.
*CO_FAILIFEXISTS - No object will be created if an object with the given object ID already exists. This is the default.
* [[OS2 API:Constant:CO#CO_REPLACEIFEXISTS|CO_REPLACEIFEXISTS]] - If an object with the given ID already exists, the existing object should be replaced.
*CO_REPLACEIFEXISTS - If an object with the given ID already exists, the existing object should be replaced.
* [[OS2 API:Constant:CO#CO_UPDATEIFEXISTS|CO_UPDATEIFEXISTS]] - If an object with the given ID already exists, the existing object should be updated with the new information.
*CO_UPDATEIFEXISTS - If an object with the given ID already exists, the existing object should be updated with the new information.


=== Constants ===
== Constants ==
See [[#Parameters|the paramters]] section.
See [[#Parameters|the paramters]] section.


=== Returns ===
== Returns ==
[[APIRET]] with values of:
[[APIRET]] with values of:
* [[HOBJECT]] - Handle to created object.
* [[HOBJECT]] - Handle to created object.
* [[NULLHANDLE]] - Object creation failed.
* [[NULLHANDLE]] - Object creation failed.


=== Define (C/C++) ===
== Define (C/C++) ==
INCL_WINWORKPLACE
INCL_WINWORKPLACE


=== Calling conversion ===
== Calling Convention ==
[[Cdecl32]]
[[Cdecl32]]


=== Example Code ===
== Example Code ==
  PSZ    className;
  PSZ    className;
  PSZ    titleOfObject;
  PSZ    titleOfObject;
Line 50: Line 52:
  ...
  ...


=== Related Functions ===
== Related Functions ==
*[[WinDeregisterObjectClass]]
*[[WinDeregisterObjectClass]]
*[[WinDestroyObject]]
*[[WinDestroyObject]]
Line 57: Line 59:
*[[WinSetObjectData]]
*[[WinSetObjectData]]


=== Notes ===
== Notes ==
setupString contains "key=value" pairs that dictate the behavior of the object.  Keyname/values are separated by semicolons, and values (per keyname) are separated by commas.  For example,
setupString contains "key=value" pairs that dictate the behavior of the object.  Keyname/values are separated by semicolons, and values (per keyname) are separated by commas.  For example,
  "key1=value1,value2,value3;key2=value1;key3=value1,value2;key4=value1"
  "key1=value1,value2,value3;key2=value1;key3=value1,value2;key4=value1"
Line 66: Line 68:


For example key/value pairs see the Workplace Shell objects:
For example key/value pairs see the Workplace Shell objects:
* [[OS2 API:SOM:Classes:WPColorPalette|WPColorPalette]]
*[[WPColorPalette]]
* [[OS2 API:SOM:Classes:WPDisk|WPDisk]]
*[[WPDisk]]
* [[OS2 API:SOM:Classes:WPFolder|WPFolder]]
*[[WPFolder]]
* [[OS2 API:SOM:Classes:WPFontPalette|WPFontPalette]]
*WPFontPalette
* [[OS2 API:SOM:Classes:WPKeyboard|WPKeyboard]]
*[[WPKeyboard]]
* [[OS2 API:SOM:Classes:WPLaunchPad|WPLaunchPad]]
*[[WPLaunchPad]]
* [[OS2 API:SOM:Classes:WPPalette|WPPalette]]
*[[WPPalette]]
* [[OS2 API:SOM:Classes:WPPrinter|WPPrinter]]
*[[WPPrinter]]
* [[OS2 API:SOM:Classes:WPRPrinter|WPRPrinter]]
*[[WPRPrinter]]
* [[OS2 API:SOM:Classes:WPProgram|WPProgram]]
*WPProgram
* [[OS2 API:SOM:Classes:WPProgramFile|WPProgramFile]]
*WPProgramFile
* [[OS2 API:SOM:Classes:WPSchemePalette|WPSchemePalette]]
*WPSchemePalette
* [[OS2 API:SOM:Classes:WPShadow|WPShadow]]
*WPShadow
* [[OS2 API:SOM:Classes:WPObject|WPObject]]
*[[WPObject]]


All parameters have safe defaults. It is not necessary to pass unnecessary parameters to an object.
All parameters have safe defaults. It is not necessary to pass unnecessary parameters to an object.


[[Category:Win]]
[[Category:Win]]

Latest revision as of 04:49, 20 May 2018

Creates an instance of the object specified by className, having the title specified by titleOfObject, and places the icon and title in the location specified by location.

Syntax

WinCreateObject (className, titleOfObject, setupString, location, creationFlags)

Parameters

className - PSZ - input
Class name of object.
titleOfObject - PSZ - input
The title to appear, when displayed, underneath an icon or in the titlebar, of the open object.
setupString - PSZ - input
See the description for the Workplace WPLaunchPad for a table of setup strings to customize the Toolbar.
location - PSZ - input
The value can be in the following formats:

Any predefined system folder object ids:

  • "<WP_NOWHERE>" The hidden folder.
  • "<LOCATION_DESKTOP>" The currently active desktop.
  • "<WP_OS2SYS>" The System folder.
  • "<WP_TEMPS>" The Templates folder.
  • "<WP_CONFIG>" The System Setup folder.
  • "<WP_START>" The Startup folder.
  • "<WP_INFO>" The Information folder.
  • "<WP_DRIVES>" The Drives folder.

The real name as a fully qualified path name.

creationFlags - ULONG - input

One of the following:

  • CO_FAILIFEXISTS - No object will be created if an object with the given object ID already exists. This is the default.
  • CO_REPLACEIFEXISTS - If an object with the given ID already exists, the existing object should be replaced.
  • CO_UPDATEIFEXISTS - If an object with the given ID already exists, the existing object should be updated with the new information.

Constants

See the paramters section.

Returns

APIRET with values of:

Define (C/C++)

INCL_WINWORKPLACE

Calling Convention

Cdecl32

Example Code

PSZ    className;
PSZ    titleOfObject;
PSZ    setupString;
PSZ    location;
ULONG  creationFlags;
APIRET rc;
...
rc = WinCreateObject(className, titleOfObject, setupString, location, creationFlags);
...

Related Functions

Notes

setupString contains "key=value" pairs that dictate the behavior of the object. Keyname/values are separated by semicolons, and values (per keyname) are separated by commas. For example,

"key1=value1,value2,value3;key2=value1;key3=value1,value2;key4=value1"

To have a literal comma or semicolon inside one of the fields the must be escaped with the carot character.

  • ^;
  • ^,

For example key/value pairs see the Workplace Shell objects:

All parameters have safe defaults. It is not necessary to pass unnecessary parameters to an object.