Changeset 237:e2affbeb686d
- Timestamp:
- 06/18/08 21:25:36 (4 months ago)
- Files:
-
- dwt/accessibility/Accessible.d (modified) (1 diff)
- dwt/dnd/HTMLTransfer.d (modified) (2 diffs)
- dwt/dnd/ImageTransfer.d (modified) (1 diff)
- dwt/dnd/RTFTransfer.d (modified) (2 diffs)
- dwt/dnd/TextTransfer.d (modified) (2 diffs)
- dwt/dnd/TreeDropTargetEffect.d (modified) (3 diffs)
- dwt/dnd/URLTransfer.d (modified) (2 diffs)
- dwt/graphics/Image.d (modified) (3 diffs)
- dwt/internal/BidiUtil.d (modified) (2 diffs)
- dwt/internal/ole/win32/extras.d (modified) (1 diff)
- dwt/internal/win32/OS.d (modified) (6 diffs)
- dwt/internal/win32/WINTYPES.d (modified) (99 diffs)
- dwt/widgets/Combo.d (modified) (2 diffs)
- dwt/widgets/Composite.d (modified) (1 diff)
- dwt/widgets/Display.d (modified) (1 diff)
- dwt/widgets/Shell.d (modified) (2 diffs)
- dwt/widgets/Spinner.d (modified) (1 diff)
- dwt/widgets/Table.d (modified) (1 diff)
- dwt/widgets/Text.d (modified) (5 diffs)
- dwt/widgets/Tree.d (modified) (59 diffs)
- dwt/widgets/TreeColumn.d (modified) (2 diffs)
- dwt/widgets/TreeItem.d (modified) (21 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
dwt/accessibility/Accessible.d
r213 r237 1010 1010 tvItem.stateMask = OS.TVIS_STATEIMAGEMASK; 1011 1011 if (OS.COMCTL32_MAJOR >= 6) { 1012 tvItem.hItem = cast(H ANDLE) OS.SendMessage (hwnd, OS.TVM_MAPACCIDTOHTREEITEM, v.lVal, 0);1012 tvItem.hItem = cast(HTREEITEM) OS.SendMessage (hwnd, OS.TVM_MAPACCIDTOHTREEITEM, v.lVal, 0); 1013 1013 } else { 1014 tvItem.hItem = cast(H ANDLE) v.lVal;1014 tvItem.hItem = cast(HTREEITEM) v.lVal; 1015 1015 } 1016 1016 auto result = OS.SendMessage (hwnd, OS.TVM_GETITEM, 0, &tvItem); dwt/dnd/HTMLTransfer.d
r213 r237 133 133 auto wstrz = StrToTCHARz(OS.CP_UTF8,buffer.toString); 134 134 cchMultiByte = OS.WideCharToMultiByte(OS.CP_UTF8, 0, wstrz, -1, null, 0, null, null); 135 auto lpMultiByteStr = cast( char*) OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte);135 auto lpMultiByteStr = cast(CHAR*) OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte); 136 136 OS.WideCharToMultiByte(OS.CP_UTF8, 0, wstrz, -1, lpMultiByteStr, cchMultiByte, null, null); 137 137 transferData.stgmedium = new STGMEDIUM(); … … 166 166 167 167 try { 168 auto lpMultiByteStr = cast( char*) OS.GlobalLock(hMem);168 auto lpMultiByteStr = cast(CHAR*) OS.GlobalLock(hMem); 169 169 if (lpMultiByteStr is null) return null; 170 170 try { dwt/dnd/ImageTransfer.d
r213 r237 183 183 DIBSECTION dib; 184 184 OS.GetObject(memDib, DIBSECTION.sizeof, &dib); 185 int biHeight = dib. biHeight;186 int scanline = dib. biSizeImage / biHeight;185 int biHeight = dib.dsBmih.biHeight; 186 int scanline = dib.dsBmih.biSizeImage / biHeight; 187 187 auto pDestBits = pBits; 188 188 auto pSourceBits = bits + scanline * (biHeight - 1); dwt/dnd/RTFTransfer.d
r212 r237 90 90 return; 91 91 } 92 auto lpMultiByteStr = cast( char*)OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, cchMultiByte);92 auto lpMultiByteStr = cast(CHAR*)OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, cchMultiByte); 93 93 OS.WideCharToMultiByte(codePage, 0, chars, -1, lpMultiByteStr, cchMultiByte, null, null); 94 94 transferData.stgmedium = new STGMEDIUM(); … … 122 122 auto hMem = stgmedium.unionField; 123 123 try { 124 auto lpMultiByteStr = cast( char*) OS.GlobalLock(hMem);124 auto lpMultiByteStr = cast(CHAR*) OS.GlobalLock(hMem); 125 125 if (lpMultiByteStr is null) return null; 126 126 try { dwt/dnd/TextTransfer.d
r212 r237 105 105 return; 106 106 } 107 auto lpMultiByteStr = cast( char*)OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, cchMultiByte);107 auto lpMultiByteStr = cast(CHAR*)OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, cchMultiByte); 108 108 OS.WideCharToMultiByte(codePage, 0, chars.ptr, -1, lpMultiByteStr, cchMultiByte, null, null); 109 109 transferData.stgmedium = new STGMEDIUM(); … … 164 164 } 165 165 case CF_TEXTID: { 166 auto lpMultiByteStr = cast( char*)OS.GlobalLock(hMem);166 auto lpMultiByteStr = cast(CHAR*)OS.GlobalLock(hMem); 167 167 if (lpMultiByteStr is null) return null; 168 168 try { dwt/dnd/TreeDropTargetEffect.d
r213 r237 129 129 if (dropIndex !is -1) { 130 130 TVITEM tvItem; 131 tvItem.hItem = cast(H ANDLE) dropIndex;131 tvItem.hItem = cast(HTREEITEM) dropIndex; 132 132 tvItem.mask = OS.TVIF_STATE; 133 133 tvItem.stateMask = OS.TVIS_DROPHILITED; … … 238 238 if (dropIndex !is -1 && (dropIndex !is cast(int)hItem || (effect & DND.FEEDBACK_SELECT) is 0)) { 239 239 TVITEM tvItem; 240 tvItem.hItem = cast(H ANDLE) dropIndex;240 tvItem.hItem = cast(HTREEITEM) dropIndex; 241 241 tvItem.mask = OS.TVIF_STATE; 242 242 tvItem.stateMask = OS.TVIS_DROPHILITED; … … 247 247 if (cast(int)hItem !is -1 && cast(int)hItem !is dropIndex && (effect & DND.FEEDBACK_SELECT) !is 0) { 248 248 TVITEM tvItem; 249 tvItem.hItem = cast(H ANDLE) hItem;249 tvItem.hItem = cast(HTREEITEM) hItem; 250 250 tvItem.mask = OS.TVIF_STATE; 251 251 tvItem.stateMask = OS.TVIS_DROPHILITED; dwt/dnd/URLTransfer.d
r213 r237 91 91 return; 92 92 } 93 auto lpMultiByteStr = cast( char*)OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte);93 auto lpMultiByteStr = cast(CHAR*)OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte); 94 94 OS.WideCharToMultiByte(codePage, 0, chars.ptr, -1, lpMultiByteStr, cchMultiByte, null, null); 95 95 transferData.stgmedium = new STGMEDIUM(); … … 123 123 auto hMem = stgmedium.unionField; 124 124 try { 125 auto lpMultiByteStr = cast( char*)OS.GlobalLock(hMem);125 auto lpMultiByteStr = cast(CHAR*)OS.GlobalLock(hMem); 126 126 if (lpMultiByteStr is null) return null; 127 127 try { dwt/graphics/Image.d
r213 r237 1422 1422 if (depth <= 8) { 1423 1423 if (isDib) { 1424 numColors = dib. biClrUsed;1424 numColors = dib.dsBmih.biClrUsed; 1425 1425 } else { 1426 1426 numColors = 1 << depth; … … 1456 1456 int imageSize; 1457 1457 if (isDib) { 1458 imageSize = dib. biSizeImage;1458 imageSize = dib.dsBmih.biSizeImage; 1459 1459 } else { 1460 1460 /* Call with null lpBits to get the image size */ … … 1470 1470 if (this.handle !is handle) { 1471 1471 /* get image data from the temporary DIB */ 1472 OS.MoveMemory(data.ptr, dib. bmBits, imageSize);1472 OS.MoveMemory(data.ptr, dib.dsBm.bmBits, imageSize); 1473 1473 } 1474 1474 } else { dwt/internal/BidiUtil.d
r213 r237 194 194 auto lpOrder = result.lpOrder = cast(uint*)OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, byteCount * 4); 195 195 auto lpDx = result.lpDx = cast(int*)OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, byteCount * 4); 196 auto lpClass = result.lpClass = cast( char*)OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, byteCount);196 auto lpClass = result.lpClass = cast(CHAR*)OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, byteCount); 197 197 auto lpGlyphs = result.lpGlyphs = cast(wchar*)OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, byteCount * 2); 198 198 … … 324 324 result.nGlyphs = byteCount; 325 325 auto lpOrder = result.lpOrder = cast(uint*) OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, byteCount * 4); 326 auto lpClass = result.lpClass = cast( char*) OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, byteCount);326 auto lpClass = result.lpClass = cast(CHAR*) OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, byteCount); 327 327 328 328 // set required dwFlags, these values will affect how the text gets rendered and dwt/internal/ole/win32/extras.d
r97 r237 215 215 alias GUID *REFGUID; 216 216 217 alias IID *REFIID;217 //alias IID *REFIID; 218 218 219 219 alias CLSID *REFCLSID; dwt/internal/win32/OS.d
r233 r237 224 224 info.dwOSVersionInfoSize = OSVERSIONINFO.sizeof; 225 225 if(!OS.GetVersionEx(&info)){ 226 MessageBoxA(null, "DWT Unicode version applications can't run in a non-Unicode platform !", "Error", MB_OK|MB_ICONERROR); 226 MessageBoxA(null, 227 _PCHAR!("DWT Unicode version applications can't run in a non-Unicode platform !"), 228 _PCHAR!("Error"), 229 MB_OK|MB_ICONERROR); 227 230 tango.stdc.stdlib.exit(-1); 228 231 } … … 3522 3525 return cast(bool) SendMessage( hwnd, TVM_GETITEMRECT, code, cast(int)prc ); 3523 3526 } 3524 static int strlen( char* ptr ){3525 return tango.stdc.string.strlen( ptr );3527 static int strlen( CHAR* ptr ){ 3528 return tango.stdc.string.strlen( cast(char*)ptr ); 3526 3529 } 3527 3530 … … 3540 3543 // convert UTF-8 to MBCS 3541 3544 alias StrToMBCS StrToMBCSs; 3542 public char[] StrToMBCS(char[] sc, uint codepage = 0) {3543 char[] ret =sc;3545 public CHAR[] StrToMBCS(char[] sc, uint codepage = 0) { 3546 CHAR[] ret = cast(CHAR[]) sc; 3544 3547 try{ 3545 3548 foreach (char c; sc){ 3546 3549 if (c >= 0x80) 3547 3550 { 3548 char[] result;3551 CHAR[] result; 3549 3552 int i; 3550 3553 wchar[] ws = .toString16(sc); … … 3557 3560 }catch(Exception e){ 3558 3561 // do nothing 3559 ret = "";3562 ret = null; 3560 3563 } 3561 3564 return ret; … … 3605 3608 } 3606 3609 3607 public char[] MBCSsToStr( char[] string, uint codepage = 0){3610 public char[] MBCSsToStr(CHAR[] string, uint codepage = 0){ 3608 3611 return MBCSzToStr( string.ptr, string.length, codepage); 3609 3612 } 3610 3613 3611 public char[] MBCSzToStr( char*pString, int _length = -1, uint codepage = 0) {3614 public char[] MBCSzToStr(PCHAR pString, int _length = -1, uint codepage = 0) { 3612 3615 // null terminated string pointer 3613 3616 if(_length == -1){ … … 3680 3683 3681 3684 3682 public static wchar[] _mbcszToWs( char*pMBCS, int len, uint codepage = 0)3685 public static wchar[] _mbcszToWs(PCHAR pMBCS, int len, uint codepage = 0) 3683 3686 { 3684 3687 wchar[] wbuf; dwt/internal/win32/WINTYPES.d
r221 r237 5 5 module dwt.internal.win32.WINTYPES; 6 6 7 //public import tango_sys_win32.Types;8 9 10 version(ANSI){11 alias char TCHAR;12 }else{13 alias wchar TCHAR;14 }15 16 17 union LARGE_INTEGER {18 struct {19 DWORD LowPart;20 LONG HighPart;21 };22 struct u {23 DWORD LowPart;24 LONG HighPart;25 };26 LONGLONG QuadPart;27 }28 alias LARGE_INTEGER * PLARGE_INTEGER;29 30 31 ///////////////////////////////////////////////////////////////////////////////////////////32 ///////////////////////////////////////////////////////////////////////////////////////////33 7 /* 34 8 adopted form tango … … 37 11 38 12 /+ Aliases, Types, and Constants +/ 39 const int NULL = 0;13 const void* NULL = null; 40 14 alias int SCODE; 41 15 alias void VOID; … … 46 20 alias uint CALTYPE; 47 21 alias uint CALID; 48 alias charCCHAR;49 alias char* PCHAR;22 alias ubyte CCHAR; 23 alias ubyte* PCHAR; 50 24 alias uint COLORREF; 51 25 alias uint TCOLORREF; 52 alias charCHAR;26 alias ubyte CHAR; 53 27 alias ubyte BYTE; 54 28 alias short INT16; … … 67 41 const BOOL FALSE = 0; 68 42 const BOOL TRUE = -1; 69 alias char* PANSICHAR;43 alias ubyte* PANSICHAR; 70 44 alias wchar* PWIDECHAR; 71 45 alias int* PINTEGER; 72 alias doubleLONGLONG;46 alias long LONGLONG; 73 47 alias LONGLONG* PLONGLONG; 74 alias doubleDWORDLONG;48 alias ulong DWORDLONG; 75 49 alias DWORDLONG* PDWORDLONG; 76 alias doubleFLOAT;50 alias float FLOAT; 77 51 alias void* HANDLE; 78 52 alias HANDLE HACCEL; … … 154 128 alias wchar* PCWSTR; 155 129 alias DWORD* PDWORD; 156 alias double* PFLOAT;130 alias float* PFLOAT; 157 131 alias HANDLE* PHANDLE; 158 132 alias HKEY* PHKEY; … … 182 156 alias ubyte TBYTE; 183 157 184 // version dependent 185 //alias wchar TCHAR; 158 version(Win32SansUnicode){ 159 alias ubyte TCHAR; 160 }else{ 161 alias wchar TCHAR; 162 } 186 163 187 164 alias ubyte BCHAR; … … 194 171 alias int ACL_INFORMATION_CLASS; 195 172 196 // struct GUID { // size is 16 197 // align(1): 198 // DWORD Data1; 199 // WORD Data2; 200 // WORD Data3; 201 // BYTE[8] Data4; 202 // } 203 204 enum {ASSOCF_INIT_BYEXENAME, 205 ASSOCF_OPEN_BYEXENAME, 206 ASSOCF_INIT_DEFAULTTOSTAR, 207 ASSOCF_INIT_DEFAULTTOFOLDER, 208 ASSOCF_NOUSERSETTINGS, 209 ASSOCF_NOTRUNCATE, 210 ASSOCF_VERIFY, 211 ASSOCF_REMAPRUNDLL, 212 ASSOCF_NOFIXUPS, 213 ASSOCF_IGNOREBASECLASS 214 }; 215 216 alias DWORD ASSOCF; 173 alias GUID IID; 174 alias IID* REFIID; 175 176 // Cast a string literal to a ubyte*=PCHAR 177 template _PCHAR( char[] a ){ 178 const PCHAR _PCHAR = cast(PCHAR)a.ptr; 179 } 217 180 218 181 enum { AclRevisionInformation = 1, AclSizeInformation, }; … … 268 231 alias WINBOOL (*ENUMWINDOWSTATIONPROC)(LPTSTR, LPARAM); 269 232 alias void (*SENDASYNCPROC)(HWND, UINT, DWORD); 270 alias void (*TIMERPROC)(HWND, UINT, UINT );233 alias void (*TIMERPROC)(HWND, UINT, UINT, DWORD); 271 234 alias BOOL(*MONITORENUMPROC)(HMONITOR, HDC, RECT*, LPARAM); 272 235 alias FARPROC GRAYSTRINGPROC; … … 297 260 298 261 const { 299 char* SE_CREATE_TOKEN_NAME = ("SeCreateTokenPrivilege"); 300 char* SE_ASSIGNPRIMARYTOKEN_NAME = ("SeAssignPrimaryTokenPrivilege"); 301 char* SE_LOCK_MEMORY_NAME = ("SeLockMemoryPrivilege"); 302 char* SE_INCREASE_QUOTA_NAME = ("SeIncreaseQuotaPrivilege"); 303 char* SE_UNSOLICITED_INPUT_NAME = ("SeUnsolicitedInputPrivilege"); 304 char* SE_MACHINE_ACCOUNT_NAME = ("SeMachineAccountPrivilege"); 305 char* SE_TCB_NAME = ("SeTcbPrivilege"); 306 char* SE_SECURITY_NAME = ("SeSecurityPrivilege"); 307 char* SE_TAKE_OWNERSHIP_NAME = ("SeTakeOwnershipPrivilege"); 308 char* SE_LOAD_DRIVER_NAME = ("SeLoadDriverPrivilege"); 309 char* SE_SYSTEM_PROFILE_NAME = ("SeSystemProfilePrivilege"); 310 char* SE_SYSTEMTIME_NAME = ("SeSystemtimePrivilege"); 311 char* SE_PROF_SINGLE_PROCESS_NAME = ("SeProfileSingleProcessPrivilege"); 312 char* SE_INC_BASE_PRIORITY_NAME = ("SeIncreaseBasePriorityPrivilege"); 313 char* SE_CREATE_PAGEFILE_NAME = ("SeCreatePagefilePrivilege"); 314 char* SE_CREATE_PERMANENT_NAME = ("SeCreatePermanentPrivilege"); 315 char* SE_BACKUP_NAME = ("SeBackupPrivilege"); 316 char* SE_RESTORE_NAME = ("SeRestorePrivilege"); 317 char* SE_SHUTDOWN_NAME = ("SeShutdownPrivilege"); 318 char* SE_DEBUG_NAME = ("SeDebugPrivilege"); 319 char* SE_AUDIT_NAME = ("SeAuditPrivilege"); 320 char* SE_SYSTEM_ENVIRONMENT_NAME = ("SeSystemEnvironmentPrivilege"); 321 char* SE_CHANGE_NOTIFY_NAME = ("SeChangeNotifyPrivilege"); 322 char* SE_REMOTE_SHUTDOWN_NAME = ("SeRemoteShutdownPrivilege"); 323 char* SERVICES_ACTIVE_DATABASEA = ("ServicesActive"); 324 char* SERVICES_FAILED_DATABASEA = ("ServicesFailed"); 325 char* SC_GROUP_IDENTIFIERA = ("+"); 326 char* SERVICES_ACTIVE_DATABASE = (SERVICES_ACTIVE_DATABASEA); 327 char* SERVICES_FAILED_DATABASE = (SERVICES_FAILED_DATABASEA); 328 char* SC_GROUP_IDENTIFIER = (SC_GROUP_IDENTIFIERA); 262 LPCTSTR SE_CREATE_TOKEN_NAME = ("SeCreateTokenPrivilege"); 263 LPCTSTR SE_ASSIGNPRIMARYTOKEN_NAME = ("SeAssignPrimaryTokenPrivilege"); 264 LPCTSTR SE_LOCK_MEMORY_NAME = ("SeLockMemoryPrivilege"); 265 LPCTSTR SE_INCREASE_QUOTA_NAME = ("SeIncreaseQuotaPrivilege"); 266 LPCTSTR SE_UNSOLICITED_INPUT_NAME = ("SeUnsolicitedInputPrivilege"); 267 LPCTSTR SE_MACHINE_ACCOUNT_NAME = ("SeMachineAccountPrivilege"); 268 LPCTSTR SE_TCB_NAME = ("SeTcbPrivilege"); 269 LPCTSTR SE_SECURITY_NAME = ("SeSecurityPrivilege"); 270 LPCTSTR SE_TAKE_OWNERSHIP_NAME = ("SeTakeOwnershipPrivilege"); 271 LPCTSTR SE_LOAD_DRIVER_NAME = ("SeLoadDriverPrivilege"); 272 LPCTSTR SE_SYSTEM_PROFILE_NAME = ("SeSystemProfilePrivilege"); 273 LPCTSTR SE_SYSTEMTIME_NAME = ("SeSystemtimePrivilege"); 274 LPCTSTR SE_PROF_SINGLE_PROCESS_NAME = ("SeProfileSingleProcessPrivilege"); 275 LPCTSTR SE_INC_BASE_PRIORITY_NAME = ("SeIncreaseBasePriorityPrivilege"); 276 LPCTSTR SE_CREATE_PAGEFILE_NAME = ("SeCreatePagefilePrivilege"); 277 LPCTSTR SE_CREATE_PERMANENT_NAME = ("SeCreatePermanentPrivilege"); 278 LPCTSTR SE_BACKUP_NAME = ("SeBackupPrivilege"); 279 LPCTSTR SE_RESTORE_NAME = ("SeRestorePrivilege"); 280 LPCTSTR SE_SHUTDOWN_NAME = ("SeShutdownPrivilege"); 281 LPCTSTR SE_DEBUG_NAME = ("SeDebugPrivilege"); 282 LPCTSTR SE_AUDIT_NAME = ("SeAuditPrivilege"); 283 LPCTSTR SE_SYSTEM_ENVIRONMENT_NAME = ("SeSystemEnvironmentPrivilege"); 284 LPCTSTR SE_CHANGE_NOTIFY_NAME = ("SeChangeNotifyPrivilege"); 285 LPCTSTR SE_REMOTE_SHUTDOWN_NAME = ("SeRemoteShutdownPrivilege"); 286 287 LPCSTR SERVICES_ACTIVE_DATABASEA = _PCHAR!("ServicesActive"); 288 LPCWSTR SERVICES_ACTIVE_DATABASEW = ("ServicesActive"); 289 LPCSTR SERVICES_FAILED_DATABASEA = _PCHAR!("ServicesFailed"); 290 LPCWSTR SERVICES_FAILED_DATABASEW = ("ServicesFailed"); 291 LPCSTR SC_GROUP_IDENTIFIERA = _PCHAR!("+"); 292 LPCWSTR SC_GROUP_IDENTIFIERW = ("+"); 293 version(Win32SansUnicode){ 294 alias SERVICES_ACTIVE_DATABASEA SERVICES_ACTIVE_DATABASE; 295 alias SERVICES_FAILED_DATABASEA SERVICES_FAILED_DATABASE; 296 alias SC_GROUP_IDENTIFIERA SC_GROUP_IDENTIFIER; 297 } 298 else{ 299 alias SERVICES_ACTIVE_DATABASEW SERVICES_ACTIVE_DATABASE; 300 alias SERVICES_FAILED_DATABASEW SERVICES_FAILED_DATABASE; 301 alias SC_GROUP_IDENTIFIERW SC_GROUP_IDENTIFIER; 302 } 329 303 } 330 304 … … 1307 1281 GENERIC_READ = (0x80000000), 1308 1282 GENERIC_WRITE = (0x40000000), 1283 GENERIC_EXECUTE = (0x20000000), 1309 1284 FILE_READ_DATA = (0x0001), 1310 1285 FILE_LIST_DIRECTORY = (0x0001), … … 1488 1463 CREATE_NEW_CONSOLE = (16), 1489 1464 CREATE_NEW_PROCESS_GROUP = (512), 1465 CREATE_NO_WINDOW = (0x8000000), 1490 1466 CREATE_SEPARATE_WOW_VDM = (2048), 1491 1467 CREATE_SUSPENDED = (4), … … 1863 1839 FILE_MAP_WRITE = (2), 1864 1840 FILE_MAP_COPY = (1), 1841 FILE_MAP_EXECUTE = (0x20), 1865 1842 MUTEX_ALL_ACCESS = (0x1f0001), 1866 1843 MUTEX_MODIFY_STATE = (1), … … 2861 2838 SC_MANAGER_QUERY_LOCK_STATUS = (16), 2862 2839 SC_MANAGER_MODIFY_BOOT_CONFIG = (32), 2863 HWND_BROADCAST = (0xFFFF),2864 2840 TAPE_FORMAT = (0x5), 2865 2841 TAPE_LOAD = (0), … … 2901 2877 RDW_ALLCHILDREN = (128), 2902 2878 RDW_NOCHILDREN = (64), 2879 /* 2880 // 2903 2881 HKEY_CLASSES_ROOT = (0x80000000), 2904 2882 HKEY_CURRENT_USER = (0x80000001), … … 2908 2886 HKEY_CURRENT_CONFIG = (0x80000005), 2909 2887 HKEY_DYN_DATA = (0x80000006), 2888 */ 2910 2889 REG_OPTION_VOLATILE = (0x1), 2911 2890 REG_OPTION_NON_VOLATILE = (0), … … 3128 3107 EXCEPTION_CONTINUE_EXECUTION = -((1)), 3129 3108 EXCEPTION_CONTINUE_SEARCH = (0), 3130 HWND_BOTTOM = (1),3131 HWND_NOTOPMOST = -(2),3132 HWND_TOP = (0),3133 HWND_TOPMOST = -(1),3134 3109 SWP_DRAWFRAME = (32), 3135 3110 SWP_FRAMECHANGED = (32), … … 4116 4091 } 4117 4092 const { 4118 wchar* LPSTR_TEXTCALLBACKW = cast(LPWSTR)(-(1)); 4119 char* LPSTR_TEXTCALLBACKA = cast(LPSTR)(-(1)); 4120 char* LPSTR_TEXTCALLBACK = (LPSTR_TEXTCALLBACKA); 4093 LPWSTR LPSTR_TEXTCALLBACKW = cast(LPWSTR)(-(1)); 4094 LPSTR LPSTR_TEXTCALLBACKA = cast(LPSTR)(-(1)); 4095 version(Win32SansUnicode){ 4096 alias LPSTR_TEXTCALLBACKA LPSTR_TEXTCALLBACK; 4097 } 4098 else{ 4099 alias LPSTR_TEXTCALLBACKW LPSTR_TEXTCALLBACK; 4100 } 4121 4101 } 4122 4102 enum : DWORD { … … 4196 4176 } 4197 4177 4198 alias HANDLEHTREEITEM;4178 alias TREEITEM* HTREEITEM; 4199 4179 alias TREEITEM TTREEITEM; 4200 4180 alias TREEITEM* PTREEITEM; … … 4594 4574 char* SHAREVISTRING = (SHAREVISTRINGA); 4595 4575 } 4576 4577 const { 4578 HWND HWND_DESKTOP = cast(HWND) 0; 4579 HWND HWND_BOTTOM = cast(HWND) 1; 4580 HWND HWND_NOTOPMOST = cast(HWND) -2; 4581 HWND HWND_TOP = cast(HWND) 0; 4582 HWND HWND_TOPMOST = cast(HWND) -1; 4583 HWND HWND_BROADCAST = cast(HWND) 0xFFFF; 4584 } 4585 4596 4586 enum : DWORD { 4597 4587 CD_LBSELCHANGE = (0), … … 4889 4879 PRF_NONCLIENT = (0x2), 4890 4880 PRF_OWNED = (0x20), 4891 HWND_DESKTOP = (0),4892 4881 SC_CLOSE = (61536), 4893 4882 SC___FILE__HELP = (61824), … … 6456 6445 alias BLOB* PBLOB; 6457 6446 6458 //struct SHITEMID6459 //{6460 //USHORT cb;6461 //ubyte[1 + 0] abID;6462 //}6463 // 6464 //alias SHITEMID* LPSHITEMID;6465 //alias SHITEMID* LPCSHITEMID;6466 //alias SHITEMID _SHITEMID;6467 //alias SHITEMID TSHITEMID;6468 //alias SHITEMID* PSHITEMID;6447 struct SHITEMID 6448 { 6449 USHORT cb; 6450 ubyte[1 + 0] abID; 6451 } 6452 6453 alias SHITEMID* LPSHITEMID; 6454 alias SHITEMID* LPCSHITEMID; 6455 alias SHITEMID _SHITEMID; 6456 alias SHITEMID TSHITEMID; 6457 alias SHITEMID* PSHITEMID; 6469 6458 6470 6459 struct ITEMIDLIST … … 6479 6468 alias ITEMIDLIST* PITEMIDLIST; 6480 6469 6481 // struct BROWSEINFO 6482 // { 6483 // HWND hwndOwner; 6484 // LPCITEMIDLIST pidlRoot; 6485 // LPSTR pszDisplayName; 6486 // LPCSTR lpszTitle; 6487 // UINT ulFlags; 6488 // BFFCALLBACK lpfn; 6489 // LPARAM lParam; 6490 // int iImage; 6491 // } 6492 6493 // alias BROWSEINFO* LPBROWSEINFO; 6494 // alias BROWSEINFO _BROWSEINFO; 6495 // alias BROWSEINFO TBROWSEINFO; 6496 // alias BROWSEINFO* PBROWSEINFO; 6470 struct BROWSEINFOA 6471 { 6472 HWND hwndOwner; 6473 LPCITEMIDLIST pidlRoot; 6474 LPSTR pszDisplayName; 6475 LPCSTR lpszTitle; 6476 UINT ulFlags; 6477 BFFCALLBACK lpfn; 6478 LPARAM lParam; 6479 int iImage; 6480 } 6481 struct BROWSEINFOW 6482 { 6483 HWND hwndOwner; 6484 LPCITEMIDLIST pidlRoot; 6485 LPWSTR pszDisplayName; 6486 LPCWSTR lpszTitle; 6487 UINT ulFlags; 6488 BFFCALLBACK lpfn; 6489 LPARAM lParam; 6490 int iImage; 6491 } 6492 version( Win32SansUnicode ) 6493 { 6494 alias BROWSEINFOA BROWSEINFO; 6495 } 6496 else 6497 { 6498 alias BROWSEINFOW BROWSEINFO; 6499 } 6500 alias BROWSEINFO* PBROWSEINFO, LPBROWSEINFO; 6497 6501 6498 6502 struct FILETIME … … 6612 6616 alias CANDIDATELIST* PCANDIDATELIST; 6613 6617 6614 //struct CREATESTRUCT6615 //{6616 //LPVOID lpCreateParams;6617 //HINST hInstance;6618 //HMENU hMenu;6619 //HWND hwndParent;6620 //int cy;6621 //int cx;6622 //int y;6623 //int x;6624 //LONG style;6625 //LPCTSTR lpszName;6626 //LPCTSTR lpszClass;6627 //DWORD dwExStyle;6628 //}6618 struct CREATESTRUCT 6619 { 6620 LPVOID lpCreateParams; 6621 HINST hInstance; 6622 HMENU hMenu; 6623 HWND hwndParent; 6624 int cy; 6625 int cx; 6626 int y; 6627 int x; 6628 LONG style; 6629 LPCTSTR lpszName; 6630 LPCTSTR lpszClass; 6631 DWORD dwExStyle; 6632 } 6629 6633 6630 6634 alias CREATESTRUCT* LPCREATESTRUCT; … … 6711 6715 alias CHARSET* PCHARSET; 6712 6716 6713 //struct FONTSIGNATURE6714 //{6715 //DWORD[1 + 3] fsUsb;6716 //DWORD[1 + 1] fsCsb;6717 //}6718 // 6719 //alias FONTSIGNATURE* LPFONTSIGNATURE;6720 //alias FONTSIGNATURE TAGFONTSIGNATURE;6721 //alias FONTSIGNATURE TFONTSIGNATURE;6722 //alias FONTSIGNATURE* PFONTSIGNATURE;6717 struct FONTSIGNATURE 6718 { 6719 DWORD[1 + 3] fsUsb; 6720 DWORD[1 + 1] fsCsb; 6721 } 6722 6723 alias FONTSIGNATURE* LPFONTSIGNATURE; 6724 alias FONTSIGNATURE TAGFONTSIGNATURE; 6725 alias FONTSIGNATURE TFONTSIGNATURE; 6726 alias FONTSIGNATURE* PFONTSIGNATURE; 6723 6727 6724 6728 struct CHARSETINFO … … 6733 6737 alias CHARSETINFO* PCHARSETINFO; 6734 6738 6735 // struct TCHOOSECOLOR 6736 // { 6737 // DWORD lStructSize; 6738 // HWND hwndOwner; 6739 // HWND hInstance; 6740 // COLORREF rgbResult; 6741 // COLORREF* lpCustColors; 6742 // DWORD Flags; 6743 // LPARAM lCustData; 6744 // LPCCHOOKPROC lpfnHook; 6745 // LPCTSTR lpTemplateName; 6746 // } 6747 // 6748 // alias TCHOOSECOLOR* LPCHOOSECOLOR; 6749 // alias TCHOOSECOLOR* PCHOOSECOLOR; 6750 6751 // struct LOGFONTA 6752 // { 6753 // LONG lfHeight; 6754 // LONG lfWidth; 6755 // LONG lfEscapement; 6756 // LONG lfOrientation; 6757 // LONG lfWeight; 6758 // ubyte lfItalic; 6759 // ubyte lfUnderline; 6760 // ubyte lfStrikeOut; 6761 // ubyte lfCharSet; 6762 // ubyte lfOutPrecision; 6763 // ubyte lfClipPrecision; 6764 // ubyte lfQuality; 6765 // ubyte lfPitchAndFamily; 6766 // TCHAR[1 + LF_FACESIZE-1] lfFaceName; 6767 // } 6768 // 6769 // alias LOGFONTA TLOGFONTA; 6770 // alias LOGFONTA* PLOGFONTA; 6771 // alias LOGFONTA* LPLOGFONTA; 6772 // 6773 // struct LOGFONTW 6774 // { 6775 // LONG lfHeight; 6776 // LONG lfWidth; 6777 // LONG lfEscapement; 6778 // LONG lfOrientation; 6779 // LONG lfWeight; 6780 // ubyte lfItalic; 6781 // ubyte lfUnderline; 6782 // ubyte lfStrikeOut; 6783 // ubyte lfCharSet; 6784 // ubyte lfOutPrecision; 6785 // ubyte lfClipPrecision; 6786 // ubyte lfQuality; 6787 // ubyte lfPitchAndFamily; 6788 // WCHAR lfFaceName[LF_FACESIZE]; 6789 // }; 6790 // 6791 // alias LOGFONTW TLOGFONTW; 6792 // alias LOGFONTW* LPLOGFONTW; 6793 // alias LOGFONTW* PLOGFONTW; 6794 // 6795 // version( ANSI ){ 6796 // alias LOGFONTA LOGFONT; 6797 // alias LOGFONTA TLOGFONT; 6798 // alias LOGFONTA* PLOGFONT; 6799 // alias LOGFONTA* LPLOGFONT; 6800 // } 6801 // else{ 6802 // alias LOGFONTW LOGFONT; 6803 // alias LOGFONTW TLOGFONT; 6804 // alias LOGFONTW* PLOGFONT; 6805 // alias LOGFONTW* LPLOGFONT; 6806 // } 6807 6739 struct CHOOSECOLORA { 6740 DWORD lStructSize; 6741 HWND hwndOwner; 6742 HWND hInstance; 6743 COLORREF rgbResult; 6744 COLORREF* lpCustColors; 6745 DWORD Flags; 6746 LPARAM lCustData; 6747 LPCCHOOKPROC lpfnHook; 6748 LPCSTR lpTemplateName; 6749 } 6750 alias CHOOSECOLORA* PCHOOSECOLORA, LPCHOOSECOLORA; 6751 struct CHOOSECOLORW { 6752 DWORD lStructSize; 6753 HWND hwndOwner; 6754 HWND hInstance; 6755 COLORREF rgbResult; 6756 COLORREF* lpCustColors; 6757 DWORD Flags; 6758 LPARAM lCustData; 6759 LPCCHOOKPROC lpfnHook; 6760 LPCWSTR lpTemplateName; 6761 } 6762 alias CHOOSECOLORW* PCHOOSECOLORW, LPCHOOSECOLORW; 6763 version(Win32SansUnicode) 6764 { 6765 alias CHOOSECOLORA CHOOSECOLOR; 6766 } 6767 else 6768 { 6769 alias CHOOSECOLORW CHOOSECOLOR; 6770 } 6771 alias CHOOSECOLOR* PCHOOSECOLOR, LPCHOOSECOLOR; 6772 6773 struct LOGFONTA 6774 { 6775 LONG lfHeight; 6776 LONG lfWidth; 6777 LONG lfEscapement; 6778 LONG lfOrientation; 6779 LONG lfWeight; 6780 ubyte lfItalic; 6781 ubyte lfUnderline; 6782 ubyte lfStrikeOut; 6783 ubyte lfCharSet; 6784 ubyte lfOutPrecision; 6785 ubyte lfClipPrecision; 6786 ubyte lfQuality; 6787 ubyte lfPitchAndFamily; 6788 ubyte[1 + LF_FACESIZE-1] lfFaceName; 6789 } 6790 6791 alias LOGFONTA TLOGFONTA; 6792 alias LOGFONTA* PLOGFONTA; 6793 alias LOGFONTA* LPLOGFONTA; 6794 6795 struct LOGFONTW 6796 { 6797 LONG lfHeight; 6798 LONG lfWidth; 6799 LONG lfEscapement; 6800 LONG lfOrientation; 6801 LONG lfWeight; 6802 ubyte lfItalic; 6803 ubyte lfUnderline; 6804 ubyte lfStrikeOut; 6805 ubyte lfCharSet; 6806 ubyte lfOutPrecision; 6807 ubyte lfClipPrecision; 6808 ubyte lfQuality; 6809 ubyte lfPitchAndFamily; 6810 WCHAR lfFaceName[LF_FACESIZE]; 6811 }; 6812 6813 alias LOGFONTW TLOGFONTW; 6814 alias LOGFONTW* LPLOGFONTW; 6815 alias LOGFONTW* PLOGFONTW; 6816 6817 version( Win32SansUnicode ){ 6818 alias LOGFONTA LOGFONT; 6819 alias LOGFONTA TLOGFONT; 6820 alias LOGFONTA* PLOGFONT; 6821 alias LOGFONTA* LPLOGFONT; 6822 } 6823 else{ 6824 alias LOGFONTW LOGFONT; 6825 alias LOGFONTW TLOGFONT; 6826 alias LOGFONTW* PLOGFONT; 6827 alias LOGFONTW* LPLOGFONT; 6828 } 6808 6829 6809 6830 struct TCHOOSEFONT … … 7821 7842 alias DEVMODE* PDEVMODE; 7822 7843 7823 //struct DEVNAMES7824 //{7825 //ushort wDriverOffset;7826 //ushort wDeviceOffset;7827 //ushort wOutputOffset;7828 //ushort wDefault;7829 //}7830 7831 //alias DEVNAMES* LPDEVNAMES;7832 //alias DEVNAMES TAGDEVNAMES;7833 //alias DEVNAMES TDEVNAMES;7834 //alias DEVNAMES* PDEVNAMES;7835 7836 //struct DIBSECTION7837 //{7838 //BITMAP dsBm;7839 //BITMAPINFOHEADER dsBmih;7840 //DWORD[1 + 2] dsBitfields;7841 //HANDLE dshSection;7842 //DWORD dsOffset;7843 //}7844 // 7845 //alias DIBSECTION TAGDIBSECTION;7846 //alias DIBSECTION TDIBSECTION;7847 //alias DIBSECTION* PDIBSECTION;7848 7849 //union LARGE_INTEGER7850 //{7851 //struct7852 //{7853 //DWORD LowPart;7854 //LONG HighPart;7855 //};7856 //struct u7857 //{7858 //DWORD LowPart;7859 //LONG HighPart;7860 //};7861 //LONGLONG QuadPart;7862 // }; 7863 // 7864 //alias LARGE_INTEGER* PLARGE_INTEGER;7865 //alias LARGE_INTEGER _LARGE_INTEGER;7866 //alias LARGE_INTEGER TLARGEINTEGER;7867 //alias LARGE_INTEGER* PLARGEINTEGER;7844 struct DEVNAMES 7845 { 7846 ushort wDriverOffset; 7847 ushort wDeviceOffset; 7848 ushort wOutputOffset; 7849 ushort wDefault; 7850 } 7851 7852 alias DEVNAMES* LPDEVNAMES; 7853 alias DEVNAMES TAGDEVNAMES; 7854 alias DEVNAMES TDEVNAMES; 7855 alias DEVNAMES* PDEVNAMES; 7856 7857 struct DIBSECTION 7858 { 7859 BITMAP dsBm; 7860 BITMAPINFOHEADER dsBmih; 7861 DWORD[1 + 2] dsBitfields; 7862 HANDLE dshSection; 7863 DWORD dsOffset; 7864 } 7865 7866 alias DIBSECTION TAGDIBSECTION; 7867 alias DIBSECTION TDIBSECTION; 7868 alias DIBSECTION* PDIBSECTION; 7869 7870 union LARGE_INTEGER 7871 { 7872 struct 7873 { 7874 DWORD LowPart; 7875 LONG HighPart; 7876 }; 7877 struct u 7878 { 7879 DWORD LowPart; 7880 LONG HighPart; 7881 }; 7882 LONGLONG QuadPart; 7883 } 7884 7885 alias LARGE_INTEGER* PLARGE_INTEGER; 7886 alias LARGE_INTEGER _LARGE_INTEGER; 7887 alias LARGE_INTEGER TLARGEINTEGER; 7888 alias LARGE_INTEGER* PLARGEINTEGER; 7868 7889 7869 7890 struct DISK_GEOMETRY … … 7950 7971 alias DOC_INFO_2* PDOCINFO2; 7951 7972 7952 // struct DOCINFO 7953 // { 7954 // int cbSize; 7955 // LPCTSTR lpszDocName; 7956 // LPCTSTR lpszOutput; 7957 // LPCTSTR lpszDatatype; 7958 // DWORD fwType; 7959 // } 7960 // 7961 // alias DOCINFO TDOCINFO; 7962 // alias DOCINFO TDOCINFOA; 7963 // alias DOCINFO* PDOCINFO; 7973 struct DOCINFOA 7974 { 7975 int cbSize; 7976 LPCSTR lpszDocName; 7977 LPCSTR lpszOutput; 7978 LPCSTR lpszDatatype; 7979 DWORD fwType; 7980 } 7981 alias DOCINFOA TDOCINFOA; 7982 7983 struct DOCINFOW 7984 { 7985 int cbSize; 7986 LPCWSTR lpszDocName; 7987 LPCWSTR lpszOutput; 7988 LPCWSTR lpszDatatype; 7989 DWORD fwType; 7990 } 7991 alias DOCINFOW TDOCINFOW; 7992 7993 version(Win32SansUnicode) 7994 { 7995 alias DOCINFOA DOCINFO; 7996 } 7997 else 7998 { 7999 alias DOCINFOW DOCINFO; 8000 } 8001 alias DOCINFO TDOCINFO; 8002 alias DOCINFO* LPDOCINFO; 8003 alias DOCINFO* PDOCINFO; 7964 8004 7965 8005 struct DRAGLISTINFO … … 7974 8014 alias DRAGLISTINFO* PDRAGLISTINFO; 7975 8015 7976 //struct DRAWITEMSTRUCT7977 //{7978 //UINT CtlType;7979 //UINT CtlID;7980 //UINT itemID;7981 //UINT itemAction;7982 //UINT itemState;7983 //HWND hwndItem;7984 //HDC hDC;7985 //RECT rcItem;7986 //DWORD itemData;7987 //}7988 // 7989 //alias DRAWITEMSTRUCT* LPDRAWITEMSTRUCT;7990 //alias DRAWITEMSTRUCT TAGDRAWITEMSTRUCT;7991 //alias DRAWITEMSTRUCT TDRAWITEMSTRUCT;7992 //alias DRAWITEMSTRUCT* PDRAWITEMSTRUCT;8016 struct DRAWITEMSTRUCT 8017 { 8018 UINT CtlType; 8019 UINT CtlID; 8020 UINT itemID; 8021 UINT itemAction; 8022 UINT itemState; 8023 HWND hwndItem; 8024 HDC hDC; 8025 RECT rcItem; 8026 DWORD itemData; 8027 } 8028 8029 alias DRAWITEMSTRUCT* LPDRAWITEMSTRUCT; 8030 alias DRAWITEMSTRUCT TAGDRAWITEMSTRUCT; 8031 alias DRAWITEMSTRUCT TDRAWITEMSTRUCT; 8032 alias DRAWITEMSTRUCT* PDRAWITEMSTRUCT; 7993 8033 7994 8034 struct DRAWTEXTPARAMS … … 8286 8326 alias EMRCREATEPALETTE* PEMRCREATEPALETTE; 8287 8327 8288 //struct LOGPEN8289 //{8290 //UINT lopnStyle;8291 //POINT lopnWidth;8292 //COLORREF lopnColor;8293 //}8294 // 8295 //alias LOGPEN TAGLOGPEN;
