Jump to content

WinCreateObject: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
No edit summary
 
Line 4: Line 4:
  WinCreateObject (className, titleOfObject, setupString, location, creationFlags)
  WinCreateObject (className, titleOfObject, setupString, location, creationFlags)


===Parameters===
==Parameters==
;className - [[PSZ]] - input : Class name of object.
;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.
;titleOfObject - PSZ - input : The title to appear, when displayed, underneath an icon or in the titlebar, of the open object.
Line 27: Line 27:
*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 Convention ===
== Calling Convention ==
[[Cdecl32]]
[[Cdecl32]]


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


=== Related Functions ===
== Related Functions ==
*[[WinDeregisterObjectClass]]
*[[WinDeregisterObjectClass]]
*[[WinDestroyObject]]
*[[WinDestroyObject]]
Line 59: 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"

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.