DdfSetFormat
Appearance
This function is used to turn formatting off or on, corresponding to the `:lines.` tag.
Syntax
DdfSetFormat(hddf, fFormatType)
Parameters
- hddf (HDDF) - input
- Handle to DDF returned by DdfInitialize.
- fFormatType (ULONG) - input
- Formatting-activation flag. Only the following constants may be used:
- TRUE - Turn formatting on
- FALSE - Turn formatting off
- rc (BOOL) - returns
- Success indicator.
Returns
- rc (BOOL) - returns
- Success indicator.
- TRUE Successful completion
- FALSE Error occurred
Remarks
Declaration:
#define INCL_DDF #include <os2.h> HDDF hddf; /* Handle to DDF returned by DdfInitialize. */ ULONG fFormatType; /* Formatting-activation flag. */ BOOL rc; /* Success indicator. */ rc = DdfSetFormat(hddf, fFormatType);
If formatting is ON, there is a 3-byte ESC code overhead in the DDF internal buffer for this function. Otherwise, there is a 4-byte ESC code overhead.
Possible errors include:
- HMERR_DDF_MEMORY (0x3001) Not enough memory is available.
Example Code
After initializing a DDF buffer with DdfInitialize, this example uses `DdfSetTextAlign` to specify left-justified text in the DDF buffer when formatting is OFF. It then uses `DdfSetFormat` to turn off formatting for text in the DDF buffer (corresponding to the IPF `lines` tag).
For a more detailed example and discussion of initializing DDF, see the DdfInitialize sample.
#define INCL_WINWINDOWMGR /* General window management */
#define INCL_WINMESSAGEMGR /* Message management */
#define INCL_GPIPRIMITIVES /* Drawing Primitives/Attributes*/
#define INCL_DDF /* Dynamic Data Facility */
#include <os2.h>
#include <pmhelp.h>
MRESULT WindowProc(HWND hwnd, ULONG ulMsg, MPARAM mp1, MPARAM mp2)
{
HWND hwndParent;
HWND hwndInstance; /* help instance window */
HDDF hDdf; /* DDF handle */
switch (ulMsg)
{
case HM_QUERY_DDF_DATA:
/* get the help instance */
hwndParent = WinQueryWindow(hwnd, QW_PARENT);
hwndParent = WinQueryWindow(hwndParent, QW_PARENT);
hwndInstance = (HWND)WinSendMsg(hwndParent, HM_QUERY,
MPFROMSHORT(HMQW_INSTANCE), NULL);
/* Allocate 1K Buffer (default) */
hDdf = DdfInitialize(
hwndInstance, /* Handle of help instance */
0L, /* Default buffer size */
0L /* Default increment */
);
if (hDdf == NULLHANDLE) /* Check return code */
{
return (MRESULT)FALSE;
}
/* left justify text when formatting is OFF */
if (!DdfSetTextAlign(hDdf, TA_LEFT))
{
return (MRESULT)FALSE;
}
/* turn formatting OFF */
if (!DdfSetFormat(hDdf, FALSE))
{
return (MRESULT)FALSE;
}
if (!DdfText(hDdf, "Format OFF: This text should be Left Aligned!\n"))
{
return (MRESULT)FALSE;
}
return (MRESULT)hDdf;
}
return WinDefWindowProc(hwnd, ulMsg, mp1, mp2);
}