WinGetSysBitmap
Appearance
This function returns a handle to one of the standard bit maps provided by the system.
Syntax
WinGetSysBitmap(hwndDesktop, ibm)
Parameters
- hwndDesktop (HWND) - input
- Desktop-window handle.
- HWND_DESKTOP: The desktop-window handle
- Other: Specified desktop-window handle.
- ibm (ULONG) - input
- System bit-map index value.
- SBMP_SYSMENU - System menu
- SBMP_SYSMENUDEP - System menu in depressed state
- SBMP_SBUPARROW - Scroll bar up arrow
- SBMP_SBUPARROWDEP - Scroll bar up arrow in depressed state
- SBMP_SBUPARROWDIS - Scroll bar up arrow in disabled state
- SBMP_SBDNARROW - Scroll bar down arrow
- SBMP_SBDNARROWDEP - Scroll bar down arrow in depressed state
- SBMP_SBDNARROWDIS - Scroll bar down arrow in disabled state
- SBMP_SBRGARROW - Scroll bar right arrow
- SBMP_SBRGARROWDEP - Scroll bar right arrow in depressed state
- SBMP_SBRGARROWDIS - Scroll bar right arrow in disabled state
- SBMP_SBLFARROW - Scroll bar left arrow
- SBMP_SBLFARROWDEP - Scroll bar left arrow in depressed state
- SBMP_SBLFARROWDIS - Scroll bar left arrow in disabled state
- SBMP_MENUCHECK - Menu check mark
- SBMP_MENUATTACHED - Cascading menu mark
- SBMP_CHECKBOXES - Check box or radio button check marks
- SBMP_COMBODOWN - Combobox down arrow
- SBMP_BTNCORNERS - Push-button corners
- SBMP_MINBUTTON - Minimize button
- SBMP_MINBUTTONDEP - Minimize button in depressed state
- SBMP_MAXBUTTON - Maximize button
- SBMP_MAXBUTTONDEP - Maximize button in depressed state
- SBMP_RESTOREBUTTON - Restore button
- SBMP_RESTOREBUTTONDEP - Restore button in depressed state
- SBMP_CHILDSYSMENU - System menu for child windows
- SBMP_CHILDSYSMENUDEP - System menu for child windows in depressed state
- SBMP_DRIVE - Drive
- SBMP_FILE - File
- SBMP_FOLDER - Folder
- SBMP_TREEPLUS - Used by the file system to indicate that an entry in the directory can be expanded.
- SBMP_TREEMINUS - Used by the file system to indicate that an entry in the directory can be collapsed.
- SBMP_PROGRAM - Used by the file system to mark .EXE and .COM files.
- SBMP_SIZEBOX - Used by some applications to display a sizebox in the bottom-right corner of a frame window.
Returns
- hbm (HBITMAP) - returns
- System bit-map handle.
- NULLHANDLE
- Error occurred
- Other
- System bit-map handle.
Errors
Possible returns from WinGetLastError
- PMERR_INVALID_HWND (0x1001)
- An invalid window handle was specified.
- PMERR_PARAMETER_OUT_OF_RANGE (0x1003)
- The value of a parameter was not within the defined valid range for that parameter.
- MERR_RESOURCE_NOT_FOUND (0x100A)
- The specified resource identity could not be found.
Remarks
The bit map returned can be used for any of the normal bit-map operations. This function provides a new copy of the system bit map each time it is called. The application should release any bit maps it gets with this function by using GpiDeleteBitmap.
Example Code
This example uses WinGetSysBitmap to retrieve the system defined handle for the menu check mark bit map during the window creation phase. The bit-map handle is then later used to draw the check mark in response to user selection of a menu item.
#define INCL_WINWINDOWMGR /* Window Manager Functions */ #define INCL_WINPOINTERS /* Window Pointer Functions */ #define INCL_WINMESSAGEMGR /* Window Message Functions */ #define INCL_WINMENUS /* Window Menu Functions */ #include <os2.h> HPS hps; /* presentation-space handle */ HBITMAP hbmCheck; /* check mark bit-map handle */ HWND hwndMenu; /* menu handle */ USHORT usItemId; /* menu item id */ MPARAM mp1; /* Parameter 1 (menu item id) */ MPARAM mp2; /* Parameter 2 (menu handle) */ RECTL rclItem; /* item border rectangle */ case WM_CREATE: /* obtain check mark bit-map handle */ hbmCheck = WinGetSysBitmap(HWND_DESKTOP, SBMP_MENUCHECK); case WM_MENUSELECT: usItemId = SHORT1FROMMP(mp1); hwndMenu = HWNDFROMMP(mp2); /* get rectangle of selected item */ WinSendMsg(hwndMenu, MM_QUERYITEMRECT, MPFROM2SHORT(usItemId, TRUE), MPFROMP(&rclItem)); /* draw the check mark in the lower left corner of item's rectangle */ if (hbmCheck != NULL) { WinDrawBitmap(hps, hbmCheck, /* check mark */ NULL, /* draw whole bit map */ (PPOINTL)&rclItem,/* bit-map destination */ 0L, /* ignored since color */ 0L, /* bit map */ DBM_NORMAL); /* draw normal size */ }