DrgAddStrHandle: Difference between revisions
Appearance
Created page with "This function creates a handle to a string. ==Syntax== DrgAddStrHandle(pString); ==Parameters== ; pString (PSZ) - input : String for which a handle is to be created. ==..." |
No edit summary |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
This function creates a handle to a string. | This function creates a handle to a string. | ||
==Syntax== | ==Syntax== | ||
DrgAddStrHandle(pString) | DrgAddStrHandle(pString) | ||
==Parameters== | ==Parameters== | ||
; pString (PSZ) - input | ; pString ([[PSZ]]) - input: String for which a handle is to be created. | ||
: String for which a handle is to be created. | |||
==Returns== | ==Returns== | ||
; hstr (HSTR) - returns | ; hstr ([[HSTR]]) - returns: String handle. | ||
: String handle. | ::NULLHANDLE - Error occurred. | ||
: | ::Other - String handle created. | ||
: | |||
==Errors== | ==Errors== | ||
Possible returns from WinGetLastError | Possible returns from [[WinGetLastError]]: | ||
;PMERR_INVALID_PARAMETERS (0x1208) | ;PMERR_INVALID_PARAMETERS (0x1208):An application parameter value is invalid for its converted PM type. For example: a 4-byte value outside the range -32 768 to +32 767 cannot be converted to a [[SHORT]], and a negative number cannot be converted to a [[ULONG]] or [[USHORT]]. | ||
:An application parameter value is invalid for its converted PM type. For example: a 4-byte value outside the range -32 768 to +32 767 cannot be converted to a SHORT, and a negative number cannot be converted to a ULONG or USHORT. ;PMERR_RESOURCE_DEPLETION (0x20F9) | ;PMERR_RESOURCE_DEPLETION (0x20F9):An internal resource depletion error has occurred. | ||
:An internal resource depletion error has occurred. | |||
==Remarks== | ==Remarks== | ||
The handle can be used by any application to reference the input string. | The handle can be used by any application to reference the input string. | ||
This function must be called by the source of a drag whenever a string is to be passed in a DRAGINFO structure. | This function must be called by the source of a drag whenever a string is to be passed in a [[DRAGINFO]] structure. | ||
==Example Code== | ==Example Code== | ||
This example calls the DrgAddStrHandle function to create handles for strings that are used in a [[DRAGITEM]] structure. | |||
This example calls the DrgAddStrHandle function to create handles for strings that are used in a DRAGITEM structure. | |||
<pre> | <pre> | ||
#define INCL_WINSTDDRAG /* Direct Manipulation (Drag) Functions */ | #define INCL_WINSTDDRAG /* Direct Manipulation (Drag) Functions */ | ||
Line 64: | Line 50: | ||
==Related Functions== | ==Related Functions== | ||
* DrgDeleteStrHandle | * [[DrgDeleteStrHandle]] | ||
* DrgQueryStrName | * [[DrgQueryStrName]] | ||
[[Category:Drg]] | [[Category:Drg]] |
Latest revision as of 03:31, 25 April 2025
This function creates a handle to a string.
Syntax
DrgAddStrHandle(pString)
Parameters
- pString (PSZ) - input
- String for which a handle is to be created.
Returns
- hstr (HSTR) - returns
- String handle.
- NULLHANDLE - Error occurred.
- Other - String handle created.
Errors
Possible returns from WinGetLastError:
- PMERR_INVALID_PARAMETERS (0x1208)
- An application parameter value is invalid for its converted PM type. For example: a 4-byte value outside the range -32 768 to +32 767 cannot be converted to a SHORT, and a negative number cannot be converted to a ULONG or USHORT.
- PMERR_RESOURCE_DEPLETION (0x20F9)
- An internal resource depletion error has occurred.
Remarks
The handle can be used by any application to reference the input string.
This function must be called by the source of a drag whenever a string is to be passed in a DRAGINFO structure.
Example Code
This example calls the DrgAddStrHandle function to create handles for strings that are used in a DRAGITEM structure.
#define INCL_WINSTDDRAG /* Direct Manipulation (Drag) Functions */ #include <os2.h> USHORT ID_ITEM = 1; /* Drag item identifier */ HWND hwnd; /* Window handle */ DRAGITEM ditem; /* DRAGITEM structure */ /* Initialize the DRAGITEM structure */ ditem.hwndItem = hwnd; /* Conversation partner */ ditem.ulItemID = ID_ITEM; /* Identifies item being dragged */ ditem.hstrType = DrgAddStrHandle(DRT_TEXT); /* Item is text */ ditem.hstrRMF = DrgAddStrHandle("<DRM_OS2FILE,DRF_TEXT>"); ditem.hstrContainerName = DrgAddStrHandle("C:\\"); ditem.hstrSourceName = DrgAddStrHandle("C:\\CONFIG.SYS"); ditem.hstrTargetName = DrgAddStrHandle("C:\\OS2\\CONFIG.SYS"); ditem.cxOffset = 0; /* X-offset of the origin of the */ /* image from the pointer hotspot*/ ditem.cyOffset = 0; /* Y-offset of the origin of the */ /* image from the pointer hotspot*/ ditem.fsControl = 0; /* Source item control flags */ /* object is open */ ditem.fsSupportedOps = 0;