Annotation of mstools/samples/sdktools/perfmon/winhelpr.h, revision 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.