Annotation of mstools/samples/sdktools/perfmon/winhelpr.h, revision 1.1.1.1

1.1       root        1: /*
                      2: ==============================================================================
                      3: 
                      4:   Application:
                      5: 
                      6:             Microsoft Windows NT (TM) Performance Monitor
                      7: 
                      8:   File:
                      9:             wincrack.h - Windows helper macros.
                     10: 
                     11:             This file contains macros for more easily dealing with windows
                     12:             messages and objects. Think of it as an extension to windows.h.
                     13: 
                     14:    Written by:
                     15: 
                     16:             Mike Moskowitz 8 Apr 92.
                     17: 
                     18:   Copyright 1992, Microsoft Corporation. All Rights Reserved.
                     19: ==============================================================================
                     20: */
                     21: 
                     22: 
                     23: 
                     24: //==========================================================================//
                     25: //                                   Macros                                 //
                     26: //==========================================================================//
                     27: 
                     28: 
                     29: #define SetFont(hWnd, hFont)                          \
                     30:    (SendMessage ((hWnd), WM_SETFONT, (WPARAM) hFont, 0))
                     31: 
                     32: 
                     33: //======================================//
                     34: // Object-differentiation routines      //
                     35: //======================================//
                     36: 
                     37: 
                     38: // Windows APIs deal with all GDI objects the same. There's a SelectObject,
                     39: // no SelectBitmap, SelectFont, etc. We use these instead to make the code
                     40: // easier to read. Also, you can redefine one of these to check the 
                     41: // validity of a particular GDI object type.
                     42: 
                     43: 
                     44: #define SelectBitmap(hDC, hBitmap)                    \
                     45:    (SelectObject (hDC, hBitmap))
                     46: 
                     47: #define SelectFont(hDC, hFont)                        \
                     48:    (SelectObject (hDC, hFont))
                     49: 
                     50: #define SelectBrush(hDC, hBrush)                      \
                     51:    (SelectObject (hDC, hBrush))
                     52: 
                     53: #define DeleteBrush(hBrush)                           \
                     54:    (DeleteObject (hBrush))
                     55: 
                     56: #define SelectPen(hDC, hPen)                          \
                     57:    (SelectObject (hDC, hPen))
                     58: 
                     59: #define DeletePen(hPen)                               \
                     60:    (DeleteObject (hPen))
                     61: 
                     62: 
                     63: //======================================//
                     64: //                                      //
                     65: //======================================//
                     66: 
                     67: 
                     68: #define CBData(hWndCB, iIndex)                        \
                     69:    (SendMessage (hWndCB, CB_GETITEMDATA, iIndex, 0L))
                     70: 
                     71: 
                     72: #define CBSetData(hWndCB, iIndex, lData)              \
                     73:    (SendMessage (hWndCB, CB_SETITEMDATA, iIndex, (LONG) lData))
                     74: 
                     75: 
                     76: #define CBAdd(hWndCB, lpszText)                       \
                     77:    ((int)(DWORD)SendMessage((hWndCB), CB_ADDSTRING,   \
                     78:     0, (LPARAM)(LPCSTR)(lpszText)))
                     79: 
                     80: 
                     81: #define CBFind(hWndCB, lpszText)                      \
                     82:    (SendMessage (hWndCB, CB_FINDSTRING, 0xFFFFFFFF, (LPARAM) lpszText))
                     83: 
                     84: 
                     85: #define CBInsert(hWndCB, iIndex, lpszText)            \
                     86:    (SendMessage (hWndCB, CB_INSERTSTRING, (WPARAM) iIndex, (LPARAM) lpszText))
                     87: 
                     88: 
                     89: #define CBReset(hWndCB)                               \
                     90:    ((int)(DWORD)SendMessage((hWndCB), CB_RESETCONTENT,\
                     91:     0, (LPARAM)0))
                     92: 
                     93: 
                     94: #define CBSelection(hWndCB)                           \
                     95:    (SendMessage (hWndCB, CB_GETCURSEL, 0, 0L))
                     96: 
                     97: 
                     98: #define CBSetSelection(hWndCB, iIndex)                \
                     99:    (SendMessage (hWndCB, CB_SETCURSEL, iIndex, 0L))
                    100: 
                    101: 
                    102: #define CBString(hWndCB, iIndex, lpszText)            \
                    103:    (SendMessage (hWndCB, CB_GETLBTEXT, iIndex, (LPARAM) lpszText))
                    104: 
                    105: 
                    106: #define CBStringLen(hWndCB, iIndex)                   \
                    107:    (SendMessage (hWndCB, CB_GETLBTEXTLEN, iIndex, 0L))
                    108: 
                    109: 
                    110: 
                    111: //======================================//
                    112: // Listbox helpers                      //
                    113: //======================================//
                    114: 
                    115: 
                    116: #define LBAdd(hWndLB, lpszText)                       \
                    117:    (SendMessage (hWndLB, LB_ADDSTRING, 0, (LPARAM) lpszText))
                    118: 
                    119: 
                    120: #define LBData(hWndLB, iIndex)                        \
                    121:    (SendMessage (hWndLB, LB_GETITEMDATA, iIndex, 0L))
                    122: 
                    123: 
                    124: #define LBDelete(hWndLB, iIndex)                      \
                    125:    (SendMessage (hWndLB, LB_DELETESTRING, iIndex, 0L))
                    126: 
                    127: 
                    128: #define LBFind(hWndLB, lpszText)                      \
                    129:    (SendMessage (hWndLB, LB_FINDSTRING, (WPARAM) -1, (LPARAM) lpszText))
                    130: 
                    131: 
                    132: #define LBFocus(hWndLB)                               \
                    133:    (SendMessage (hWndLB, LB_GETCARETINDEX, 0, 0))
                    134: 
                    135: 
                    136: #define LBInsert(hWndLB, iIndex, lpszText)            \
                    137:    (SendMessage (hWndLB, LB_INSERTSTRING, (WPARAM) iIndex, (LPARAM) lpszText))
                    138: 
                    139: 
                    140: #define LBNumItems(hWndLB)                            \
                    141:    ((int) SendMessage (hWndLB, LB_GETCOUNT, 0, 0))
                    142: 
                    143: 
                    144: #define LBReset(hWndLB)                               \
                    145:    ((int)(DWORD)SendMessage((hWndLB), LB_RESETCONTENT,\
                    146:     0, (LPARAM)0))
                    147: 
                    148: 
                    149: #define LBSelected(hwndLB, index)                     \
                    150:    ((int)(DWORD)SendMessage((hwndLB), LB_GETSEL,      \
                    151:     (WPARAM)(int)(index), 0L))
                    152: 
                    153: 
                    154: #define LBSelection(hWndLB)                           \
                    155:    (SendMessage (hWndLB, LB_GETCURSEL, 0, 0L))
                    156: 
                    157: 
                    158: #define LBSetData(hWndLB, iIndex, lData)              \
                    159:    (SendMessage (hWndLB, LB_SETITEMDATA, iIndex, (LONG) lData))
                    160: 
                    161: 
                    162: #define LBSetSelection(hWndLB, iIndex)                \
                    163:    (SendMessage (hWndLB, LB_SETCURSEL, iIndex, 0L))
                    164: 
                    165: 
                    166: #define LBString(hwndLB, iIndex, lpszText)            \
                    167:    ((int)(DWORD)SendMessage((hwndLB), LB_GETTEXT,     \
                    168:     (WPARAM)(int)(iIndex), (LPARAM)(LPCSTR)(lpszText)))
                    169: 
                    170: 
                    171: #define MLBSetSelection(hWndMLB, iIndex, bSet)        \
                    172:    (SendMessage (hWndMLB, LB_SETSEL, (WPARAM) bSet, (LPARAM) iIndex))
                    173: 
                    174: #define LBSetVisible(hWndLB, iIndex)                  \
                    175:    (SendMessage (hWndLB, LB_SETCARETINDEX, (WPARAM) iIndex, 0L))
                    176: 
                    177:  
                    178: #define LBSetRedraw(hWndLB, bDrawOnOff)               \
                    179:    (SendMessage (hWndLB, WM_SETREDRAW, (WPARAM) bDrawOnOff, 0L))
                    180: 
                    181: 
                    182: #define LBSetHorzExtent(hWndLB, wExtent)              \
                    183:    (SendMessage (hWndLB, LB_SETHORIZONTALEXTENT, (WPARAM)wExtent, 0L))
                    184: 
                    185: //======================================//
                    186: // Edit helpers                         //
                    187: //======================================//
                    188: 
                    189: 
                    190: #define EditModified(hWndEdit)                        \
                    191:    (SendMessage ((hWndEdit), EM_GETMODIFY, (WPARAM) 0, (LPARAM) 0))
                    192: 
                    193: 
                    194: #define EditSetModified(hWndEdit, bModified)                     \
                    195:    (SendMessage ((hWndEdit), EM_SETMODIFY, (WPARAM) bModified, 0))
                    196: 
                    197: 
                    198: #define EditSetLimit(hWndEdit, iLimit)                \
                    199:    (SendMessage ((hWndEdit), EM_LIMITTEXT, (WPARAM) iLimit, 0))
                    200: #define EditSetTextPos(hWnd, idControl, iStartPos, iEndPos)    \
                    201:    (SendMessage (GetDlgItem(hWnd, idControl), EM_SETSEL, (WPARAM) iStartPos, (LPARAM) iEndPos))
                    202: 
                    203: #define EditSetTextEndPos(hWnd, idControl)    \
                    204:    EditSetTextPos(hWnd, idControl, 0, 32767)
                    205: 
                    206: //======================================//
                    207: // Cursor helpers                       //
                    208: //======================================//
                    209: 
                    210: #define SetHourglassCursor() \
                    211:     (SetCursor(LoadCursor(NULL, IDC_WAIT)))
                    212: 
                    213: #define SetArrowCursor() \
                    214:     (SetCursor(LoadCursor(NULL, IDC_ARROW)))
                    215: 
                    216: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.