00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "windows.h"
00012
00013 #include "commctrl.h"
00014
00015
00016 #define WM_MOUSEWHEEL 0x020A
00017 #define WHEEL_DELTA 120
00018 #define SPI_GETWHEELSCROLLLINES 104
00019
00020
00021 #define DIR_CHAR '\\'
00022 #define DIR_STR "\\"
00023
00024 #define IsSlash(c) (((c)=='/')OR((c)=='\\'))
00025 #define IsQuote(c) (((c)=='\"')OR((c)=='\''))
00026
00027
00028 class LgiClass GMem
00029 {
00030 int64 Size;
00031 HGLOBAL hMem;
00032 void *pMem;
00033
00034 public:
00035 GMem(int64 size)
00036 {
00037 Size = size;
00038 hMem = GlobalAlloc(GMEM_FIXED, Size);
00039 pMem = 0;
00040 }
00041
00042 GMem(HGLOBAL hmem)
00043 {
00044 hMem = hmem;
00045 Size = GlobalSize(hMem);
00046 pMem = 0;
00047 }
00048
00049 ~GMem()
00050 {
00051 if (pMem)
00052 {
00053 GlobalUnlock(hMem);
00054 pMem = 0;
00055 }
00056 GlobalFree(hMem);
00057 hMem = 0;
00058 }
00059
00060 void *Lock()
00061 {
00062 return pMem = GlobalLock(hMem);
00063 }
00064
00065 void UnLock()
00066 {
00067 if (pMem)
00068 {
00069 GlobalUnlock(hMem);
00070 pMem = 0;
00071 }
00072 }
00073
00074 HGLOBAL Handle() { return hMem; }
00075 int64 GetSize() { return Size; }
00076 };
00077