Changeset 2126 for trunk/src/comctl32
- Timestamp:
- Dec 18, 1999, 9:57:01 PM (26 years ago)
- Location:
- trunk/src/comctl32
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/comctl32/comctl32.def
r1788 r2126 1 ; $Id: comctl32.def,v 1.1 4 1999-11-21 11:04:36achimha Exp $1 ; $Id: comctl32.def,v 1.15 1999-12-18 20:56:57 achimha Exp $ 2 2 LIBRARY COMCTL32 INITINSTANCE 3 3 DESCRIPTION 'COMCTL32 Common Controls Library' … … 143 143 144 144 comctl32_410 = _comctl32_410@16 @410 145 InitMUILanguage = _InitMUILanguage@4 @500 ;should be 70 145 comctl32_411 = _comctl32_411@12 @411 146 comctl32_412 = _comctl32_412@12 @412 147 comctl32_413 = _comctl32_413@16 @413 148 InitMUILanguage = _InitMUILanguage@4 @414 ;should be 70 -
trunk/src/comctl32/comctl32.h
r1730 r2126 1 /* $Id: comctl32.h,v 1.1 0 1999-11-14 10:58:37achimha Exp $ */1 /* $Id: comctl32.h,v 1.11 1999-12-18 20:56:58 achimha Exp $ */ 2 2 /* 3 3 * Win32 common controls implementation … … 12 12 */ 13 13 14 /* Status: WINE 99 0923*/14 /* Status: WINE 991212 */ 15 15 16 16 #ifndef _H_COMCTL32 … … 74 74 #define IDC_SUNKEN_LINE 12326 75 75 76 #define IDS_CLOSE 4160 77 76 78 /* Toolbar customization dialog */ 77 79 #define IDD_TBCUSTOMIZE 200 … … 110 112 #define IDM_DEC 312 111 113 114 /* treeview checkboxes */ 115 #define IDT_CHECK 401 116 112 117 #endif /* _H_COMCTL32 */ -
trunk/src/comctl32/comctl32undoc.c
r1735 r2126 1 /* $Id: comctl32undoc.c,v 1.1 5 1999-11-14 13:09:59achimha Exp $ */1 /* $Id: comctl32undoc.c,v 1.16 1999-12-18 20:56:58 achimha Exp $ */ 2 2 /* 3 3 * Undocumented functions from COMCTL32.DLL … … 12 12 */ 13 13 14 /* WINE 991 031level */14 /* WINE 991212 level */ 15 15 16 16 /* CB: todo … … 254 254 * lists. 255 255 * 256 * 257 */ 258 259 typedef struct tagMRUINFO 260 { 261 DWORD dwParam1; 262 DWORD dwParam2; 263 DWORD dwParam3; 264 HKEY hkeyMain; 265 LPCSTR lpszSubKey; 266 DWORD dwParam6; 267 } MRUINFO, *LPMRUINFO; 268 256 * Stored in the reg. as a set of values under a single key. Each item in the 257 * list has a value name that is a single char. 'a' - 'z', '{', '|' or '}'. 258 * The order of the list is stored with value name 'MRUList' which is a string 259 * containing the value names (i.e. 'a', 'b', etc.) in the relevant order. 260 */ 261 262 typedef struct tagCREATEMRULIST 263 { 264 DWORD cbSize; /* size of struct */ 265 DWORD nMaxItems; /* max no. of items in list */ 266 DWORD dwFlags; /* see below */ 267 HKEY hKey; /* root reg. key under which list is saved */ 268 LPCSTR lpszSubKey; /* reg. subkey */ 269 PROC lpfnCompare; /* item compare proc */ 270 } CREATEMRULIST, *LPCREATEMRULIST; 271 272 /* dwFlags */ 273 #define MRUF_STRING_LIST 0 /* list will contain strings */ 274 #define MRUF_BINARY_LIST 1 /* list will contain binary data */ 275 #define MRUF_DELAYED_SAVE 2 /* only save list order to reg. is FreeMRUList */ 276 277 /* If list is a string list lpfnCompare has the following prototype 278 * int CALLBACK MRUCompareString(LPCSTR s1, LPCSTR s2) 279 * for binary lists the prototype is 280 * int CALLBACK MRUCompareBinary(LPCVOID data1, LPCVOID data2, DWORD cbData) 281 * where cbData is the no. of bytes to compare. 282 * Need to check what return value means identical - 0? 283 */ 269 284 270 285 typedef struct tagMRU … … 278 293 } MRU, *HMRU; 279 294 280 LPVOID WINAPI 281 CreateMRUListLazyA (LPMRUINFO lpmi, DWORD dwParam2, 282 DWORD dwParam3, DWORD dwParam4); 283 284 285 /************************************************************************** 286 * CreateMRUListA [COMCTL32.151] 287 * 288 * PARAMS 289 * dwParam 290 * 291 * RETURNS 292 */ 293 294 LPVOID WINAPI 295 CreateMRUListA (LPMRUINFO lpmi) 296 { 297 return CreateMRUListLazyA (lpmi, 0, 0, 0); 298 } 299 300 295 HANDLE WINAPI 296 CreateMRUListLazyA (LPCREATEMRULIST lpcml, DWORD dwParam2, 297 DWORD dwParam3, DWORD dwParam4); 298 299 300 /************************************************************************** 301 * CreateMRUListA [COMCTL32.151] 302 * 303 * PARAMS 304 * lpcml [I] ptr to CREATEMRULIST structure. 305 * 306 * RETURNS 307 * Handle to MRU list. 308 */ 309 HANDLE WINAPI 310 CreateMRUListA (LPCREATEMRULIST lpcml) 311 { 312 return CreateMRUListLazyA (lpcml, 0, 0, 0); 313 } 314 315 /************************************************************************** 316 * FreeMRUListA [COMCTL32.152] 317 * 318 * PARAMS 319 * hMRUList [I] Handle to list. 320 * 321 */ 301 322 DWORD WINAPI 302 FreeMRUListA (H MRU hmru)303 { 304 // FIXME (commctrl, "(%p) empty stub!\n", hmru);323 FreeMRUListA (HANDLE hMRUList) 324 { 325 FIXME("(%08x) empty stub!\n", hMRUList); 305 326 306 327 #if 0 307 328 if (!(hmru->dwParam1 & 1001)) { 308 309 310 329 RegSetValueExA (hmru->hKeyMRU, "MRUList", 0, REG_SZ, 330 hmru->lpszMRUString, 331 lstrlenA (hmru->lpszMRUString)); 311 332 } 312 333 … … 316 337 #endif 317 338 318 return COMCTL32_Free (hmru); 319 } 320 321 322 323 DWORD WINAPI 324 AddMRUData (DWORD dwParam1, DWORD dwParam2, DWORD dwParam3) 325 { 326 327 // FIXME (commctrl, "(%lx %lx %lx) empty stub!\n", 328 // dwParam1, dwParam2, dwParam3); 339 return COMCTL32_Free ((LPVOID)hMRUList); 340 } 341 342 343 /************************************************************************** 344 * AddMRUData [COMCTL32.167] 345 * 346 * Add item to MRU binary list. If item already exists in list them it is 347 * simply moved up to the top of the list and not added again. If list is 348 * full then the least recently used item is removed to make room. 349 * 350 * PARAMS 351 * hList [I] Handle to list. 352 * lpData [I] ptr to data to add. 353 * cbData [I] no. of bytes of data. 354 * 355 * RETURNS 356 * No. corresponding to registry name where value is stored 'a' -> 0 etc. 357 * -1 on error. 358 */ 359 INT WINAPI 360 AddMRUData (HANDLE hList, LPCVOID lpData, DWORD cbData) 361 { 362 FIXME("(%08x, %p, %ld) empty stub!\n", hList, lpData, cbData); 329 363 330 364 return 0; 331 365 } 332 366 333 334 DWORD WINAPI 335 FindMRUData (DWORD dwParam1, DWORD dwParam2, DWORD dwParam3, DWORD dwParam4) 336 { 337 338 // FIXME (commctrl, "(%lx %lx %lx %lx) empty stub!\n", 339 // dwParam1, dwParam2, dwParam3, dwParam4); 340 367 /************************************************************************** 368 * AddMRUStringA [COMCTL32.153] 369 * 370 * Add item to MRU string list. If item already exists in list them it is 371 * simply moved up to the top of the list and not added again. If list is 372 * full then the least recently used item is removed to make room. 373 * 374 * PARAMS 375 * hList [I] Handle to list. 376 * lpszString [I] ptr to string to add. 377 * 378 * RETURNS 379 * No. corresponding to registry name where value is stored 'a' -> 0 etc. 380 * -1 on error. 381 */ 382 INT WINAPI 383 AddMRUStringA(HANDLE hList, LPCSTR lpszString) 384 { 385 FIXME("(%08x, %s) empty stub!\n", hList, debugstr_a(lpszString)); 386 387 return 0; 388 } 389 390 /************************************************************************** 391 * DelMRUString [COMCTL32.156] 392 * 393 * Removes item from either string or binary list (despite its name) 394 * 395 * PARAMS 396 * hList [I] list handle 397 * nItemPos [I] item position to remove 0 -> MRU 398 * 399 * RETURNS 400 * TRUE is successful, FALSE if nItemPos is out of range. 401 */ 402 BOOL WINAPI 403 DelMRUString(HANDLE hList, INT nItemPos) 404 { 405 FIXME("(%08x, %d): stub\n", hList, nItemPos); 341 406 return TRUE; 342 407 } 343 408 344 345 LPVOID WINAPI 346 CreateMRUListLazyA (LPMRUINFO lpmi, DWORD dwParam2, DWORD dwParam3, DWORD dwParam4) 409 /************************************************************************** 410 * FindMRUData [COMCTL32.169] 411 * 412 * Searches binary list for item that matches lpData of length cbData. 413 * Returns position in list order 0 -> MRU and if lpRegNum != NULL then value 414 * corresponding to item's reg. name will be stored in it ('a' -> 0). 415 * 416 * PARAMS 417 * hList [I] list handle 418 * lpData [I] data to find 419 * cbData [I] length of data 420 * lpRegNum [O] position in registry (maybe NULL) 421 * 422 * RETURNS 423 * Position in list 0 -> MRU. -1 if item not found. 424 */ 425 INT WINAPI 426 FindMRUData (HANDLE hList, LPCVOID lpData, DWORD cbData, LPINT lpRegNum) 427 { 428 FIXME("(%08x, %p, %ld, %p) empty stub!\n", 429 hList, lpData, cbData, lpRegNum); 430 431 return 0; 432 } 433 434 /************************************************************************** 435 * FindMRUStringA [COMCTL32.155] 436 * 437 * Searches string list for item that matches lpszString. 438 * Returns position in list order 0 -> MRU and if lpRegNum != NULL then value 439 * corresponding to item's reg. name will be stored in it ('a' -> 0). 440 * 441 * PARAMS 442 * hList [I] list handle 443 * lpszString [I] string to find 444 * lpRegNum [O] position in registry (maybe NULL) 445 * 446 * RETURNS 447 * Position in list 0 -> MRU. -1 if item not found. 448 */ 449 INT WINAPI 450 FindMRUStringA (HANDLE hList, LPCSTR lpszString, LPINT lpRegNum) 451 { 452 FIXME("(%08x, %s, %p) empty stub!\n", hList, debugstr_a(lpszString), 453 lpRegNum); 454 455 return 0; 456 } 457 458 HANDLE WINAPI 459 CreateMRUListLazyA (LPCREATEMRULIST lpcml, DWORD dwParam2, DWORD dwParam3, DWORD dwParam4) 347 460 { 348 461 /* DWORD dwLocal1; * … … 358 471 LPVOID ptr; 359 472 360 // FIXME (commctrl, "(%p) empty stub!\n", lpmi); 361 362 if (lpmi) { 363 // FIXME (commctrl, "(%lx %lx %lx %lx \"%s\" %lx)\n", 364 // lpmi->dwParam1, lpmi->dwParam2, lpmi->dwParam3, 365 // (DWORD)lpmi->hkeyMain, lpmi->lpszSubKey, lpmi->dwParam6); 366 } 473 FIXME("(%p) empty stub!\n", lpcml); 474 475 if (lpcml == NULL) 476 return 0; 477 478 if (lpcml->cbSize < sizeof(CREATEMRULIST)) 479 return 0; 480 481 FIXME("(%lu %lu %lx %lx \"%s\" %p)\n", 482 lpcml->cbSize, lpcml->nMaxItems, lpcml->dwFlags, 483 (DWORD)lpcml->hKey, lpcml->lpszSubKey, lpcml->lpfnCompare); 367 484 368 485 /* dummy pointer creation */ 369 486 ptr = COMCTL32_Alloc (32); 370 487 371 // FIXME (commctrl, "-- ret = %p\n", ptr); 372 373 return ptr; 488 FIXME("-- ret = %p\n", ptr); 489 490 return (HANDLE)ptr; 491 } 492 493 /************************************************************************** 494 * EnumMRUListA [COMCTL32.154] 495 * 496 * Enumerate item in a list 497 * 498 * PARAMS 499 * hList [I] list handle 500 * nItemPos [I] item position to enumerate 501 * lpBuffer [O] buffer to receive item 502 * nBufferSize [I] size of buffer 503 * 504 * RETURNS 505 * For binary lists specifies how many bytes were copied to buffer, for 506 * string lists specifies full length of string. Enumerating past the end 507 * of list returns -1. 508 * If lpBuffer == NULL or nItemPos is -ve return value is no. of items in 509 * the list. 510 */ 511 INT WINAPI EnumMRUListA(HANDLE hList, INT nItemPos, LPVOID lpBuffer, 512 DWORD nBufferSize) 513 { 514 FIXME("(%08x, %d, %p, %ld): stub\n", hList, nItemPos, lpBuffer, 515 nBufferSize); 516 return 0; 374 517 } 375 518 … … 1976 2119 BOOL WINAPI comctl32_410( HWND hw, DWORD b, DWORD c, DWORD d) { 1977 2120 1978 dprintf(("COMCTL32: comctl32_410 - unimplemented stub\n")); 1979 //FIXME_(commctrl)("(%x, %lx, %lx, %lx): stub!\n", hw, b, c, d); 2121 FIXME("(%x, %lx, %lx, %lx): stub!\n", hw, b, c, d); 2122 2123 return TRUE; 2124 } 2125 2126 /************************************************************************** 2127 * comctl32_411 [COMCTL32.411] 2128 * 2129 * FIXME: What's this supposed to do? 2130 * Parameter 1 is an HWND, you're on your own for the rest. 2131 */ 2132 2133 BOOL WINAPI comctl32_411( HWND hw, DWORD b, DWORD c) { 2134 2135 FIXME("(%x, %lx, %lx): stub!\n", hw, b, c); 2136 2137 return TRUE; 2138 } 2139 2140 /************************************************************************** 2141 * comctl32_412 [COMCTL32.412] 2142 * 2143 * FIXME: What's this supposed to do? 2144 * Parameter 1 is an HWND, you're on your own for the rest. 2145 */ 2146 2147 BOOL WINAPI comctl32_412( HWND hwnd, DWORD b, DWORD c) 2148 { 2149 FIXME("(%x, %lx, %lx): stub!\n", hwnd, b, c); 2150 2151 if (IsWindow (hwnd) == FALSE) 2152 return FALSE; 2153 2154 if (b == 0) 2155 return FALSE; 2156 2157 2158 return TRUE; 2159 } 2160 2161 /************************************************************************** 2162 * comctl32_413 [COMCTL32.413] 2163 * 2164 * FIXME: What's this supposed to do? 2165 * Parameter 1 is an HWND, you're on your own for the rest. 2166 */ 2167 2168 BOOL WINAPI comctl32_413( HWND hw, DWORD b, DWORD c, DWORD d) { 2169 2170 FIXME("(%x, %lx, %lx, %lx): stub!\n", hw, b, c, d); 1980 2171 1981 2172 return TRUE; … … 1989 2180 */ 1990 2181 1991 BOOL WINAPI InitMUILanguage( DWORD a ) { 1992 1993 //FIXME_(commctrl)("(%lx): stub!\n", a); 1994 dprintf(("COMCTL32: InitMUILanguage - unimplemented stub\n")); 2182 BOOL WINAPI InitMUILanguage( LANGID uiLang) { 2183 2184 FIXME("(%04x): stub!\n", uiLang); 1995 2185 1996 2186 return TRUE; 1997 2187 } 1998 -
trunk/src/comctl32/datetime.c
r1431 r2126 1 /* $Id: datetime.c,v 1. 5 1999-10-24 22:49:42 sandervlExp $ */1 /* $Id: datetime.c,v 1.6 1999-12-18 20:56:58 achimha Exp $ */ 2 2 /* 3 3 * Date and time picker control … … 15 15 */ 16 16 17 /* WINE 991212 level */ 18 17 19 #include "winbase.h" 18 20 #include "commctrl.h" … … 133 135 SIZE size; 134 136 BOOL prssed=FALSE; 135 COLORREF oldBk ;137 COLORREF oldBk = 0; 136 138 137 139 -
trunk/src/comctl32/draglist.c
r104 r2126 13 13 */ 14 14 15 /* WINE 991212 level */ 16 15 17 #include "commctrl.h" 18 19 static DWORD dwLastScrollTime = 0; 16 20 17 21 18 22 BOOL WINAPI MakeDragList (HWND hwndLB) 19 23 { 20 // FIXME (commctrl,"(0x%x)\n", hwndLB);24 FIXME("(0x%x)\n", hwndLB); 21 25 22 26 … … 27 31 VOID WINAPI DrawInsert (HWND hwndParent, HWND hwndLB, INT nItem) 28 32 { 29 // FIXME (commctrl,"(0x%x 0x%x %d)\n", hwndParent, hwndLB, nItem);33 FIXME("(0x%x 0x%x %d)\n", hwndParent, hwndLB, nItem); 30 34 31 35 … … 35 39 INT WINAPI LBItemFromPt (HWND hwndLB, POINT pt, BOOL bAutoScroll) 36 40 { 37 // FIXME (commctrl, "(0x%x %ld x %ld %s)\n", 38 // hwndLB, pt.x, pt.y, bAutoScroll ? "TRUE" : "FALSE"); 41 RECT rcClient; 42 INT nIndex; 43 DWORD dwScrollTime; 39 44 45 FIXME("(0x%x %ld x %ld %s)\n", 46 hwndLB, pt.x, pt.y, bAutoScroll ? "TRUE" : "FALSE"); 47 48 ScreenToClient (hwndLB, &pt); 49 GetClientRect (hwndLB, &rcClient); 50 nIndex = (INT)SendMessageA (hwndLB, LB_GETTOPINDEX, 0, 0); 51 52 if (PtInRect (&rcClient, pt)) 53 { 54 /* point is inside -- get the item index */ 55 while (TRUE) 56 { 57 if (SendMessageA (hwndLB, LB_GETITEMRECT, nIndex, (LPARAM)&rcClient) == LB_ERR) 58 return -1; 59 60 if (PtInRect (&rcClient, pt)) 61 return nIndex; 62 63 nIndex++; 64 } 65 } 66 else 67 { 68 /* point is outside */ 69 if (!bAutoScroll) 70 return -1; 71 72 if ((pt.x > rcClient.right) || (pt.x < rcClient.left)) 73 return -1; 74 75 if (pt.y < 0) 76 nIndex--; 77 else 78 nIndex++; 79 80 dwScrollTime = GetTickCount (); 81 82 if ((dwScrollTime - dwLastScrollTime) < 200) 83 return -1; 84 85 dwLastScrollTime = dwScrollTime; 86 87 SendMessageA (hwndLB, LB_SETTOPINDEX, (WPARAM)nIndex, 0); 88 } 40 89 41 90 return -1; 42 91 } 43 92 93 94 static LRESULT CALLBACK 95 DRAGLIST_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 96 { 97 98 return FALSE; 99 } -
trunk/src/comctl32/imagelist.c
r1788 r2126 1 /* $Id: imagelist.c,v 1. 9 1999-11-21 11:04:36achimha Exp $ */1 /* $Id: imagelist.c,v 1.10 1999-12-18 20:56:58 achimha Exp $ */ 2 2 /* 3 3 * ImageList implementation … … 30 30 */ 31 31 32 /* WINE 99 0923level */32 /* WINE 991212 level */ 33 33 34 34 /* This must be defined because the HIMAGELIST type is just a pointer … … 42 42 #include "commctrl.h" 43 43 #include "comctl32.h" 44 #include "winerror.h" 44 45 45 46 #define _MAX(a,b) (((a)>(b))?(a):(b)) … … 1910 1911 HIMAGELIST WINAPI ImageList_Read (PVOID pstm) 1911 1912 { 1913 // HRESULT errCode; 1914 // ULONG ulRead; 1915 // ILHEAD ilHead; 1916 // HIMAGELIST himl; 1917 1918 1912 1919 dprintf(("ImageList_Read empty stub!\n")); 1913 1920 1914 return NULL; 1921 // errCode = IStream_Read (pstm, &ilHead, sizeof(ILHEAD), &ulRead); 1922 // if (errCode != S_OK) 1923 // return NULL; 1924 1925 FIXME("Magic: 0x%x\n", ilHead.usMagic); 1926 1927 // himl = ImageList_Create (32, 32, ILD_NORMAL, 2, 2); 1928 1929 // return himl; 1930 return 0; 1915 1931 } 1916 1932 … … 2395 2411 BitBlt (hdcBitmap, 0, 0, nCopyCount * himl->cx, himl->cy, 2396 2412 hdcImageList, 0, 0, SRCCOPY); 2397 2413 #if 0 2398 2414 /* delete 'empty' image space */ 2399 2415 SetBkColor (hdcBitmap, RGB(255, 255, 255)); … … 2401 2417 PatBlt (hdcBitmap, nCopyCount * himl->cx, 0, 2402 2418 (nNewCount - nCopyCount) * himl->cx, himl->cy, BLACKNESS); 2403 2419 #endif 2404 2420 DeleteObject (himl->hbmImage); 2405 2421 himl->hbmImage = hbmNewBitmap; … … 2420 2436 BitBlt (hdcBitmap, 0, 0, nCopyCount * himl->cx, himl->cy, 2421 2437 hdcImageList, 0, 0, SRCCOPY); 2422 2438 #if 0 2423 2439 /* delete 'empty' image space */ 2424 2440 SetBkColor (hdcBitmap, RGB(255, 255, 255)); … … 2426 2442 PatBlt (hdcBitmap, nCopyCount * himl->cx, 0, 2427 2443 (nNewCount - nCopyCount) * himl->cx, himl->cy, BLACKNESS); 2428 2444 #endif 2429 2445 DeleteObject (himl->hbmMask); 2430 2446 himl->hbmMask = hbmNewBitmap; -
trunk/src/comctl32/listview.c
r1775 r2126 19 19 * 20 20 * Data structure: 21 * LISTVIEW_SetItemCount : empty stub21 * LISTVIEW_SetItemCount : not completed 22 22 * 23 23 * Unicode: … … 34 34 * LISTVIEW_GetISearchString : not implemented 35 35 * LISTVIEW_GetBkImage : not implemented 36 * LISTVIEW_GetColumnOrderArray : not implemented37 * LISTVIEW_SetColumnOrderArray : not implemented36 * LISTVIEW_GetColumnOrderArray : simple hack only 37 * LISTVIEW_SetColumnOrderArray : simple hack only 38 38 * LISTVIEW_Arrange : empty stub 39 39 * LISTVIEW_ApproximateViewRect : incomplete … … 43 43 */ 44 44 45 /* WINE 991 114level */45 /* WINE 991212 level */ 46 46 47 47 #include <string.h> … … 2038 2038 nLast = nItem + LISTVIEW_GetCountPerColumn(hwnd) + 1; 2039 2039 nLast = min(nLast, GETITEMCOUNT(infoPtr)); 2040 2041 //AH required for Odin? 2042 #if 0 2043 /* send cache hint notification */ 2044 if (GetWindowLongA(hwnd,GWL_STYLE) & LVS_OWNERDATA) 2045 { 2046 NMLVCACHEHINT nmlv; 2047 2048 nmlv.hdr.hwndFrom = hwnd; 2049 nmlv.hdr.idFrom = GetWindowLongA(hwnd,GWL_ID); 2050 nmlv.hdr.code = LVN_ODCACHEHINT; 2051 nmlv.iFrom = nItem; 2052 nmlv.iTo = nLast; 2053 2054 SendMessageA(GetParent(hwnd), WM_NOTIFY, (WPARAM)nmlv.hdr.idFrom, 2055 (LPARAM)&nmlv); 2056 } 2057 #endif 2058 2040 2059 for (; nItem < nLast; nItem++) 2041 2060 { … … 3332 3351 3333 3352 /* LISTVIEW_GetColumnW */ 3334 /* LISTVIEW_GetColumnOrderArray */ 3353 3354 static LRESULT LISTVIEW_GetColumnOrderArray(HWND hwnd, INT iCount, LPINT lpiArray) 3355 { 3356 /* LISTVIEW_INFO *infoPtr = (LISTVIEW_INFO *)GetWindowLongA(hwnd, 0); */ 3357 INT i; 3358 3359 if (!lpiArray) 3360 return FALSE; 3361 3362 /* little hack */ 3363 for (i = 0; i < iCount; i++) 3364 lpiArray[i] = i; 3365 3366 return TRUE; 3367 } 3335 3368 3336 3369 /*** … … 3573 3606 } 3574 3607 strncpy(lpLVItem->pszText, dispInfo.item.pszText, lpLVItem->cchTextMax); 3608 lpLVItem->pszText[lpLVItem->cchTextMax-1]='\0'; 3575 3609 } 3576 3610 else if (lpLVItem->mask & LVIF_TEXT) 3577 3611 { 3578 3612 strncpy(lpLVItem->pszText, lpItem->pszText, lpLVItem->cchTextMax); 3613 lpLVItem->pszText[lpLVItem->cchTextMax-1]='\0'; 3579 3614 } 3580 3615 … … 3668 3703 } 3669 3704 strncpy(lpLVItem->pszText, dispInfo.item.pszText, lpLVItem->cchTextMax); 3705 lpLVItem->pszText[lpLVItem->cchTextMax-1]='\0'; 3670 3706 } 3671 3707 else if (lpLVItem->mask & LVIF_TEXT) 3672 3708 { 3673 3709 strncpy(lpLVItem->pszText, lpSubItem->pszText, lpLVItem->cchTextMax); 3710 lpLVItem->pszText[lpLVItem->cchTextMax-1]='\0'; 3674 3711 } 3675 3712 } … … 5125 5162 5126 5163 /* LISTVIEW_SetColumnW */ 5127 /* LISTVIEW_SetColumnOrderArray */ 5164 5165 /*** 5166 * DESCRIPTION: 5167 * Sets the column order array 5168 * 5169 * PARAMETERS: 5170 * [I] HWND : window handle 5171 * [I] INT : number of elements in column order array 5172 * [I] INT : pointer to column order array 5173 * 5174 * RETURN: 5175 * SUCCESS : TRUE 5176 * FAILURE : FALSE 5177 */ 5178 static LRESULT LISTVIEW_SetColumnOrderArray(HWND hwnd, INT iCount, LPINT lpiArray) 5179 { 5180 /* LISTVIEW_INFO *infoPtr = (LISTVIEW_INFO *)GetWindowLongA(hwnd, 0); */ 5181 5182 // FIXME("iCount %d lpiArray %p\n", iCount, lpiArray); 5183 5184 if (!lpiArray) 5185 return FALSE; 5186 5187 return TRUE; 5188 } 5128 5189 5129 5190 /*** … … 5318 5379 * PARAMETER(S): 5319 5380 * [I] HWND : window handle 5320 * [I] INT : item count (pr jected number of items)5381 * [I] INT : item count (projected number of items) 5321 5382 * [I] DWORD : update flags 5322 5383 * … … 5328 5389 { 5329 5390 LISTVIEW_INFO *infoPtr = (LISTVIEW_INFO*)GetWindowLongA(hwnd, 0); 5391 5330 5392 // FIXME("(%d %08lx)empty stub!\n", nItems, dwFlags); 5393 5331 5394 if (nItems == 0) 5332 5395 return LISTVIEW_DeleteAllItems (hwnd); 5396 5397 if (GetWindowLongA(hwnd, GWL_STYLE) & LVS_OWNERDATA) 5398 { 5399 // FIXME("LVS_OWNERDATA is set!\n"); 5400 } 5401 else 5402 { 5333 5403 if (nItems > GETITEMCOUNT(infoPtr)) 5334 5404 { 5335 5405 /* append items */ 5336 5406 // FIXME("append items\n"); 5407 5337 5408 } 5338 5409 else if (nItems < GETITEMCOUNT(infoPtr)) … … 5340 5411 /* remove items */ 5341 5412 // FIXME("remove items\n"); 5342 } 5413 5414 } 5415 } 5416 5343 5417 return TRUE; 5344 5418 } … … 6950 7024 6951 7025 case LVM_GETCOLUMNORDERARRAY: 6952 //FIXME("Unimplemented msg LVM_GETCOLUMNORDERARRAY\n"); 6953 return 0; 6954 7026 return LISTVIEW_GetColumnOrderArray(hwnd, (INT)wParam, (LPINT)lParam); 6955 7027 6956 7028 case LVM_GETCOLUMNWIDTH: … … 7082 7154 7083 7155 case LVM_SETCOLUMNORDERARRAY: 7084 //FIXME("Unimplemented msg LVM_SETCOLUMNORDERARRAY\n"); 7085 return 0; 7156 return LISTVIEW_SetColumnOrderArray(hwnd, (INT)wParam, (LPINT)lParam); 7086 7157 7087 7158 case LVM_SETCOLUMNWIDTH: -
trunk/src/comctl32/propsheet.c
r1861 r2126 1 /* $Id: propsheet.c,v 1.1 6 1999-11-27 18:14:37achimha Exp $ */1 /* $Id: propsheet.c,v 1.17 1999-12-18 20:56:59 achimha Exp $ */ 2 2 /* 3 3 * Property Sheets … … 13 13 */ 14 14 15 /* WINE 991 114level */15 /* WINE 991212 level */ 16 16 17 17 /* CB: Odin problems: … … 23 23 #include "commctrl.h" 24 24 #include "prsht.h" 25 #include "dialog.h" 26 #include "win.h" 25 27 #include "winnls.h" 26 28 #include "comctl32.h" 27 29 #include "heap.h" 28 30 29 31 /****************************************************************************** … … 41 43 typedef struct tagPropPageInfo 42 44 { 43 int index; /* corresponds to the index in ppshheader->ppsp */44 45 HPROPSHEETPAGE hpage; /* to keep track of pages not passed to PropertySheet */ 45 46 HWND hwndPage; … … 48 49 BOOL hasHelp; 49 50 BOOL useCallback; 51 BOOL hasIcon; 50 52 } PropPageInfo; 51 53 … … 55 57 int nPages; 56 58 int active_page; 57 LP CPROPSHEETHEADERA ppshheader;59 LPPROPSHEETHEADERA ppshheader; 58 60 BOOL isModeless; 59 61 BOOL hasHelp; … … 62 64 BOOL restartWindows; 63 65 BOOL rebootSystem; 66 BOOL activeValid; 64 67 PropPageInfo* proppage; 65 68 int x; … … 84 87 #define MAX_CAPTION_LENGTH 255 85 88 #define MAX_TABTEXT_LENGTH 255 86 89 #define MAX_BUTTONTEXT_LENGTH 64 87 90 88 91 /****************************************************************************** … … 102 105 static int PROPSHEET_CreatePage(HWND hwndParent, int index, 103 106 const PropSheetInfo * psInfo, 104 LPCPROPSHEETPAGEA ppshpage, 105 BOOL showPage); 107 LPPROPSHEETPAGEA ppshpage); 106 108 static BOOL PROPSHEET_ShowPage(HWND hwndDlg, int index, PropSheetInfo * psInfo); 107 109 static PADDING_INFO PROPSHEET_GetPaddingInfo(HWND hwndDlg); … … 109 111 static BOOL PROPSHEET_Next(HWND hwndDlg); 110 112 static BOOL PROPSHEET_Finish(HWND hwndDlg); 111 static BOOL PROPSHEET_Apply(HWND hwndDlg );112 static void PROPSHEET_Cancel(HWND hwndDlg );113 static BOOL PROPSHEET_Apply(HWND hwndDlg, LPARAM lParam); 114 static void PROPSHEET_Cancel(HWND hwndDlg, LPARAM lParam); 113 115 static void PROPSHEET_Help(HWND hwndDlg); 114 116 static void PROPSHEET_Changed(HWND hwndDlg, HWND hwndDirtyPage); … … 123 125 static LRESULT PROPSHEET_QuerySiblings(HWND hwndDlg, 124 126 WPARAM wParam, LPARAM lParam); 125 static LPCPROPSHEETPAGEA PROPSHEET_GetPSPPage(const PropSheetInfo * psInfo,126 int index);127 127 static BOOL PROPSHEET_AddPage(HWND hwndDlg, 128 128 HPROPSHEETPAGE hpage); … … 135 135 static void PROPSHEET_SetWizButtons(HWND hwndDlg, DWORD dwFlags); 136 136 static PADDING_INFO PROPSHEET_GetPaddingInfoWizard(HWND hwndDlg); 137 static BOOL PROPSHEET_IsDialogMessage(HWND hwnd, LPMSG lpMsg); 138 static INT PROPSHEET_DoDialogBox( HWND hwnd, HWND owner); 137 139 138 140 BOOL WINAPI … … 155 157 psInfo->isModeless = dwFlags & PSH_MODELESS; 156 158 psInfo->ppshheader = lppsh; 159 psInfo->ppshheader = COMCTL32_Alloc(sizeof(PROPSHEETHEADERA)); 160 *psInfo->ppshheader = *lppsh; 161 162 if (HIWORD(lppsh->pszCaption)) 163 psInfo->ppshheader->pszCaption = HEAP_strdupA( GetProcessHeap(), 164 0, lppsh->pszCaption ); 165 157 166 psInfo->nPages = lppsh->nPages; 158 167 … … 164 173 else 165 174 psInfo->active_page = lppsh->u2.nStartPage; 175 176 if (psInfo->active_page < 0 || psInfo->active_page >= psInfo->nPages) 177 psInfo->active_page = 0; 166 178 167 179 psInfo->restartWindows = FALSE; 168 180 psInfo->rebootSystem = FALSE; 169 181 psInfo->hImageList = 0; 182 psInfo->activeValid = FALSE; 170 183 171 184 return TRUE; … … 187 200 int width, height; 188 201 189 if (psInfo->ppshheader->dwFlags & PSH_PROPSHEETPAGE) 190 psInfo->proppage[index].hpage = 0; 202 psInfo->proppage[index].hpage = (HPROPSHEETPAGE)lppsp; 191 203 psInfo->proppage[index].hwndPage = 0; 192 204 psInfo->proppage[index].isDirty = FALSE; … … 198 210 psInfo->proppage[index].useCallback = dwFlags & PSP_USECALLBACK; 199 211 psInfo->proppage[index].hasHelp = dwFlags & PSP_HASHELP; 212 psInfo->proppage[index].hasIcon = dwFlags & (PSP_USEHICON | PSP_USEICONID); 200 213 201 214 /* as soon as we have a page with the help flag, set the sheet flag on */ … … 320 333 hIcon = lppsp->u2.hIcon; 321 334 322 if (psInfo->hImageList == 0) 323 psInfo->hImageList = ImageList_Create(icon_cx, icon_cy, ILC_COLOR, 1, 1); 324 325 ImageList_AddIcon(psInfo->hImageList, hIcon); 335 if ( hIcon ) 336 { 337 if (psInfo->hImageList == 0 ) 338 psInfo->hImageList = ImageList_Create(icon_cx, icon_cy, ILC_COLOR, 1, 1); 339 340 ImageList_AddIcon(psInfo->hImageList, hIcon); 341 } 342 326 343 } 327 344 328 345 return TRUE; 346 } 347 348 /****************************************************************************** 349 * PROPSHEET_DoDialogBox 350 * 351 * Copied from windows/dialog.c:DIALOG_DoDialogBox 352 */ 353 static INT PROPSHEET_DoDialogBox( HWND hwnd, HWND owner) 354 { 355 WND * wndPtr; 356 DIALOGINFO * dlgInfo; 357 MSG msg; 358 INT retval; 359 360 //AH: that WINE internal - design violation!!1 361 #if 0 362 /* Owner must be a top-level window */ 363 owner = WIN_GetTopParent( owner ); 364 if (!(wndPtr = WIN_FindWndPtr( hwnd ))) return -1; 365 dlgInfo = (DIALOGINFO *)wndPtr->wExtra; 366 367 if (!dlgInfo->flags & DF_END) /* was EndDialog called in WM_INITDIALOG ? */ 368 { 369 EnableWindow( owner, FALSE ); 370 ShowWindow( hwnd, SW_SHOW ); 371 while (GetMessageA(&msg, 0, 0, 0)) 372 { 373 if (!PROPSHEET_IsDialogMessage( hwnd, &msg)) 374 { 375 TranslateMessage( &msg ); 376 DispatchMessageA( &msg ); 377 } 378 if (dlgInfo->flags & DF_END) break; 379 } 380 EnableWindow( owner, TRUE ); 381 } 382 retval = dlgInfo->idResult; 383 384 WIN_ReleaseWndPtr(wndPtr); 385 #endif 386 DestroyWindow( hwnd ); 387 return retval; 329 388 } 330 389 … … 335 394 */ 336 395 337 //AH: WINE 99 0923 not merged due to changes from CB396 //AH: WINE 9912123 not merged due to design violation (internal WINE structures used) 338 397 339 398 BOOL PROPSHEET_CreateDialog(PropSheetInfo* psInfo) 340 399 { 400 #if 0 341 401 LRESULT ret; 342 402 LPCVOID template; 403 LPVOID temp = 0; 343 404 HRSRC hRes; 344 345 if (psInfo->useCallback) 346 (*(psInfo->ppshheader->pfnCallback))(0, PSCB_PRECREATE, (LPARAM)template); 347 348 if (!(hRes = FindResourceA(COMCTL32_hModule, 349 MAKEINTRESOURCEA(IDD_PROPSHEET), 405 DWORD resSize; 406 WORD resID = IDD_PROPSHEET; 407 408 if (psInfo->ppshheader->dwFlags & PSH_WIZARD) 409 resID = IDD_WIZARD; 410 411 if(!(hRes = FindResourceA(COMCTL32_hModule, 412 MAKEINTRESOURCEA(resID), 350 413 RT_DIALOGA))) 351 414 return FALSE; 352 415 353 if 416 if(!(template = (LPVOID)LoadResource(COMCTL32_hModule, hRes))) 354 417 return FALSE; 355 418 419 /* 420 * Make a copy of the dialog template. 421 */ 422 resSize = SizeofResource(COMCTL32_hModule, hRes); 423 424 temp = COMCTL32_Alloc(resSize); 425 426 if (!temp) 427 return FALSE; 428 429 memcpy(temp, template, resSize); 430 356 431 if (psInfo->useCallback) 357 (*(psInfo->ppshheader->pfnCallback))(0, PSCB_PRECREATE, (LPARAM)template); 432 (*(psInfo->ppshheader->pfnCallback))(0, PSCB_PRECREATE, (LPARAM)temp); 433 434 ret = CreateDialogIndirectParamA(psInfo->ppshheader->hInstance, 435 (LPDLGTEMPLATEA) temp, 436 psInfo->ppshheader->hwndParent, 437 (DLGPROC) PROPSHEET_DialogProc, 438 (LPARAM)psInfo); 439 440 if (!(psInfo->ppshheader->dwFlags & PSH_MODELESS)) 441 ret = PROPSHEET_DoDialogBox((HWND)ret, psInfo->ppshheader->hwndParent); 442 443 COMCTL32_Free(temp); 444 445 return ret; 446 #endif 447 LRESULT ret; 448 LPCVOID template; 449 LPVOID temp = 0; 450 HRSRC hRes; 451 DWORD resSize; 452 WORD resID = IDD_PROPSHEET; 453 454 if (psInfo->ppshheader->dwFlags & PSH_WIZARD) 455 resID = IDD_WIZARD; 456 457 if(!(hRes = FindResourceA(COMCTL32_hModule, 458 MAKEINTRESOURCEA(resID), 459 RT_DIALOGA))) 460 return FALSE; 461 462 if(!(template = (LPVOID)LoadResource(COMCTL32_hModule, hRes))) 463 return FALSE; 464 465 /* 466 * Make a copy of the dialog template. 467 */ 468 resSize = SizeofResource(COMCTL32_hModule, hRes); 469 470 temp = COMCTL32_Alloc(resSize); 471 472 if (!temp) 473 return FALSE; 474 475 memcpy(temp, template, resSize); 476 477 if (psInfo->useCallback) 478 (*(psInfo->ppshheader->pfnCallback))(0, PSCB_PRECREATE, (LPARAM)temp); 358 479 359 480 if (psInfo->ppshheader->dwFlags & PSH_MODELESS) 360 481 ret = CreateDialogIndirectParamA(psInfo->ppshheader->hInstance, 361 (LPDLGTEMPLATEA) temp late,482 (LPDLGTEMPLATEA) temp, 362 483 psInfo->ppshheader->hwndParent, 363 484 (DLGPROC) PROPSHEET_DialogProc, … … 365 486 else 366 487 ret = DialogBoxIndirectParamA(psInfo->ppshheader->hInstance, 367 (LPDLGTEMPLATEA) temp late,488 (LPDLGTEMPLATEA) temp, 368 489 psInfo->ppshheader->hwndParent, 369 490 (DLGPROC) PROPSHEET_DialogProc, 370 491 (LPARAM)psInfo); 492 493 COMCTL32_Free(temp); 371 494 372 495 return ret; … … 840 963 TCITEMA item; 841 964 int i, nTabs; 965 int iImage = 0; 842 966 char tabtext[MAX_TABTEXT_LENGTH] = "Tab text"; 843 967 … … 853 977 if (psInfo->hImageList) 854 978 { 855 item.mask |= TCIF_IMAGE;856 979 SendMessageA(hwndTabCtrl, TCM_SETIMAGELIST, 0, (LPARAM)psInfo->hImageList); 857 980 } … … 859 982 for (i = 0; i < nTabs; i++) 860 983 { 861 item.iImage = i; 984 if ( psInfo->proppage[i].hasIcon ) 985 { 986 item.mask |= TCIF_IMAGE; 987 item.iImage = iImage++; 988 } 989 else 990 { 991 item.mask &= ~TCIF_IMAGE; 992 } 862 993 863 994 WideCharToMultiByte(CP_ACP, 0, … … 879 1010 int index, 880 1011 const PropSheetInfo * psInfo, 881 LPCPROPSHEETPAGEA ppshpage, 882 BOOL showPage) 1012 LPPROPSHEETPAGEA ppshpage) 883 1013 { 884 1014 DLGTEMPLATE* pTemplate; … … 915 1045 } 916 1046 917 918 { 919 ((MyDLGTEMPLATEEX*)pTemplate)->style |= WS_CHILD ;1047 if (((MyDLGTEMPLATEEX*)pTemplate)->signature == 0xFFFF) 1048 { 1049 ((MyDLGTEMPLATEEX*)pTemplate)->style |= WS_CHILD | DS_CONTROL; 920 1050 ((MyDLGTEMPLATEEX*)pTemplate)->style &= ~DS_MODALFRAME; 921 1051 ((MyDLGTEMPLATEEX*)pTemplate)->style &= ~WS_CAPTION; … … 923 1053 ((MyDLGTEMPLATEEX*)pTemplate)->style &= ~WS_POPUP; 924 1054 ((MyDLGTEMPLATEEX*)pTemplate)->style &= ~WS_DISABLED; 1055 ((MyDLGTEMPLATEEX*)pTemplate)->style &= ~WS_VISIBLE; 925 1056 } 926 1057 else 927 1058 { 928 pTemplate->style |= WS_CHILD ;1059 pTemplate->style |= WS_CHILD | DS_CONTROL; 929 1060 pTemplate->style &= ~DS_MODALFRAME; 930 1061 pTemplate->style &= ~WS_CAPTION; … … 932 1063 pTemplate->style &= ~WS_POPUP; 933 1064 pTemplate->style &= ~WS_DISABLED; 1065 pTemplate->style &= ~WS_VISIBLE; 934 1066 } 935 1067 … … 972 1104 0, 0, SWP_NOSIZE); 973 1105 974 if (showPage)975 {976 NMHDR hdr;977 978 hdr.hwndFrom = hwndParent;979 hdr.idFrom = GetWindowLongA(hwndParent,GWL_ID);980 hdr.code = PSN_SETACTIVE;981 982 /*983 * Send the notification before showing the page.984 */985 SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &hdr);986 987 ShowWindow(hwndPage, SW_SHOW);988 }989 else990 ShowWindow(hwndPage, SW_HIDE);991 992 1106 return TRUE; 993 1107 } … … 1001 1115 { 1002 1116 if (index == psInfo->active_page) 1117 { 1118 if (GetTopWindow(hwndDlg) != psInfo->proppage[index].hwndPage) 1119 SetWindowPos(psInfo->proppage[index].hwndPage, HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); 1003 1120 return TRUE; 1004 1005 ShowWindow(psInfo->proppage[psInfo->active_page].hwndPage, SW_HIDE); 1006 1007 if (psInfo->proppage[index].hwndPage != 0) 1008 ShowWindow(psInfo->proppage[index].hwndPage, SW_SHOW); 1009 else 1010 { 1011 LPCPROPSHEETPAGEA ppshpage = PROPSHEET_GetPSPPage(psInfo, index); 1012 PROPSHEET_CreatePage(hwndDlg, index, psInfo, ppshpage, TRUE); 1121 } 1122 1123 if (psInfo->active_page != -1) 1124 ShowWindow(psInfo->proppage[psInfo->active_page].hwndPage, SW_HIDE); 1125 1126 if (psInfo->proppage[index].hwndPage == 0) 1127 { 1128 LPCPROPSHEETPAGEA ppshpage; 1129 PSHNOTIFY psn; 1130 1131 ppshpage = (LPCPROPSHEETPAGEA)psInfo->proppage[index].hpage; 1132 PROPSHEET_CreatePage(hwndDlg, index, psInfo, ppshpage); 1133 1134 psn.hdr.hwndFrom = hwndDlg; 1135 psn.hdr.code = PSN_SETACTIVE; 1136 psn.hdr.idFrom = 0; 1137 psn.lParam = 0; 1138 1139 /* Send the notification before showing the page. */ 1140 SendMessageA(psInfo->proppage[index].hwndPage, 1141 WM_NOTIFY, 0, (LPARAM) &psn); 1142 1143 /* 1144 * TODO: check return value. 1145 */ 1146 } 1147 1148 ShowWindow(psInfo->proppage[index].hwndPage, SW_SHOW); 1149 1150 if (!(psInfo->ppshheader->dwFlags & PSH_WIZARD)) 1151 { 1152 HWND hwndTabCtrl; 1153 1154 /* Synchronize current selection with tab control */ 1155 hwndTabCtrl = GetDlgItem(hwndDlg, IDC_TABCONTROL); 1156 SendMessageA(hwndTabCtrl, TCM_SETCURSEL, index, 0); 1013 1157 } 1014 1158 1015 1159 psInfo->active_page = index; 1160 psInfo->activeValid = TRUE; 1016 1161 1017 1162 return TRUE; … … 1024 1169 { 1025 1170 BOOL res; 1026 NMHDR hdr;1171 PSHNOTIFY psn; 1027 1172 HWND hwndPage; 1028 HWND hwndBack = GetDlgItem(hwndDlg, IDC_BACK_BUTTON);1029 1173 PropSheetInfo* psInfo = (PropSheetInfo*) GetPropA(hwndDlg, 1030 1174 PropSheetInfoStr); 1031 1175 1032 if (psInfo->active_page < =0)1176 if (psInfo->active_page < 0) 1033 1177 return FALSE; 1034 1178 1035 hdr.hwndFrom = hwndDlg; 1036 hdr.idFrom = GetWindowLongA(hwndDlg,GWL_ID); 1037 hdr.code = PSN_WIZBACK; 1038 1179 psn.hdr.code = PSN_WIZBACK; 1180 psn.hdr.hwndFrom = hwndDlg; 1181 psn.hdr.idFrom = 0; 1182 psn.lParam = 0; 1183 1039 1184 hwndPage = psInfo->proppage[psInfo->active_page].hwndPage; 1040 1185 1041 if (SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) & hdr) == -1)1186 if (SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &psn) == -1) 1042 1187 return FALSE; 1043 1188 1044 res = PROPSHEET_CanSetCurSel(hwndDlg); 1045 if(res != FALSE) 1046 { 1047 res = PROPSHEET_SetCurSel(hwndDlg, psInfo->active_page - 1, 0); 1048 } 1049 1050 /* if we went to page 0, disable Back button */ 1051 if (res && (psInfo->active_page == 0)) 1052 EnableWindow(hwndBack, FALSE); 1189 if (psInfo->active_page > 0) 1190 { 1191 res = PROPSHEET_CanSetCurSel(hwndDlg); 1192 if(res != FALSE) 1193 { 1194 res = PROPSHEET_SetCurSel(hwndDlg, psInfo->active_page - 1, 0); 1195 } 1196 } 1053 1197 1054 1198 return TRUE; … … 1060 1204 static BOOL PROPSHEET_Next(HWND hwndDlg) 1061 1205 { 1062 NMHDR hdr;1206 PSHNOTIFY psn; 1063 1207 HWND hwndPage; 1064 1208 LRESULT msgResult = 0; … … 1066 1210 PropSheetInfoStr); 1067 1211 1068 if (psInfo->active_page < 0 || psInfo->active_page == psInfo->nPages - 1)1212 if (psInfo->active_page < 0) 1069 1213 return FALSE; 1070 1214 1071 hdr.hwndFrom = hwndDlg; 1072 hdr.idFrom = GetWindowLongA(hwndDlg,GWL_ID); 1073 hdr.code = PSN_WIZNEXT; 1074 1215 psn.hdr.code = PSN_WIZNEXT; 1216 psn.hdr.hwndFrom = hwndDlg; 1217 psn.hdr.idFrom = 0; 1218 psn.lParam = 0; 1219 1075 1220 hwndPage = psInfo->proppage[psInfo->active_page].hwndPage; 1076 1221 1077 msgResult = SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) & hdr);1078 1079 //TRACE("msg result %ld\n", msgResult);1222 msgResult = SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &psn); 1223 1224 TRACE("msg result %ld\n", msgResult); 1080 1225 1081 1226 if (msgResult == -1) … … 1095 1240 static BOOL PROPSHEET_Finish(HWND hwndDlg) 1096 1241 { 1097 NMHDR hdr;1242 PSHNOTIFY psn; 1098 1243 HWND hwndPage; 1099 1244 LRESULT msgResult = 0; … … 1104 1249 return FALSE; 1105 1250 1106 hdr.hwndFrom = hwndDlg; 1107 hdr.idFrom = GetWindowLongA(hwndDlg,GWL_ID); 1108 hdr.code = PSN_WIZFINISH; 1109 1251 psn.hdr.code = PSN_WIZFINISH; 1252 psn.hdr.hwndFrom = hwndDlg; 1253 psn.hdr.idFrom = 0; 1254 psn.lParam = 0; 1255 1110 1256 hwndPage = psInfo->proppage[psInfo->active_page].hwndPage; 1111 1257 1112 msgResult = SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) & hdr);1113 1114 //TRACE("msg result %ld\n", msgResult);1258 msgResult = SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &psn); 1259 1260 TRACE("msg result %ld\n", msgResult); 1115 1261 1116 1262 if (msgResult != 0) … … 1118 1264 1119 1265 if (psInfo->isModeless) 1120 psInfo->active _page = -1;1266 psInfo->activeValid = FALSE; 1121 1267 else 1122 1268 EndDialog(hwndDlg, TRUE); … … 1128 1274 * PROPSHEET_Apply 1129 1275 */ 1130 static BOOL PROPSHEET_Apply(HWND hwndDlg )1276 static BOOL PROPSHEET_Apply(HWND hwndDlg, LPARAM lParam) 1131 1277 { 1132 1278 int i; 1133 NMHDR hdr;1134 1279 HWND hwndPage; 1280 PSHNOTIFY psn; 1135 1281 LRESULT msgResult; 1136 1282 PropSheetInfo* psInfo = (PropSheetInfo*) GetPropA(hwndDlg, … … 1140 1286 return FALSE; 1141 1287 1142 hdr.hwndFrom = hwndDlg; 1143 hdr.idFrom = GetWindowLongA(hwndDlg,GWL_ID); 1288 psn.hdr.hwndFrom = hwndDlg; 1289 psn.hdr.idFrom = 0; 1290 psn.lParam = 0; 1291 1144 1292 1145 1293 /* 1146 1294 * Send PSN_KILLACTIVE to the current page. 1147 1295 */ 1148 hdr.code = PSN_KILLACTIVE;1296 psn.hdr.code = PSN_KILLACTIVE; 1149 1297 1150 1298 hwndPage = psInfo->proppage[psInfo->active_page].hwndPage; 1151 1299 1152 if (SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) & hdr) != FALSE)1300 if (SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &psn) != FALSE) 1153 1301 return FALSE; 1154 1302 … … 1156 1304 * Send PSN_APPLY to all pages. 1157 1305 */ 1158 hdr.code = PSN_APPLY; 1159 1306 psn.hdr.code = PSN_APPLY; 1307 psn.lParam = lParam; 1308 1160 1309 for (i = 0; i < psInfo->nPages; i++) 1161 1310 { 1162 1311 hwndPage = psInfo->proppage[i].hwndPage; 1163 msgResult = SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &hdr); 1164 1165 if (msgResult == PSNRET_INVALID_NOCHANGEPAGE) 1166 return FALSE; 1312 if (hwndPage) 1313 { 1314 msgResult = SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &psn); 1315 if (msgResult == PSNRET_INVALID_NOCHANGEPAGE) 1316 return FALSE; 1317 } 1318 } 1319 1320 if(lParam) 1321 { 1322 psInfo->activeValid = FALSE; 1323 } 1324 else if(psInfo->active_page >= 0) 1325 { 1326 psn.hdr.code = PSN_SETACTIVE; 1327 psn.lParam = 0; 1328 hwndPage = psInfo->proppage[psInfo->active_page].hwndPage; 1329 SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &psn); 1167 1330 } 1168 1331 … … 1173 1336 * PROPSHEET_Cancel 1174 1337 */ 1175 static void PROPSHEET_Cancel(HWND hwndDlg )1338 static void PROPSHEET_Cancel(HWND hwndDlg, LPARAM lParam) 1176 1339 { 1177 1340 PropSheetInfo* psInfo = (PropSheetInfo*) GetPropA(hwndDlg, 1178 1341 PropSheetInfoStr); 1179 1342 HWND hwndPage; 1180 NMHDR hdr; 1343 PSHNOTIFY psn; 1344 int i; 1181 1345 1182 1346 if (psInfo->active_page < 0) … … 1184 1348 1185 1349 hwndPage = psInfo->proppage[psInfo->active_page].hwndPage; 1186 hdr.hwndFrom = hwndDlg; 1187 hdr.idFrom = GetWindowLongA(hwndDlg,GWL_ID); 1188 hdr.code = PSN_QUERYCANCEL; 1189 1190 if (SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &hdr)) 1350 psn.hdr.code = PSN_QUERYCANCEL; 1351 psn.hdr.hwndFrom = hwndDlg; 1352 psn.hdr.idFrom = 0; 1353 psn.lParam = 0; 1354 1355 if (SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &psn)) 1191 1356 return; 1192 1357 1193 hdr.code = PSN_RESET; 1194 1195 SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &hdr); 1358 psn.hdr.code = PSN_RESET; 1359 psn.lParam = lParam; 1360 1361 for (i = 0; i < psInfo->nPages; i++) 1362 { 1363 hwndPage = psInfo->proppage[i].hwndPage; 1364 1365 if (hwndPage) 1366 SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &psn); 1367 } 1196 1368 1197 1369 if (psInfo->isModeless) 1198 psInfo->active_page = -1; /* makes PSM_GETCURRENTPAGEHWND return NULL */ 1370 { 1371 /* makes PSM_GETCURRENTPAGEHWND return NULL */ 1372 psInfo->activeValid = FALSE; 1373 } 1199 1374 else 1200 1375 EndDialog(hwndDlg, FALSE); … … 1209 1384 PropSheetInfoStr); 1210 1385 HWND hwndPage; 1211 NMHDR hdr;1386 PSHNOTIFY psn; 1212 1387 1213 1388 if (psInfo->active_page < 0) … … 1215 1390 1216 1391 hwndPage = psInfo->proppage[psInfo->active_page].hwndPage; 1217 hdr.hwndFrom = hwndDlg; 1218 hdr.idFrom = GetWindowLongA(hwndDlg,GWL_ID); 1219 hdr.code = PSN_HELP; 1220 1221 SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &hdr); 1392 psn.hdr.code = PSN_HELP; 1393 psn.hdr.hwndFrom = hwndDlg; 1394 psn.hdr.idFrom = 0; 1395 psn.lParam = 0; 1396 1397 SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &psn); 1222 1398 } 1223 1399 … … 1332 1508 PropSheetInfoStr); 1333 1509 HWND hwndPage; 1334 NMHDR hdr;1335 1336 if (!psInfo || psInfo->active_page < 0)1510 PSHNOTIFY psn; 1511 1512 if (!psInfo) 1337 1513 return FALSE; 1514 1515 if (psInfo->active_page < 0) 1516 return TRUE; 1517 1338 1518 /* 1339 1519 * Notify the current page. 1340 1520 */ 1341 1521 hwndPage = psInfo->proppage[psInfo->active_page].hwndPage; 1342 1343 hdr.hwndFrom = hwndDlg;1344 hdr.idFrom = GetWindowLongA(hwndDlg,GWL_ID);1345 hdr.code = PSN_KILLACTIVE;1346 1347 return !SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) & hdr);1522 psn.hdr.code = PSN_KILLACTIVE; 1523 psn.hdr.hwndFrom = hwndDlg; 1524 psn.hdr.idFrom = 0; 1525 psn.lParam = 0; 1526 1527 return !SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &psn); 1348 1528 } 1349 1529 … … 1359 1539 HWND hwndPage; 1360 1540 HWND hwndHelp = GetDlgItem(hwndDlg, IDHELP); 1361 NMHDR hdr; 1362 1363 if (psInfo->active_page < 0) 1364 return FALSE; 1365 1366 hwndPage = psInfo->proppage[psInfo->active_page].hwndPage; 1367 1368 hdr.hwndFrom = hwndDlg; 1369 hdr.idFrom = GetWindowLongA(hwndDlg,GWL_ID); 1370 /* 1371 * hpage takes precedence over index. 1372 */ 1541 1542 /* hpage takes precedence over index */ 1373 1543 if (hpage != NULL) 1374 1544 index = PROPSHEET_GetPageIndex(hpage, psInfo); … … 1389 1559 { 1390 1560 int result; 1391 hdr.code = PSN_SETACTIVE; 1392 1393 result = SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &hdr); 1561 PSHNOTIFY psn; 1562 1563 psn.hdr.code = PSN_SETACTIVE; 1564 psn.hdr.hwndFrom = hwndDlg; 1565 psn.hdr.idFrom = 0; 1566 psn.lParam = 0; 1567 1568 result = SendMessageA(hwndPage, WM_NOTIFY, 0, (LPARAM) &psn); 1569 1394 1570 /* 1395 * TODO: check return value. 1571 * TODO: check return value. 1396 1572 */ 1397 1573 } … … 1487 1663 } 1488 1664 1489 /******************************************************************************1490 * PROPSHEET_GetPSPPage1491 */1492 static LPCPROPSHEETPAGEA PROPSHEET_GetPSPPage(const PropSheetInfo * psInfo,1493 int index)1494 {1495 BOOL usePSP = psInfo->ppshheader->dwFlags & PSH_PROPSHEETPAGE;1496 LPCPROPSHEETPAGEA lppsp;1497 int realIndex = psInfo->proppage[index].index;1498 1499 if (usePSP)1500 {1501 BYTE* pByte;1502 1503 lppsp = psInfo->ppshheader->u3.ppsp;1504 1505 pByte = (BYTE*) lppsp;1506 1507 pByte += (lppsp->dwSize * realIndex);1508 lppsp = (LPCPROPSHEETPAGEA)pByte;1509 }1510 else1511 lppsp = (LPCPROPSHEETPAGEA) psInfo->ppshheader->u3.phpage[realIndex];1512 1513 return lppsp;1514 }1515 1665 1516 1666 /****************************************************************************** … … 1535 1685 1536 1686 PROPSHEET_CollectPageInfo(ppsp, psInfo, psInfo->nPages); 1537 psInfo->proppage[psInfo->nPages].index = -1;1538 1687 psInfo->proppage[psInfo->nPages].hpage = hpage; 1539 1688 1540 /* 1541 * Create the page but don't show it. 1542 */ 1543 PROPSHEET_CreatePage(hwndDlg, psInfo->nPages, psInfo, ppsp, FALSE); 1689 if (ppsp->dwFlags & PSP_PREMATURE) 1690 { 1691 /* Create the page but don't show it */ 1692 PROPSHEET_CreatePage(hwndDlg, psInfo->nPages, psInfo, ppsp); 1693 } 1544 1694 1545 1695 /* … … 1558 1708 1559 1709 psInfo->nPages++; 1710 1711 /* If it is the only page - show it */ 1712 if(psInfo->nPages == 1) 1713 PROPSHEET_ShowPage(hwndDlg, 0, psInfo); 1560 1714 1561 1715 return TRUE; … … 1575 1729 1576 1730 if (!psInfo) { 1577 // FIXME("No psInfo for propertysheet at windows 0x%04x, returning FALSE...\n", hwndDlg);1578 1731 return FALSE; 1579 1732 } … … 1589 1742 /* Make shure that index is within range */ 1590 1743 if (index < 0 || index >= psInfo->nPages) 1591 1592 //TRACE("Could not find page to remove!\n");1744 { 1745 TRACE("Could not find page to remove!\n"); 1593 1746 return FALSE; 1594 1595 1596 //TRACE("total pages %d removing page %d active page %d\n",1597 //psInfo->nPages, index, psInfo->active_page);1747 } 1748 1749 TRACE("total pages %d removing page %d active page %d\n", 1750 psInfo->nPages, index, psInfo->active_page); 1598 1751 /* 1599 1752 * Check if we're removing the active page. … … 1616 1769 else 1617 1770 { 1618 // TRACE("Removing the only page, close the dialog!\n"); 1619 1620 if (psInfo->isModeless) 1621 psInfo->active_page = -1; 1622 else 1623 EndDialog(hwndDlg, FALSE); 1624 1625 return TRUE; 1771 psInfo->active_page = -1; 1772 if (!psInfo->isModeless) 1773 { 1774 EndDialog(hwndDlg, FALSE); 1775 return TRUE; 1776 } 1626 1777 } 1627 1778 } 1628 1629 if (index < psInfo->active_page) 1779 else if (index < psInfo->active_page) 1630 1780 psInfo->active_page--; 1631 1781 1632 /* Destroy page dialog window. 1633 * If it's last page in modal dialog, it has been destroyed by EndDialog 1634 */ 1635 if (psInfo->isModeless || psInfo->nPages > 1) 1636 DestroyWindow(psInfo->proppage[index].hwndPage); 1637 1782 /* Destroy page dialog window */ 1783 DestroyWindow(psInfo->proppage[index].hwndPage); 1784 1785 /* Free page resources */ 1786 if(psInfo->proppage[index].hpage) 1787 { 1788 PROPSHEETPAGEA* psp = (PROPSHEETPAGEA*)psInfo->proppage[index].hpage; 1789 1790 if ((psp->dwFlags & PSP_USETITLE) && psInfo->proppage[index].pszText) 1791 HeapFree(GetProcessHeap(), 0, (LPVOID)psInfo->proppage[index].pszText); 1792 1793 DestroyPropertySheetPage(psInfo->proppage[index].hpage); 1794 } 1795 1638 1796 /* Remove the tab */ 1639 1797 SendMessageA(hwndTabControl, TCM_DELETEITEM, index, 0); … … 1642 1800 psInfo->proppage = COMCTL32_Alloc(sizeof(PropPageInfo) * psInfo->nPages); 1643 1801 1644 if (index > 0) 1802 if (index > 0) 1645 1803 memcpy(&psInfo->proppage[0], &oldPages[0], index * sizeof(PropPageInfo)); 1646 1804 … … 1664 1822 static void PROPSHEET_SetWizButtons(HWND hwndDlg, DWORD dwFlags) 1665 1823 { 1666 HWND hwndButton; 1667 1668 // TRACE("%ld\n", dwFlags); 1824 HWND hwndBack = GetDlgItem(hwndDlg, IDC_BACK_BUTTON); 1825 HWND hwndNext = GetDlgItem(hwndDlg, IDC_NEXT_BUTTON); 1826 HWND hwndFinish = GetDlgItem(hwndDlg, IDC_FINISH_BUTTON); 1827 1828 TRACE("%ld\n", dwFlags); 1829 1830 EnableWindow(hwndBack, FALSE); 1831 EnableWindow(hwndNext, FALSE); 1832 EnableWindow(hwndFinish, FALSE); 1669 1833 1670 1834 if (dwFlags & PSWIZB_BACK) 1671 { 1672 hwndButton = GetDlgItem(hwndDlg, IDC_BACK_BUTTON); 1673 EnableWindow(hwndButton, TRUE); 1674 } 1835 EnableWindow(hwndBack, TRUE); 1675 1836 1676 1837 if (dwFlags & PSWIZB_NEXT) 1677 1838 { 1678 1839 /* Hide the Finish button */ 1679 hwndButton = GetDlgItem(hwndDlg, IDC_FINISH_BUTTON); 1680 ShowWindow(hwndButton, SW_HIDE); 1840 ShowWindow(hwndFinish, SW_HIDE); 1681 1841 1682 1842 /* Show and enable the Next button */ 1683 hwndButton = GetDlgItem(hwndDlg, IDC_NEXT_BUTTON); 1684 1685 ShowWindow(hwndButton, SW_SHOW); 1686 EnableWindow(hwndButton, TRUE); 1843 ShowWindow(hwndNext, SW_SHOW); 1844 EnableWindow(hwndNext, TRUE); 1687 1845 1688 1846 /* Set the Next button as the default pushbutton */ … … 1693 1851 { 1694 1852 /* Hide the Next button */ 1695 hwndButton = GetDlgItem(hwndDlg, IDC_NEXT_BUTTON); 1696 ShowWindow(hwndButton, SW_HIDE); 1853 ShowWindow(hwndNext, SW_HIDE); 1697 1854 1698 1855 /* Show the Finish button */ 1699 hwndButton = GetDlgItem(hwndDlg, IDC_FINISH_BUTTON); 1700 ShowWindow(hwndButton, SW_SHOW); 1856 ShowWindow(hwndFinish, SW_SHOW); 1701 1857 1702 1858 if (dwFlags & PSWIZB_FINISH) 1703 EnableWindow(hwndButton, TRUE); 1704 else 1705 EnableWindow(hwndButton, FALSE); 1859 EnableWindow(hwndFinish, TRUE); 1706 1860 1707 1861 /* Set the Finish button as the default pushbutton */ … … 1740 1894 static void PROPSHEET_CleanUp(HWND hwndDlg) 1741 1895 { 1896 int i; 1742 1897 PropSheetInfo* psInfo = (PropSheetInfo*) RemovePropA(hwndDlg, 1743 1898 PropSheetInfoStr); 1899 1900 TRACE("\n"); 1901 if (HIWORD(psInfo->ppshheader->pszCaption)) 1902 HeapFree(GetProcessHeap(), 0, (LPVOID)psInfo->ppshheader->pszCaption); 1903 1904 COMCTL32_Free((LPVOID)psInfo->ppshheader); 1905 1906 for (i = 0; i < psInfo->nPages; i++) 1907 { 1908 PROPSHEETPAGEA* psp = (PROPSHEETPAGEA*)psInfo->proppage[i].hpage; 1909 1910 if(psInfo->proppage[i].hwndPage) 1911 DestroyWindow(psInfo->proppage[i].hwndPage); 1912 1913 if(psp) 1914 { 1915 if ((psp->dwFlags & PSP_USETITLE) && psInfo->proppage[i].pszText) 1916 HeapFree(GetProcessHeap(), 0, (LPVOID)psInfo->proppage[i].pszText); 1917 1918 DestroyPropertySheetPage(psInfo->proppage[i].hpage); 1919 } 1920 } 1921 1744 1922 COMCTL32_Free(psInfo->proppage); 1745 1923 COMCTL32_Free(psInfo->strPropertiesFor); … … 1757 1935 PropSheetInfo* psInfo = (PropSheetInfo*) GlobalAlloc(GPTR, 1758 1936 sizeof(PropSheetInfo)); 1759 LPCPROPSHEETPAGEA lppsp;1760 1937 int i; 1938 BYTE* pByte; 1761 1939 1762 1940 PROPSHEET_CollectSheetInfo(lppsh, psInfo); … … 1764 1942 psInfo->proppage = (PropPageInfo*) COMCTL32_Alloc(sizeof(PropPageInfo) * 1765 1943 lppsh->nPages); 1944 pByte = (BYTE*) psInfo->ppshheader->u3.ppsp; 1766 1945 1767 1946 for (i = 0; i < lppsh->nPages; i++) 1768 1947 { 1769 psInfo->proppage[i].index = i;1770 1948 if (!(lppsh->dwFlags & PSH_PROPSHEETPAGE)) 1771 1949 psInfo->proppage[i].hpage = psInfo->ppshheader->u3.phpage[i]; 1772 lppsp = PROPSHEET_GetPSPPage(psInfo, i); 1773 PROPSHEET_CollectPageInfo(lppsp, psInfo, i); 1950 else 1951 { 1952 psInfo->proppage[i].hpage = CreatePropertySheetPageA((LPCPROPSHEETPAGEA)pByte); 1953 pByte += ((LPPROPSHEETPAGEA)pByte)->dwSize; 1954 } 1955 1956 PROPSHEET_CollectPageInfo((LPCPROPSHEETPAGEA)psInfo->proppage[i].hpage, 1957 psInfo, i); 1774 1958 } 1775 1959 … … 1799 1983 *ppsp = *lpPropSheetPage; 1800 1984 1985 if ( !(ppsp->dwFlags & PSP_DLGINDIRECT) && HIWORD( ppsp->u1.pszTemplate ) ) 1986 ppsp->u1.pszTemplate = HEAP_strdupA( GetProcessHeap(), 0, lpPropSheetPage->u1.pszTemplate ); 1987 1988 if ( (ppsp->dwFlags & PSP_USEICONID) && HIWORD( ppsp->u2.pszIcon ) ) 1989 ppsp->u2.pszIcon = HEAP_strdupA( GetProcessHeap(), 0, lpPropSheetPage->u2.pszIcon ); 1990 1991 1992 if ((ppsp->dwFlags & PSP_USETITLE) && HIWORD( ppsp->pszTitle )) 1993 ppsp->pszTitle = HEAP_strdupA( GetProcessHeap(), 0, lpPropSheetPage->pszTitle ); 1994 else if ( !(ppsp->dwFlags & PSP_USETITLE) ) 1995 ppsp->pszTitle = NULL; 1996 1801 1997 return (HPROPSHEETPAGE)ppsp; 1802 1998 } … … 1817 2013 BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE hPropPage) 1818 2014 { 2015 PROPSHEETPAGEA *psp = (PROPSHEETPAGEA *)hPropPage; 2016 2017 if (!psp) 2018 return FALSE; 2019 2020 if ( !(psp->dwFlags & PSP_DLGINDIRECT) && HIWORD( psp->u1.pszTemplate ) ) 2021 HeapFree(GetProcessHeap(), 0, (LPVOID)psp->u1.pszTemplate); 2022 2023 if ( (psp->dwFlags & PSP_USEICONID) && HIWORD( psp->u2.pszIcon ) ) 2024 HeapFree(GetProcessHeap(), 0, (LPVOID)psp->u2.pszIcon); 2025 2026 if ((psp->dwFlags & PSP_USETITLE) && HIWORD( psp->pszTitle )) 2027 HeapFree(GetProcessHeap(), 0, (LPVOID)psp->pszTitle); 2028 1819 2029 COMCTL32_Free(hPropPage); 1820 2030 1821 2031 return TRUE; 2032 } 2033 2034 /****************************************************************************** 2035 * PROPSHEET_IsDialogMessage 2036 */ 2037 static BOOL PROPSHEET_IsDialogMessage(HWND hwnd, LPMSG lpMsg) 2038 { 2039 PropSheetInfo* psInfo = (PropSheetInfo*) GetPropA(hwnd, PropSheetInfoStr); 2040 2041 if (!psInfo || (hwnd != lpMsg->hwnd && !IsChild(hwnd, lpMsg->hwnd))) 2042 return FALSE; 2043 2044 if (lpMsg->message == WM_KEYDOWN && (GetKeyState(VK_CONTROL) & 0x8000)) 2045 { 2046 int new_page = 0; 2047 INT dlgCode = SendMessageA(lpMsg->hwnd, WM_GETDLGCODE, 0, (LPARAM)lpMsg); 2048 2049 if (!(dlgCode & DLGC_WANTMESSAGE)) 2050 { 2051 switch (lpMsg->wParam) 2052 { 2053 case VK_TAB: 2054 if (GetKeyState(VK_SHIFT) & 0x8000) 2055 new_page = -1; 2056 else 2057 new_page = 1; 2058 break; 2059 2060 case VK_NEXT: new_page = 1; break; 2061 case VK_PRIOR: new_page = -1; break; 2062 } 2063 } 2064 2065 if (new_page) 2066 { 2067 if (PROPSHEET_CanSetCurSel(hwnd) != FALSE) 2068 { 2069 new_page += psInfo->active_page; 2070 2071 if (new_page < 0) 2072 new_page = psInfo->nPages - 1; 2073 else if (new_page >= psInfo->nPages) 2074 new_page = 0; 2075 2076 PROPSHEET_SetCurSel(hwnd, new_page, 0); 2077 } 2078 2079 return TRUE; 2080 } 2081 } 2082 2083 return IsDialogMessageA(hwnd, lpMsg); 1822 2084 } 1823 2085 … … 1836 2098 HWND hwndTabCtrl = GetDlgItem(hwnd, IDC_TABCONTROL); 1837 2099 LPCPROPSHEETPAGEA ppshpage; 2100 int idx; 1838 2101 1839 2102 SetPropA(hwnd, PropSheetInfoStr, (HANDLE)psInfo); … … 1872 2135 if (psInfo->ppshheader->dwFlags & PSH_WIZARD) 1873 2136 { 1874 HWND hwndBack = GetDlgItem(hwnd, IDC_BACK_BUTTON);1875 1876 2137 if (PROPSHEET_IsTooSmallWizard(hwnd, psInfo)) 1877 2138 { … … 1879 2140 PROPSHEET_AdjustButtonsWizard(hwnd, psInfo); 1880 2141 } 1881 1882 /* Disable Back button if we start at page 0 */1883 if (psInfo->active_page == 0)1884 EnableWindow(hwndBack, FALSE);1885 2142 } 1886 2143 else … … 1897 2154 PSCB_INITIALIZED, (LPARAM)0); 1898 2155 1899 ppshpage = PROPSHEET_GetPSPPage(psInfo, psInfo->active_page); 1900 PROPSHEET_CreatePage(hwnd, psInfo->active_page, psInfo, ppshpage, TRUE); 2156 idx = psInfo->active_page; 2157 ppshpage = (LPCPROPSHEETPAGEA)psInfo->proppage[idx].hpage; 2158 psInfo->active_page = -1; 2159 2160 PROPSHEET_SetCurSel(hwnd, idx, psInfo->proppage[idx].hpage); 1901 2161 1902 2162 if (!(psInfo->ppshheader->dwFlags & PSH_WIZARD)) … … 1926 2186 1927 2187 case WM_CLOSE: 1928 PROPSHEET_Cancel(hwnd );2188 PROPSHEET_Cancel(hwnd, 1); 1929 2189 return TRUE; 1930 2190 … … 1940 2200 HWND hwndApplyBtn = GetDlgItem(hwnd, IDC_APPLY_BUTTON); 1941 2201 1942 if (PROPSHEET_Apply(hwnd ) == FALSE)2202 if (PROPSHEET_Apply(hwnd, wID == IDOK ? 1: 0) == FALSE) 1943 2203 break; 1944 1945 EnableWindow(hwndApplyBtn, FALSE);1946 2204 1947 2205 if (wID == IDOK) … … 1959 2217 1960 2218 if (psInfo->isModeless) 1961 psInfo->active _page = -1;2219 psInfo->activeValid = FALSE; 1962 2220 else 1963 2221 EndDialog(hwnd, result); 1964 2222 } 2223 else 2224 EnableWindow(hwndApplyBtn, FALSE); 1965 2225 1966 2226 break; … … 1980 2240 1981 2241 case IDCANCEL: 1982 PROPSHEET_Cancel(hwnd );2242 PROPSHEET_Cancel(hwnd, 0); 1983 2243 break; 1984 2244 … … 2018 2278 HWND hwndPage = 0; 2019 2279 2020 if (psInfo->active _page != -1)2280 if (psInfo->activeValid && psInfo->active_page != -1) 2021 2281 hwndPage = psInfo->proppage[psInfo->active_page].hwndPage; 2022 2282 … … 2062 2322 case PSM_CANCELTOCLOSE: 2063 2323 { 2324 char buf[MAX_BUTTONTEXT_LENGTH]; 2064 2325 HWND hwndOK = GetDlgItem(hwnd, IDOK); 2065 2326 HWND hwndCancel = GetDlgItem(hwnd, IDCANCEL); 2066 2327 2067 2328 EnableWindow(hwndCancel, FALSE); 2068 SetWindowTextA(hwndOK, "Close"); /* FIXME: hardcoded string */ 2069 2070 return TRUE; 2329 if (LoadStringA(COMCTL32_hModule, IDS_CLOSE, buf, sizeof(buf))) 2330 SetWindowTextA(hwndOK, buf); 2331 2332 return FALSE; 2071 2333 } 2072 2334 … … 2095 2357 case PSM_APPLY: 2096 2358 { 2097 BOOL msgResult = PROPSHEET_Apply(hwnd );2359 BOOL msgResult = PROPSHEET_Apply(hwnd, 0); 2098 2360 2099 2361 SetWindowLongA(hwnd, DWL_MSGRESULT, msgResult); … … 2134 2396 case PSM_ISDIALOGMESSAGE: 2135 2397 { 2136 FIXME("Unimplemented msg PSM_ISDIALOGMESSAGE\n"); 2137 return 0; 2398 BOOL msgResult = PROPSHEET_IsDialogMessage(hwnd, (LPMSG)lParam); 2399 SetWindowLongA(hwnd, DWL_MSGRESULT, msgResult); 2400 return TRUE; 2138 2401 } 2139 2402 -
trunk/src/comctl32/rebar.c
r1762 r2126 1 /* $Id: rebar.c,v 1.1 0 1999-11-17 17:06:23 cbratschiExp $ */1 /* $Id: rebar.c,v 1.11 1999-12-18 20:57:00 achimha Exp $ */ 2 2 /* 3 3 * Rebar control … … 21 21 * - All notifications. 22 22 */ 23 24 /* WINE 991212 */ 23 25 24 26 #include <string.h> … … 911 913 } 912 914 915 static LRESULT 916 REBAR_GetVersion (HWND hwnd) 917 { 918 REBAR_INFO *infoPtr = REBAR_GetInfoPtr (hwnd); 919 return infoPtr->iVersion; 920 } 913 921 914 922 static LRESULT … … 1523 1531 } 1524 1532 1533 static LRESULT 1534 REBAR_SetVersion (HWND hwnd, INT iVersion) 1535 { 1536 REBAR_INFO *infoPtr = REBAR_GetInfoPtr (hwnd); 1537 INT iOldVersion = infoPtr->iVersion; 1538 1539 if (iVersion > COMCTL32_VERSION) 1540 return -1; 1541 1542 infoPtr->iVersion = iVersion; 1543 1544 return iOldVersion; 1545 } 1525 1546 1526 1547 static LRESULT … … 1594 1615 1595 1616 /* initialize info structure */ 1617 infoPtr->iVersion = 0; 1596 1618 infoPtr->clrBk = CLR_NONE; 1597 1619 infoPtr->clrText = RGB(0, 0, 0); … … 1922 1944 return REBAR_GetUnicodeFormat (hwnd); 1923 1945 1946 case CCM_GETVERSION: 1947 return REBAR_GetVersion (hwnd); 1948 1924 1949 case RB_HITTEST: 1925 1950 return REBAR_HitTest (hwnd, wParam, lParam); … … 1969 1994 case RB_SETUNICODEFORMAT: 1970 1995 return REBAR_SetUnicodeFormat (hwnd, wParam); 1996 1997 case CCM_SETVERSION: 1998 return REBAR_SetVersion (hwnd, (INT)wParam); 1971 1999 1972 2000 case RB_SHOWBAND: -
trunk/src/comctl32/resource.asm
r1803 r2126 1 1 ;/* This file is generated with wrc version 1.0.14 (08-Aug-1999). Do not edit! */ 2 2 ;/* Source : rsrc.rc */ 3 ;/* Cmdline: wrc -s -I. -I E:\IBMCPP\include -I..\..\include -I..\..\include\win -o resource.asm rsrc.rc */4 ;/* Date : S un Nov 21 15:11:291999 */3 ;/* Cmdline: wrc -s -I. -IH:\IBMCPP3\include -I..\..\include -I..\..\include\win -o resource.asm rsrc.rc */ 4 ;/* Date : Sat Dec 18 21:17:00 1999 */ 5 5 6 6 .386p … … 12 12 public _Resource_PEResTab 13 13 dd 0 14 dd 038 37fd91h15 dd 0 16 dw 0, 414 dd 0385bebbch 15 dd 0 16 dw 0, 5 17 17 dd 2 18 18 dd (L2 - _Resource_PEResTab) or 80000000h … … 21 21 dd 5 22 22 dd (L5 - _Resource_PEResTab) or 80000000h 23 dd 6 24 dd (L6 - _Resource_PEResTab) or 80000000h 23 25 dd 16 24 26 dd (L16 - _Resource_PEResTab) or 80000000h 25 27 L2: 26 28 dd 0 27 dd 038 37fd91h28 dd 0 29 dw 0, 629 dd 0385bebbch 30 dd 0 31 dw 0, 7 30 32 dd 120 31 33 dd (L2_120 - _Resource_PEResTab) or 80000000h … … 40 42 dd 131 41 43 dd (L2_131 - _Resource_PEResTab) or 80000000h 44 dd 401 45 dd (L2_401 - _Resource_PEResTab) or 80000000h 42 46 L4: 43 47 dd 0 44 dd 038 37fd91h48 dd 0385bebbch 45 49 dd 0 46 50 dw 0, 1 … … 49 53 L5: 50 54 dd 0 51 dd 038 37fd91h55 dd 0385bebbch 52 56 dd 0 53 57 dw 0, 3 … … 58 62 dd 1020 59 63 dd (L5_1020 - _Resource_PEResTab) or 80000000h 64 L6: 65 dd 0 66 dd 0385bebbch 67 dd 0 68 dw 0, 1 69 dd 261 70 dd (L6_261 - _Resource_PEResTab) or 80000000h 60 71 L16: 61 72 dd 0 62 dd 038 37fd91h73 dd 0385bebbch 63 74 dd 0 64 75 dw 0, 1 … … 67 78 L2_120: 68 79 dd 0 69 dd 038 37fd91h80 dd 0385bebbch 70 81 dd 0 71 82 dw 0, 1 … … 74 85 L2_121: 75 86 dd 0 76 dd 038 37fd91h87 dd 0385bebbch 77 88 dd 0 78 89 dw 0, 1 … … 81 92 L2_124: 82 93 dd 0 83 dd 038 37fd91h94 dd 0385bebbch 84 95 dd 0 85 96 dw 0, 1 … … 88 99 L2_125: 89 100 dd 0 90 dd 038 37fd91h101 dd 0385bebbch 91 102 dd 0 92 103 dw 0, 1 … … 95 106 L2_130: 96 107 dd 0 97 dd 038 37fd91h108 dd 0385bebbch 98 109 dd 0 99 110 dw 0, 1 … … 102 113 L2_131: 103 114 dd 0 104 dd 038 37fd91h115 dd 0385bebbch 105 116 dd 0 106 117 dw 0, 1 107 118 dd 000000000h 108 119 dd L2_131_0 - _Resource_PEResTab 120 L2_401: 121 dd 0 122 dd 0385bebbch 123 dd 0 124 dw 0, 1 125 dd 000000000h 126 dd L2_401_0 - _Resource_PEResTab 109 127 L4_300: 110 128 dd 0 111 dd 038 37fd91h129 dd 0385bebbch 112 130 dd 0 113 131 dw 0, 1 … … 116 134 L5_200: 117 135 dd 0 118 dd 038 37fd91h136 dd 0385bebbch 119 137 dd 0 120 138 dw 0, 1 … … 123 141 L5_1006: 124 142 dd 0 125 dd 038 37fd91h143 dd 0385bebbch 126 144 dd 0 127 145 dw 0, 1 … … 130 148 L5_1020: 131 149 dd 0 132 dd 038 37fd91h150 dd 0385bebbch 133 151 dd 0 134 152 dw 0, 1 135 153 dd 000000000h 136 154 dd L5_1020_0 - _Resource_PEResTab 155 L6_261: 156 dd 0 157 dd 0385bebbch 158 dd 0 159 dw 0, 1 160 dd 000000000h 161 dd L6_261_0 - _Resource_PEResTab 137 162 L16_1: 138 163 dd 0 139 dd 038 37fd91h164 dd 0385bebbch 140 165 dd 0 141 166 dw 0, 1 … … 156 181 L2_124_0: 157 182 dd _Resource_Bmp_124_0_data - _Resource_PEResTab 158 dd 1308183 dd 4136 159 184 dd 0 160 185 dd 0 … … 174 199 dd 0 175 200 dd 0 201 L2_401_0: 202 dd _Resource_Bmp_401_0_data - _Resource_PEResTab 203 dd 384 204 dd 0 205 dd 0 176 206 L4_300_0: 177 207 dd _Resource_Men_300_0_data - _Resource_PEResTab … … 192 222 dd _Resource_Dlg_1020_0_data - _Resource_PEResTab 193 223 dd 352 224 dd 0 225 dd 0 226 L6_261_0: 227 dd _Resource_StrTab_261_0_data - _Resource_PEResTab 228 dd 44 194 229 dd 0 195 230 dd 0 … … 230 265 db 080h, 000h, 026h, 000h, 041h, 000h, 070h, 000h 231 266 db 070h, 000h, 06ch, 000h, 079h, 000h, 000h, 000h 232 db 000h, 000h, 000h, 000h, 000h, 000h, 00 1h, 050h267 db 000h, 000h, 000h, 000h, 000h, 000h, 003h, 050h 233 268 db 000h, 000h, 000h, 000h, 0ebh, 000h, 08ah, 000h 234 269 db 032h, 000h, 00eh, 000h, 009h, 000h, 0ffh, 0ffh 235 270 db 080h, 000h, 048h, 000h, 065h, 000h, 06ch, 000h 236 271 db 070h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 237 db 000h, 000h, 00 0h, 054h, 000h, 000h, 000h, 000h272 db 000h, 000h, 001h, 054h, 000h, 000h, 000h, 000h 238 273 db 007h, 000h, 007h, 000h, 016h, 001h, 07dh, 000h 239 274 db 020h, 030h, 053h, 000h, 059h, 000h, 053h, 000h … … 274 309 db 080h, 000h, 043h, 000h, 061h, 000h, 06eh, 000h 275 310 db 063h, 000h, 065h, 000h, 06ch, 000h, 000h, 000h 276 db 000h, 000h, 000h, 000h, 000h, 000h, 00 1h, 050h311 db 000h, 000h, 000h, 000h, 000h, 000h, 003h, 050h 277 312 db 000h, 000h, 000h, 000h, 0ebh, 000h, 08ah, 000h 278 313 db 032h, 000h, 00eh, 000h, 009h, 000h, 0ffh, 0ffh … … 399 434 db 065h, 000h, 06dh, 000h, 062h, 000h, 065h, 000h 400 435 db 072h, 000h, 000h, 000h 436 437 align 4 438 _Resource_Bmp_401_0_data: 439 db 028h, 000h, 000h, 000h, 01fh, 000h, 000h, 000h 440 db 010h, 000h, 000h, 000h, 001h, 000h, 004h, 000h 441 db 002h, 000h, 000h, 000h, 030h, 001h, 000h, 000h 442 db 001h, 000h, 000h, 000h, 001h, 000h, 000h, 000h 443 db 00ah, 000h, 000h, 000h, 00ah, 000h, 000h, 000h 444 db 000h, 000h, 000h, 000h, 000h, 000h, 080h, 000h 445 db 000h, 080h, 000h, 000h, 080h, 000h, 000h, 000h 446 db 0c0h, 0c0h, 0c0h, 000h, 080h, 080h, 080h, 000h 447 db 000h, 0ffh, 000h, 000h, 000h, 0ffh, 0ffh, 000h 448 db 0ffh, 000h, 000h, 000h, 0ffh, 0ffh, 0ffh, 000h 449 db 01fh, 099h, 000h, 000h, 001h, 099h, 00dh, 011h 450 db 002h, 099h, 00eh, 011h, 001h, 099h, 000h, 000h 451 db 001h, 099h, 00dh, 011h, 002h, 099h, 00eh, 011h 452 db 001h, 099h, 000h, 000h, 001h, 099h, 002h, 011h 453 db 009h, 099h, 002h, 011h, 002h, 099h, 002h, 011h 454 db 00ah, 099h, 002h, 011h, 001h, 099h, 000h, 000h 455 db 001h, 099h, 002h, 011h, 009h, 099h, 002h, 011h 456 db 002h, 099h, 002h, 011h, 00ah, 099h, 002h, 011h 457 db 001h, 099h, 000h, 000h, 001h, 099h, 002h, 011h 458 db 009h, 099h, 002h, 011h, 002h, 099h, 002h, 011h 459 db 003h, 099h, 002h, 000h, 005h, 099h, 002h, 011h 460 db 001h, 099h, 000h, 000h, 001h, 099h, 002h, 011h 461 db 009h, 099h, 002h, 011h, 002h, 099h, 002h, 011h 462 db 003h, 099h, 003h, 000h, 004h, 099h, 002h, 011h 463 db 001h, 099h, 000h, 000h, 001h, 099h, 002h, 011h 464 db 009h, 099h, 002h, 011h, 002h, 099h, 002h, 011h 465 db 002h, 099h, 004h, 000h, 004h, 099h, 002h, 011h 466 db 001h, 099h, 000h, 000h, 001h, 099h, 002h, 011h 467 db 009h, 099h, 002h, 011h, 002h, 099h, 002h, 011h 468 db 001h, 099h, 002h, 000h, 002h, 099h, 002h, 000h 469 db 003h, 099h, 002h, 011h, 001h, 099h, 000h, 000h 470 db 001h, 099h, 002h, 011h, 009h, 099h, 002h, 011h 471 db 002h, 099h, 002h, 011h, 002h, 000h, 004h, 099h 472 db 002h, 000h, 002h, 099h, 002h, 011h, 001h, 099h 473 db 000h, 000h, 001h, 099h, 002h, 011h, 009h, 099h 474 db 002h, 011h, 002h, 099h, 002h, 011h, 001h, 000h 475 db 006h, 099h, 002h, 000h, 001h, 099h, 002h, 011h 476 db 001h, 099h, 000h, 000h, 001h, 099h, 002h, 011h 477 db 009h, 099h, 002h, 011h, 002h, 099h, 002h, 011h 478 db 007h, 099h, 002h, 000h, 001h, 099h, 001h, 000h 479 db 001h, 011h, 001h, 099h, 000h, 000h, 001h, 099h 480 db 002h, 011h, 009h, 099h, 002h, 011h, 002h, 099h 481 db 002h, 011h, 008h, 099h, 001h, 000h, 001h, 099h 482 db 001h, 000h, 001h, 011h, 001h, 099h, 000h, 000h 483 db 001h, 099h, 00dh, 011h, 002h, 099h, 00ah, 011h 484 db 002h, 000h, 002h, 011h, 001h, 099h, 000h, 000h 485 db 001h, 099h, 00dh, 011h, 002h, 099h, 00eh, 011h 486 db 001h, 099h, 000h, 000h, 01fh, 099h, 000h, 001h 401 487 402 488 align 4 … … 981 1067 _Resource_Bmp_124_0_data: 982 1068 db 028h, 000h, 000h, 000h, 0c0h, 000h, 000h, 000h 983 db 010h, 000h, 000h, 000h, 001h, 000h, 00 4h, 000h984 db 00 2h, 000h, 000h, 000h, 0b4h, 004h, 000h, 000h1069 db 010h, 000h, 000h, 000h, 001h, 000h, 008h, 000h 1070 db 000h, 000h, 000h, 000h, 000h, 00ch, 000h, 000h 985 1071 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 986 1072 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h … … 989 1075 db 080h, 000h, 000h, 000h, 080h, 000h, 080h, 000h 990 1076 db 080h, 080h, 000h, 000h, 0c0h, 0c0h, 0c0h, 000h 1077 db 0c0h, 0dch, 0c0h, 000h, 0f0h, 0cah, 0a6h, 000h 1078 db 004h, 004h, 004h, 000h, 008h, 008h, 008h, 000h 1079 db 00ch, 00ch, 00ch, 000h, 011h, 011h, 011h, 000h 1080 db 016h, 016h, 016h, 000h, 01ch, 01ch, 01ch, 000h 1081 db 022h, 022h, 022h, 000h, 029h, 029h, 029h, 000h 1082 db 055h, 055h, 055h, 000h, 04dh, 04dh, 04dh, 000h 1083 db 042h, 042h, 042h, 000h, 039h, 039h, 039h, 000h 1084 db 080h, 07ch, 0ffh, 000h, 050h, 050h, 0ffh, 000h 1085 db 093h, 000h, 0d6h, 000h, 0ffh, 0ech, 0cch, 000h 1086 db 0c6h, 0d6h, 0efh, 000h, 0d6h, 0e7h, 0e7h, 000h 1087 db 090h, 0a9h, 0adh, 000h, 000h, 000h, 033h, 000h 1088 db 000h, 000h, 066h, 000h, 000h, 000h, 099h, 000h 1089 db 000h, 000h, 0cch, 000h, 000h, 033h, 000h, 000h 1090 db 000h, 033h, 033h, 000h, 000h, 033h, 066h, 000h 1091 db 000h, 033h, 099h, 000h, 000h, 033h, 0cch, 000h 1092 db 000h, 033h, 0ffh, 000h, 000h, 066h, 000h, 000h 1093 db 000h, 066h, 033h, 000h, 000h, 066h, 066h, 000h 1094 db 000h, 066h, 099h, 000h, 000h, 066h, 0cch, 000h 1095 db 000h, 066h, 0ffh, 000h, 000h, 099h, 000h, 000h 1096 db 000h, 099h, 033h, 000h, 000h, 099h, 066h, 000h 1097 db 000h, 099h, 099h, 000h, 000h, 099h, 0cch, 000h 1098 db 000h, 099h, 0ffh, 000h, 000h, 0cch, 000h, 000h 1099 db 000h, 0cch, 033h, 000h, 000h, 0cch, 066h, 000h 1100 db 000h, 0cch, 099h, 000h, 000h, 0cch, 0cch, 000h 1101 db 000h, 0cch, 0ffh, 000h, 000h, 0ffh, 066h, 000h 1102 db 000h, 0ffh, 099h, 000h, 000h, 0ffh, 0cch, 000h 1103 db 033h, 000h, 000h, 000h, 033h, 000h, 033h, 000h 1104 db 033h, 000h, 066h, 000h, 033h, 000h, 099h, 000h 1105 db 033h, 000h, 0cch, 000h, 033h, 000h, 0ffh, 000h 1106 db 033h, 033h, 000h, 000h, 033h, 033h, 033h, 000h 1107 db 033h, 033h, 066h, 000h, 033h, 033h, 099h, 000h 1108 db 033h, 033h, 0cch, 000h, 033h, 033h, 0ffh, 000h 1109 db 033h, 066h, 000h, 000h, 033h, 066h, 033h, 000h 1110 db 033h, 066h, 066h, 000h, 033h, 066h, 099h, 000h 1111 db 033h, 066h, 0cch, 000h, 033h, 066h, 0ffh, 000h 1112 db 033h, 099h, 000h, 000h, 033h, 099h, 033h, 000h 1113 db 033h, 099h, 066h, 000h, 033h, 099h, 099h, 000h 1114 db 033h, 099h, 0cch, 000h, 033h, 099h, 0ffh, 000h 1115 db 033h, 0cch, 000h, 000h, 033h, 0cch, 033h, 000h 1116 db 033h, 0cch, 066h, 000h, 033h, 0cch, 099h, 000h 1117 db 033h, 0cch, 0cch, 000h, 033h, 0cch, 0ffh, 000h 1118 db 033h, 0ffh, 033h, 000h, 033h, 0ffh, 066h, 000h 1119 db 033h, 0ffh, 099h, 000h, 033h, 0ffh, 0cch, 000h 1120 db 033h, 0ffh, 0ffh, 000h, 066h, 000h, 000h, 000h 1121 db 066h, 000h, 033h, 000h, 066h, 000h, 066h, 000h 1122 db 066h, 000h, 099h, 000h, 066h, 000h, 0cch, 000h 1123 db 066h, 000h, 0ffh, 000h, 066h, 033h, 000h, 000h 1124 db 066h, 033h, 033h, 000h, 066h, 033h, 066h, 000h 1125 db 066h, 033h, 099h, 000h, 066h, 033h, 0cch, 000h 1126 db 066h, 033h, 0ffh, 000h, 066h, 066h, 000h, 000h 1127 db 066h, 066h, 033h, 000h, 066h, 066h, 066h, 000h 1128 db 066h, 066h, 099h, 000h, 066h, 066h, 0cch, 000h 1129 db 066h, 099h, 000h, 000h, 066h, 099h, 033h, 000h 1130 db 066h, 099h, 066h, 000h, 066h, 099h, 099h, 000h 1131 db 066h, 099h, 0cch, 000h, 066h, 099h, 0ffh, 000h 1132 db 066h, 0cch, 000h, 000h, 066h, 0cch, 033h, 000h 1133 db 066h, 0cch, 099h, 000h, 066h, 0cch, 0cch, 000h 1134 db 066h, 0cch, 0ffh, 000h, 066h, 0ffh, 000h, 000h 1135 db 066h, 0ffh, 033h, 000h, 066h, 0ffh, 099h, 000h 1136 db 066h, 0ffh, 0cch, 000h, 0cch, 000h, 0ffh, 000h 1137 db 0ffh, 000h, 0cch, 000h, 099h, 099h, 000h, 000h 1138 db 099h, 033h, 099h, 000h, 099h, 000h, 099h, 000h 1139 db 099h, 000h, 0cch, 000h, 099h, 000h, 000h, 000h 1140 db 099h, 033h, 033h, 000h, 099h, 000h, 066h, 000h 1141 db 099h, 033h, 0cch, 000h, 099h, 000h, 0ffh, 000h 1142 db 099h, 066h, 000h, 000h, 099h, 066h, 033h, 000h 1143 db 099h, 033h, 066h, 000h, 099h, 066h, 099h, 000h 1144 db 099h, 066h, 0cch, 000h, 099h, 033h, 0ffh, 000h 1145 db 099h, 099h, 033h, 000h, 099h, 099h, 066h, 000h 1146 db 099h, 099h, 099h, 000h, 099h, 099h, 0cch, 000h 1147 db 099h, 099h, 0ffh, 000h, 099h, 0cch, 000h, 000h 1148 db 099h, 0cch, 033h, 000h, 066h, 0cch, 066h, 000h 1149 db 099h, 0cch, 099h, 000h, 099h, 0cch, 0cch, 000h 1150 db 099h, 0cch, 0ffh, 000h, 099h, 0ffh, 000h, 000h 1151 db 099h, 0ffh, 033h, 000h, 099h, 0cch, 066h, 000h 1152 db 099h, 0ffh, 099h, 000h, 099h, 0ffh, 0cch, 000h 1153 db 099h, 0ffh, 0ffh, 000h, 0cch, 000h, 000h, 000h 1154 db 099h, 000h, 033h, 000h, 0cch, 000h, 066h, 000h 1155 db 0cch, 000h, 099h, 000h, 0cch, 000h, 0cch, 000h 1156 db 099h, 033h, 000h, 000h, 0cch, 033h, 033h, 000h 1157 db 0cch, 033h, 066h, 000h, 0cch, 033h, 099h, 000h 1158 db 0cch, 033h, 0cch, 000h, 0cch, 033h, 0ffh, 000h 1159 db 0cch, 066h, 000h, 000h, 0cch, 066h, 033h, 000h 1160 db 099h, 066h, 066h, 000h, 0cch, 066h, 099h, 000h 1161 db 0cch, 066h, 0cch, 000h, 099h, 066h, 0ffh, 000h 1162 db 0cch, 099h, 000h, 000h, 0cch, 099h, 033h, 000h 1163 db 0cch, 099h, 066h, 000h, 0cch, 099h, 099h, 000h 1164 db 0cch, 099h, 0cch, 000h, 0cch, 099h, 0ffh, 000h 1165 db 0cch, 0cch, 000h, 000h, 0cch, 0cch, 033h, 000h 1166 db 0cch, 0cch, 066h, 000h, 0cch, 0cch, 099h, 000h 1167 db 0cch, 0cch, 0cch, 000h, 0cch, 0cch, 0ffh, 000h 1168 db 0cch, 0ffh, 000h, 000h, 0cch, 0ffh, 033h, 000h 1169 db 099h, 0ffh, 066h, 000h, 0cch, 0ffh, 099h, 000h 1170 db 0cch, 0ffh, 0cch, 000h, 0cch, 0ffh, 0ffh, 000h 1171 db 0cch, 000h, 033h, 000h, 0ffh, 000h, 066h, 000h 1172 db 0ffh, 000h, 099h, 000h, 0cch, 033h, 000h, 000h 1173 db 0ffh, 033h, 033h, 000h, 0ffh, 033h, 066h, 000h 1174 db 0ffh, 033h, 099h, 000h, 0ffh, 033h, 0cch, 000h 1175 db 0ffh, 033h, 0ffh, 000h, 0ffh, 066h, 000h, 000h 1176 db 0ffh, 066h, 033h, 000h, 0cch, 066h, 066h, 000h 1177 db 0ffh, 066h, 099h, 000h, 0ffh, 066h, 0cch, 000h 1178 db 0cch, 066h, 0ffh, 000h, 0ffh, 099h, 000h, 000h 1179 db 0ffh, 099h, 033h, 000h, 0ffh, 099h, 066h, 000h 1180 db 0ffh, 099h, 099h, 000h, 0ffh, 099h, 0cch, 000h 1181 db 0ffh, 099h, 0ffh, 000h, 0ffh, 0cch, 000h, 000h 1182 db 0ffh, 0cch, 033h, 000h, 0ffh, 0cch, 066h, 000h 1183 db 0ffh, 0cch, 099h, 000h, 0ffh, 0cch, 0cch, 000h 1184 db 0ffh, 0cch, 0ffh, 000h, 0ffh, 0ffh, 033h, 000h 1185 db 0cch, 0ffh, 066h, 000h, 0ffh, 0ffh, 099h, 000h 1186 db 0ffh, 0ffh, 0cch, 000h, 066h, 066h, 0ffh, 000h 1187 db 066h, 0ffh, 066h, 000h, 066h, 0ffh, 0ffh, 000h 1188 db 0ffh, 066h, 066h, 000h, 0ffh, 066h, 0ffh, 000h 1189 db 0ffh, 0ffh, 066h, 000h, 021h, 000h, 0a5h, 000h 1190 db 05fh, 05fh, 05fh, 000h, 077h, 077h, 077h, 000h 1191 db 086h, 086h, 086h, 000h, 096h, 096h, 096h, 000h 1192 db 0cbh, 0cbh, 0cbh, 000h, 0b2h, 0b2h, 0b2h, 000h 1193 db 0d7h, 0d7h, 0d7h, 000h, 0ddh, 0ddh, 0ddh, 000h 1194 db 0e3h, 0e3h, 0e3h, 000h, 0eah, 0eah, 0eah, 000h 1195 db 0f1h, 0f1h, 0f1h, 000h, 0f8h, 0f8h, 0f8h, 000h 1196 db 0f0h, 0fbh, 0ffh, 000h, 0a4h, 0a0h, 0a0h, 000h 991 1197 db 080h, 080h, 080h, 000h, 000h, 000h, 0ffh, 000h 992 1198 db 000h, 0ffh, 000h, 000h, 000h, 0ffh, 0ffh, 000h 993 1199 db 0ffh, 000h, 000h, 000h, 0ffh, 000h, 0ffh, 000h 994 1200 db 0ffh, 0ffh, 000h, 000h, 0ffh, 0ffh, 0ffh, 000h 995 db 0c0h, 077h, 000h, 000h, 008h, 077h, 002h, 070h 996 db 004h, 000h, 000h, 008h, 007h, 077h, 074h, 044h 997 db 00ah, 077h, 000h, 004h, 044h, 047h, 004h, 077h 998 db 000h, 004h, 044h, 047h, 004h, 077h, 000h, 018h 999 db 047h, 070h, 000h, 007h, 000h, 007h, 000h, 007h 1000 db 077h, 074h, 044h, 047h, 004h, 077h, 000h, 004h 1001 db 071h, 077h, 008h, 044h, 000h, 006h, 047h, 077h 1002 db 071h, 000h, 00eh, 077h, 002h, 071h, 00eh, 077h 1003 db 002h, 071h, 014h, 077h, 002h, 070h, 00ch, 000h 1004 db 002h, 077h, 00eh, 070h, 00ah, 000h, 002h, 007h 1005 db 004h, 077h, 000h, 000h, 012h, 077h, 000h, 008h 1006 db 074h, 0f4h, 070h, 000h, 006h, 077h, 000h, 010h 1007 db 04fh, 047h, 000h, 007h, 04fh, 047h, 000h, 007h 1008 db 012h, 077h, 000h, 006h, 044h, 077h, 044h, 000h 1009 db 004h, 077h, 000h, 006h, 011h, 017h, 04fh, 000h 1010 db 006h, 0ffh, 000h, 008h, 047h, 077h, 011h, 017h 1011 db 00ch, 077h, 000h, 004h, 011h, 017h, 008h, 000h 1012 db 004h, 077h, 000h, 004h, 011h, 017h, 00eh, 000h 1013 db 000h, 008h, 007h, 077h, 070h, 078h, 008h, 088h 1014 db 002h, 080h, 010h, 077h, 002h, 00bh, 008h, 0fbh 1015 db 002h, 007h, 004h, 077h, 000h, 000h, 00ah, 077h 1016 db 004h, 044h, 004h, 077h, 000h, 004h, 074h, 047h 1017 db 00ah, 077h, 002h, 044h, 006h, 077h, 002h, 044h 1018 db 006h, 077h, 000h, 014h, 047h, 070h, 000h, 007h 1019 db 000h, 007h, 000h, 007h, 077h, 044h, 006h, 077h 1020 db 002h, 071h, 004h, 011h, 002h, 04fh, 006h, 0ffh 1021 db 000h, 004h, 047h, 071h, 004h, 011h, 00ah, 077h 1022 db 002h, 071h, 004h, 011h, 002h, 00fh, 004h, 0ffh 1023 db 000h, 006h, 0f0h, 077h, 071h, 000h, 004h, 011h 1024 db 002h, 00fh, 00ch, 0bfh, 000h, 006h, 007h, 077h 1025 db 070h, 000h, 00ah, 077h, 000h, 008h, 080h, 077h 1026 db 070h, 077h, 008h, 007h, 000h, 004h, 070h, 00fh 1027 db 008h, 0bfh, 002h, 007h, 004h, 077h, 000h, 000h 1028 db 00ah, 077h, 000h, 004h, 04fh, 0f4h, 034h, 077h 1029 db 006h, 044h, 004h, 077h, 000h, 006h, 071h, 077h 1030 db 04fh, 000h, 006h, 0ffh, 000h, 00ah, 047h, 077h 1031 db 071h, 077h, 070h, 000h, 008h, 000h, 000h, 008h 1032 db 077h, 071h, 077h, 00fh, 004h, 0ffh, 002h, 0f0h 1033 db 004h, 077h, 000h, 006h, 071h, 077h, 00bh, 000h 1034 db 00ch, 0fbh, 000h, 008h, 007h, 077h, 070h, 078h 1035 db 008h, 088h, 002h, 080h, 010h, 077h, 002h, 00bh 1036 db 008h, 0fbh, 002h, 007h, 004h, 077h, 000h, 000h 1037 db 00ah, 077h, 000h, 004h, 04fh, 0f4h, 022h, 077h 1038 db 000h, 018h, 047h, 070h, 000h, 007h, 000h, 007h 1039 db 000h, 007h, 077h, 044h, 077h, 044h, 004h, 077h 1040 db 000h, 006h, 071h, 077h, 04fh, 000h, 006h, 0ffh 1041 db 000h, 008h, 047h, 077h, 071h, 077h, 008h, 044h 1042 db 000h, 00ah, 040h, 077h, 071h, 077h, 00fh, 000h 1043 db 004h, 0ffh, 000h, 010h, 0f0h, 044h, 047h, 071h 1044 db 077h, 00fh, 0bfh, 0b0h, 004h, 000h, 000h, 00ah 1045 db 00fh, 0bfh, 007h, 077h, 070h, 000h, 00ah, 077h 1046 db 000h, 008h, 080h, 077h, 070h, 077h, 008h, 007h 1047 db 000h, 004h, 070h, 00fh, 008h, 0bfh, 000h, 006h 1048 db 007h, 070h, 077h, 000h, 000h, 000h, 00ah, 077h 1049 db 000h, 004h, 04fh, 044h, 00ah, 077h, 000h, 004h 1050 db 044h, 047h, 004h, 077h, 000h, 004h, 044h, 047h 1051 db 004h, 077h, 000h, 004h, 044h, 047h, 016h, 077h 1052 db 000h, 006h, 074h, 044h, 047h, 000h, 004h, 077h 1053 db 000h, 006h, 071h, 077h, 04fh, 000h, 006h, 0ffh 1054 db 000h, 00ah, 047h, 077h, 071h, 077h, 04fh, 000h 1055 db 004h, 07fh, 000h, 00ch, 077h, 040h, 077h, 071h 1056 db 077h, 00fh, 004h, 0ffh, 000h, 010h, 0f0h, 0bfh 1057 db 047h, 071h, 077h, 00bh, 0fbh, 0f0h, 008h, 0fbh 1058 db 004h, 007h, 000h, 004h, 070h, 078h, 006h, 088h 1059 db 000h, 004h, 022h, 080h, 010h, 077h, 002h, 00bh 1060 db 008h, 0fbh, 004h, 007h, 002h, 077h, 000h, 000h 1061 db 002h, 070h, 004h, 000h, 000h, 008h, 007h, 077h 1062 db 044h, 047h, 00ah, 077h, 000h, 028h, 04fh, 047h 1063 db 000h, 007h, 04fh, 047h, 000h, 007h, 04fh, 047h 1064 db 000h, 007h, 047h, 070h, 000h, 007h, 000h, 007h 1065 db 000h, 007h, 00ch, 077h, 000h, 006h, 071h, 077h 1066 db 04fh, 000h, 006h, 0ffh, 000h, 00ah, 047h, 077h 1067 db 071h, 077h, 047h, 000h, 004h, 0f1h, 000h, 00ch 1068 db 017h, 040h, 077h, 071h, 077h, 00fh, 004h, 0ffh 1069 db 000h, 010h, 0f0h, 0fbh, 047h, 071h, 077h, 00fh 1070 db 0bfh, 0b0h, 008h, 0bfh, 002h, 007h, 006h, 070h 1071 db 006h, 088h, 000h, 008h, 0aah, 080h, 077h, 070h 1072 db 006h, 077h, 004h, 007h, 000h, 004h, 070h, 00fh 1073 db 008h, 0bfh, 002h, 000h, 004h, 077h, 000h, 000h 1074 db 018h, 077h, 002h, 044h, 006h, 077h, 002h, 044h 1075 db 006h, 077h, 002h, 044h, 022h, 077h, 000h, 006h 1076 db 071h, 077h, 04fh, 000h, 006h, 0ffh, 000h, 00ah 1077 db 047h, 077h, 071h, 077h, 04fh, 000h, 004h, 071h 1078 db 000h, 00eh, 07fh, 040h, 077h, 071h, 077h, 00fh 1079 db 0ffh, 000h, 004h, 000h, 000h, 00ch, 0bfh, 047h 1080 db 071h, 077h, 00bh, 0f0h, 004h, 000h, 006h, 0fbh 1081 db 000h, 008h, 007h, 077h, 000h, 007h, 008h, 077h 1082 db 000h, 008h, 070h, 011h, 077h, 011h, 00ah, 077h 1083 db 00ah, 000h, 002h, 077h, 004h, 007h, 000h, 000h 1084 db 002h, 077h, 004h, 044h, 02ah, 077h, 000h, 014h 1085 db 047h, 070h, 000h, 007h, 000h, 007h, 000h, 007h 1086 db 077h, 074h, 004h, 044h, 004h, 077h, 000h, 004h 1087 db 071h, 077h, 008h, 044h, 000h, 030h, 047h, 077h 1088 db 071h, 077h, 047h, 011h, 0f7h, 017h, 040h, 077h 1089 db 071h, 077h, 00fh, 0ffh, 00fh, 00bh, 0fbh, 047h 1090 db 071h, 077h, 00fh, 0bfh, 000h, 00fh, 006h, 0bfh 1091 db 000h, 006h, 007h, 000h, 077h, 000h, 00ch, 000h 1092 db 000h, 006h, 071h, 011h, 017h, 000h, 00ch, 070h 1093 db 004h, 0bfh, 002h, 007h, 004h, 070h, 004h, 077h 1094 db 000h, 000h, 000h, 006h, 077h, 04fh, 0f4h, 000h 1095 db 03ch, 077h, 000h, 006h, 044h, 077h, 044h, 000h 1096 db 004h, 077h, 002h, 071h, 00eh, 077h, 000h, 006h 1097 db 071h, 077h, 04fh, 000h, 004h, 071h, 000h, 010h 1098 db 01fh, 040h, 077h, 071h, 077h, 00fh, 0ffh, 000h 1099 db 004h, 0bfh, 000h, 00ch, 047h, 071h, 077h, 00bh 1100 db 0fbh, 0f0h, 008h, 0fbh, 000h, 004h, 007h, 077h 1101 db 004h, 007h, 00ch, 077h, 002h, 011h, 00eh, 077h 1102 db 004h, 000h, 002h, 077h, 006h, 007h, 002h, 077h 1103 db 000h, 000h, 000h, 006h, 077h, 04fh, 0f4h, 000h 1104 db 00ah, 077h, 000h, 004h, 074h, 044h, 00ch, 077h 1105 db 000h, 004h, 044h, 047h, 004h, 077h, 000h, 004h 1106 db 044h, 047h, 004h, 077h, 010h, 044h, 000h, 008h 1107 db 077h, 044h, 077h, 044h, 004h, 077h, 002h, 071h 1108 db 006h, 077h, 000h, 00eh, 074h, 044h, 047h, 077h 1109 db 071h, 077h, 047h, 000h, 006h, 0f7h, 000h, 008h 1110 db 040h, 077h, 071h, 077h, 004h, 000h, 000h, 00eh 1111 db 00bh, 0f4h, 044h, 047h, 071h, 077h, 00fh, 000h 1112 db 00ch, 0bfh, 002h, 007h, 006h, 070h, 00ah, 077h 1113 db 000h, 006h, 071h, 011h, 017h, 000h, 010h, 077h 1114 db 002h, 070h, 004h, 077h, 000h, 004h, 070h, 077h 1115 db 000h, 000h, 000h, 006h, 077h, 04fh, 044h, 000h 1116 db 00ah, 077h, 000h, 008h, 074h, 0f4h, 070h, 000h 1117 db 008h, 077h, 000h, 010h, 04fh, 047h, 000h, 007h 1118 db 04fh, 047h, 000h, 007h, 012h, 077h, 002h, 074h 1119 db 004h, 044h, 004h, 077h, 002h, 071h, 006h, 077h 1120 db 000h, 00ch, 074h, 0ffh, 047h, 077h, 071h, 077h 1121 db 008h, 044h, 000h, 006h, 040h, 077h, 071h, 000h 1122 db 004h, 077h, 000h, 004h, 074h, 0bfh, 004h, 0b4h 1123 db 000h, 006h, 077h, 071h, 077h, 000h, 00eh, 000h 1124 db 000h, 004h, 077h, 007h, 004h, 077h, 002h, 007h 1125 db 008h, 077h, 000h, 006h, 011h, 077h, 011h, 000h 1126 db 014h, 077h, 002h, 007h, 004h, 077h, 000h, 000h 1127 db 000h, 006h, 077h, 044h, 047h, 000h, 00ah, 077h 1128 db 000h, 004h, 074h, 047h, 00ch, 077h, 002h, 044h 1129 db 006h, 077h, 002h, 044h, 008h, 077h, 000h, 00eh 1130 db 070h, 000h, 007h, 000h, 007h, 000h, 007h, 000h 1131 db 006h, 077h, 002h, 044h, 004h, 077h, 002h, 071h 1132 db 006h, 077h, 000h, 00ch, 074h, 0ffh, 047h, 077h 1133 db 071h, 077h, 004h, 04ch, 000h, 00ah, 0cch, 04ch 1134 db 040h, 077h, 071h, 000h, 004h, 077h, 000h, 010h 1135 db 074h, 0fbh, 0f4h, 047h, 077h, 071h, 077h, 070h 1136 db 004h, 0bfh, 002h, 0b0h, 00ah, 077h, 002h, 070h 1137 db 02ch, 077h, 000h, 000h, 042h, 077h, 000h, 006h 1138 db 074h, 044h, 047h, 000h, 004h, 077h, 002h, 071h 1139 db 006h, 077h, 000h, 00ch, 074h, 044h, 047h, 077h 1140 db 071h, 077h, 008h, 044h, 000h, 006h, 047h, 077h 1141 db 071h, 000h, 004h, 077h, 002h, 074h, 004h, 044h 1142 db 004h, 077h, 002h, 071h, 004h, 077h, 004h, 000h 1143 db 002h, 007h, 032h, 077h, 002h, 007h, 004h, 077h 1144 db 000h, 000h, 092h, 077h, 002h, 070h, 02ch, 077h 1145 db 000h, 000h, 000h, 001h 1201 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1202 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1203 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1204 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1205 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1206 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1207 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1208 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1209 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1210 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1211 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1212 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1213 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1214 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1215 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1216 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1217 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1218 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1219 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1220 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1221 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1222 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1223 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1224 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1225 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1226 db 007h, 000h, 000h, 000h, 000h, 000h, 000h, 007h 1227 db 007h, 007h, 007h, 004h, 004h, 004h, 007h, 007h 1228 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1229 db 007h, 007h, 000h, 000h, 000h, 007h, 007h, 007h 1230 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1231 db 007h, 000h, 000h, 007h, 007h, 007h, 007h, 007h 1232 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1233 db 007h, 007h, 007h, 004h, 004h, 004h, 004h, 007h 1234 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1235 db 004h, 004h, 004h, 004h, 004h, 004h, 004h, 004h 1236 db 004h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1237 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1238 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1239 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1240 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1241 db 007h, 007h, 092h, 092h, 092h, 092h, 092h, 092h 1242 db 092h, 092h, 092h, 092h, 092h, 092h, 092h, 007h 1243 db 007h, 007h, 007h, 000h, 000h, 000h, 000h, 000h 1244 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1245 db 007h, 007h, 007h, 000h, 007h, 000h, 007h, 000h 1246 db 007h, 000h, 007h, 000h, 007h, 000h, 007h, 000h 1247 db 007h, 007h, 06dh, 06dh, 06dh, 06dh, 06dh, 06dh 1248 db 06dh, 06dh, 06dh, 06dh, 06dh, 06dh, 06dh, 007h 1249 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1250 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1251 db 007h, 007h, 007h, 004h, 0ffh, 004h, 007h, 000h 1252 db 000h, 000h, 007h, 007h, 007h, 007h, 007h, 007h 1253 db 007h, 007h, 0ffh, 0ffh, 000h, 007h, 000h, 000h 1254 db 000h, 000h, 000h, 000h, 007h, 007h, 007h, 007h 1255 db 007h, 0ffh, 000h, 007h, 000h, 000h, 000h, 000h 1256 db 007h, 000h, 000h, 007h, 000h, 000h, 000h, 007h 1257 db 007h, 007h, 004h, 004h, 007h, 007h, 004h, 004h 1258 db 007h, 007h, 007h, 007h, 001h, 001h, 001h, 007h 1259 db 004h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh 1260 db 004h, 007h, 007h, 007h, 001h, 001h, 001h, 007h 1261 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1262 db 007h, 007h, 007h, 007h, 001h, 001h, 001h, 007h 1263 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1264 db 007h, 007h, 007h, 007h, 001h, 001h, 001h, 007h 1265 db 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1266 db 000h, 000h, 000h, 000h, 000h, 000h, 092h, 007h 1267 db 007h, 007h, 007h, 000h, 007h, 0ech, 0ech, 0ech 1268 db 0ech, 0ech, 0ech, 0ech, 0ech, 0ech, 0ech, 000h 1269 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1270 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1271 db 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1272 db 000h, 000h, 000h, 000h, 000h, 000h, 06dh, 007h 1273 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1274 db 007h, 007h, 004h, 004h, 004h, 004h, 007h, 007h 1275 db 007h, 007h, 007h, 004h, 004h, 007h, 007h, 007h 1276 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1277 db 007h, 007h, 0ffh, 0ffh, 000h, 007h, 000h, 000h 1278 db 000h, 000h, 000h, 000h, 007h, 007h, 007h, 007h 1279 db 007h, 0ffh, 000h, 007h, 007h, 007h, 007h, 007h 1280 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1281 db 007h, 007h, 004h, 004h, 007h, 007h, 007h, 007h 1282 db 007h, 007h, 007h, 001h, 001h, 001h, 001h, 001h 1283 db 004h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh 1284 db 004h, 007h, 007h, 001h, 001h, 001h, 001h, 001h 1285 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1286 db 007h, 007h, 007h, 001h, 001h, 001h, 001h, 001h 1287 db 000h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h 1288 db 007h, 007h, 007h, 001h, 001h, 001h, 001h, 001h 1289 db 007h, 000h, 0ffh, 0ddh, 0ddh, 0ddh, 0ddh, 0d6h 1290 db 0d6h, 0d6h, 0d6h, 0d6h, 0d6h, 000h, 092h, 007h 1291 db 007h, 007h, 007h, 000h, 007h, 007h, 007h, 007h 1292 db 007h, 007h, 007h, 007h, 007h, 007h, 0ech, 000h 1293 db 007h, 007h, 007h, 000h, 007h, 007h, 000h, 007h 1294 db 000h, 007h, 000h, 007h, 000h, 007h, 007h, 000h 1295 db 007h, 000h, 0ffh, 0ddh, 0ddh, 0ddh, 0ddh, 0d6h 1296 db 0d6h, 0d6h, 0d6h, 0d6h, 0d6h, 000h, 06dh, 007h 1297 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1298 db 007h, 007h, 004h, 0ffh, 0ffh, 004h, 007h, 007h 1299 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1300 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1301 db 007h, 007h, 0ffh, 0ffh, 000h, 007h, 007h, 007h 1302 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1303 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1304 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1305 db 007h, 007h, 004h, 004h, 004h, 004h, 004h, 004h 1306 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1307 db 004h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh 1308 db 004h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1309 db 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1310 db 000h, 000h, 007h, 007h, 007h, 001h, 007h, 007h 1311 db 000h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h 1312 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1313 db 007h, 000h, 0ffh, 0ddh, 0ddh, 0ddh, 0ddh, 0ddh 1314 db 0ddh, 0d6h, 0d6h, 0d6h, 0d6h, 000h, 092h, 007h 1315 db 007h, 007h, 007h, 000h, 007h, 0ech, 0ech, 0ech 1316 db 0ech, 0ech, 0ech, 0ech, 0ech, 0ech, 0ech, 000h 1317 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1318 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1319 db 007h, 000h, 0ffh, 0ddh, 0ddh, 0ddh, 0ddh, 0ddh 1320 db 0ddh, 0d6h, 0d6h, 0d6h, 0d6h, 000h, 06dh, 007h 1321 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1322 db 007h, 007h, 004h, 0ffh, 0ffh, 004h, 007h, 007h 1323 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1324 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1325 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1326 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1327 db 007h, 000h, 000h, 007h, 007h, 007h, 007h, 007h 1328 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1329 db 007h, 007h, 004h, 004h, 007h, 007h, 004h, 004h 1330 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1331 db 004h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh 1332 db 004h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1333 db 004h, 004h, 004h, 004h, 004h, 004h, 004h, 004h 1334 db 004h, 000h, 007h, 007h, 007h, 001h, 007h, 007h 1335 db 000h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h 1336 db 004h, 004h, 004h, 007h, 007h, 001h, 007h, 007h 1337 db 007h, 000h, 0ffh, 0ddh, 0ddh, 0ddh, 0ddh, 0ddh 1338 db 0ddh, 0ddh, 0d6h, 0d6h, 0d6h, 000h, 092h, 007h 1339 db 007h, 007h, 007h, 000h, 007h, 007h, 007h, 007h 1340 db 007h, 007h, 007h, 007h, 007h, 007h, 0ech, 000h 1341 db 007h, 007h, 007h, 000h, 007h, 007h, 000h, 007h 1342 db 000h, 007h, 000h, 007h, 000h, 007h, 007h, 000h 1343 db 007h, 000h, 0ffh, 0ddh, 0ddh, 0ddh, 0ddh, 0ddh 1344 db 0ddh, 0ddh, 0d6h, 0d6h, 0d6h, 000h, 06dh, 007h 1345 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1346 db 007h, 007h, 004h, 0ffh, 004h, 004h, 007h, 007h 1347 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1348 db 004h, 004h, 004h, 007h, 007h, 007h, 007h, 007h 1349 db 007h, 007h, 000h, 000h, 000h, 007h, 007h, 007h 1350 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1351 db 007h, 0ffh, 000h, 007h, 000h, 000h, 000h, 000h 1352 db 007h, 000h, 000h, 007h, 000h, 000h, 000h, 007h 1353 db 007h, 007h, 007h, 004h, 004h, 004h, 004h, 007h 1354 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1355 db 004h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh 1356 db 004h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1357 db 004h, 0ffh, 007h, 0ffh, 007h, 0ffh, 007h, 007h 1358 db 004h, 000h, 007h, 007h, 007h, 001h, 007h, 007h 1359 db 000h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h 1360 db 0fbh, 0ffh, 004h, 007h, 007h, 001h, 007h, 007h 1361 db 007h, 000h, 0ffh, 0ddh, 0ddh, 0ddh, 0ddh, 01fh 1362 db 01fh, 01fh, 0d6h, 0d6h, 0d6h, 000h, 092h, 007h 1363 db 000h, 007h, 007h, 000h, 007h, 0ech, 0ech, 0ech 1364 db 0ech, 0ech, 0ech, 0ech, 002h, 002h, 0ech, 000h 1365 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1366 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1367 db 007h, 000h, 0ffh, 0ddh, 0ddh, 0ddh, 0ddh, 0ddh 1368 db 0ddh, 0ddh, 0d6h, 0fbh, 0d6h, 000h, 06dh, 007h 1369 db 007h, 000h, 000h, 000h, 000h, 000h, 000h, 007h 1370 db 007h, 007h, 004h, 004h, 004h, 007h, 007h, 007h 1371 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1372 db 004h, 0ffh, 004h, 007h, 000h, 000h, 000h, 007h 1373 db 007h, 007h, 0ffh, 0ffh, 000h, 007h, 000h, 000h 1374 db 000h, 000h, 000h, 000h, 007h, 007h, 007h, 007h 1375 db 007h, 0ffh, 000h, 007h, 007h, 007h, 007h, 007h 1376 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1377 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1378 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1379 db 004h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh 1380 db 004h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1381 db 004h, 007h, 0ffh, 001h, 0ffh, 001h, 001h, 007h 1382 db 004h, 000h, 007h, 007h, 007h, 001h, 007h, 007h 1383 db 000h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h 1384 db 0ffh, 0fbh, 004h, 007h, 007h, 001h, 007h, 007h 1385 db 007h, 000h, 0ffh, 0ddh, 0ddh, 0ddh, 0ddh, 0ddh 1386 db 0ddh, 0ddh, 01fh, 0d6h, 0d6h, 000h, 092h, 007h 1387 db 007h, 000h, 007h, 000h, 007h, 000h, 0ech, 0ech 1388 db 0ech, 0ech, 0ech, 0ech, 0fah, 0fah, 0ech, 000h 1389 db 007h, 007h, 007h, 000h, 007h, 007h, 007h, 007h 1390 db 007h, 007h, 000h, 007h, 000h, 007h, 007h, 000h 1391 db 007h, 000h, 0ffh, 0ddh, 0ddh, 0ddh, 0ddh, 0ddh 1392 db 0ddh, 0ddh, 0d6h, 0fbh, 0d6h, 000h, 06dh, 007h 1393 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1394 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1395 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1396 db 004h, 004h, 007h, 007h, 007h, 007h, 007h, 007h 1397 db 007h, 007h, 0ffh, 0ffh, 000h, 007h, 000h, 000h 1398 db 000h, 000h, 000h, 000h, 007h, 007h, 007h, 007h 1399 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1400 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1401 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1402 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1403 db 004h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh 1404 db 004h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1405 db 004h, 0ffh, 007h, 001h, 007h, 001h, 007h, 0ffh 1406 db 004h, 000h, 007h, 007h, 007h, 001h, 007h, 007h 1407 db 000h, 0ffh, 0ffh, 0ffh, 000h, 000h, 000h, 000h 1408 db 0fbh, 0ffh, 004h, 007h, 007h, 001h, 007h, 007h 1409 db 007h, 000h, 0ffh, 0ddh, 0ddh, 0ddh, 0ddh, 0ddh 1410 db 0ddh, 0ddh, 0ddh, 01fh, 0d6h, 000h, 092h, 007h 1411 db 007h, 007h, 000h, 000h, 000h, 007h, 007h, 007h 1412 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 000h 1413 db 001h, 001h, 007h, 007h, 001h, 001h, 007h, 007h 1414 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1415 db 007h, 000h, 0ffh, 0ddh, 0ddh, 0ddh, 0ddh, 0ddh 1416 db 0fbh, 0ddh, 0ddh, 0fbh, 0d6h, 092h, 0fbh, 007h 1417 db 007h, 007h, 004h, 004h, 004h, 004h, 007h, 007h 1418 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1419 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1420 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1421 db 007h, 007h, 0ffh, 0ffh, 000h, 007h, 007h, 007h 1422 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1423 db 007h, 000h, 000h, 007h, 007h, 007h, 007h, 007h 1424 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1425 db 007h, 007h, 007h, 004h, 004h, 004h, 004h, 004h 1426 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1427 db 004h, 004h, 004h, 004h, 004h, 004h, 004h, 004h 1428 db 004h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1429 db 004h, 007h, 001h, 001h, 0ffh, 007h, 001h, 007h 1430 db 004h, 000h, 007h, 007h, 007h, 001h, 007h, 007h 1431 db 000h, 0ffh, 0ffh, 0ffh, 000h, 0ffh, 000h, 0fbh 1432 db 0ffh, 0fbh, 004h, 007h, 007h, 001h, 007h, 007h 1433 db 007h, 000h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh 1434 db 0ffh, 0ffh, 0ffh, 01fh, 0c3h, 000h, 007h, 007h 1435 db 000h, 000h, 007h, 007h, 000h, 000h, 000h, 000h 1436 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1437 db 007h, 001h, 001h, 001h, 001h, 007h, 007h, 000h 1438 db 007h, 000h, 007h, 000h, 007h, 000h, 007h, 000h 1439 db 007h, 000h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh 1440 db 0ffh, 0fbh, 0ffh, 0fbh, 0c3h, 0fbh, 007h, 007h 1441 db 007h, 007h, 004h, 0ffh, 0ffh, 004h, 007h, 007h 1442 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1443 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1444 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1445 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1446 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1447 db 007h, 0ffh, 000h, 007h, 000h, 000h, 000h, 000h 1448 db 007h, 000h, 000h, 007h, 000h, 000h, 000h, 007h 1449 db 007h, 007h, 004h, 004h, 007h, 007h, 004h, 004h 1450 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1451 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1452 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1453 db 004h, 0ffh, 007h, 001h, 007h, 001h, 001h, 0ffh 1454 db 004h, 000h, 007h, 007h, 007h, 001h, 007h, 007h 1455 db 000h, 0ffh, 0ffh, 0ffh, 000h, 000h, 0fbh, 0ffh 1456 db 0fbh, 0ffh, 004h, 007h, 007h, 001h, 007h, 007h 1457 db 007h, 000h, 0d6h, 0d6h, 0d6h, 0d6h, 0d6h, 0d6h 1458 db 0d6h, 000h, 000h, 01fh, 000h, 000h, 007h, 007h 1459 db 007h, 007h, 000h, 007h, 000h, 007h, 007h, 007h 1460 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1461 db 007h, 007h, 001h, 001h, 007h, 007h, 007h, 007h 1462 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1463 db 007h, 000h, 0d6h, 0d6h, 0d6h, 0d6h, 0d6h, 0d6h 1464 db 0d6h, 092h, 0fbh, 0fbh, 0fbh, 092h, 092h, 007h 1465 db 007h, 007h, 004h, 0ffh, 0ffh, 004h, 007h, 007h 1466 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1467 db 007h, 004h, 004h, 004h, 007h, 007h, 007h, 007h 1468 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1469 db 007h, 007h, 000h, 000h, 000h, 007h, 007h, 007h 1470 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1471 db 007h, 0ffh, 000h, 007h, 007h, 007h, 007h, 007h 1472 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1473 db 007h, 007h, 004h, 004h, 007h, 007h, 004h, 004h 1474 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1475 db 007h, 007h, 007h, 007h, 007h, 004h, 004h, 004h 1476 db 004h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1477 db 004h, 007h, 0ffh, 007h, 0ffh, 007h, 0ffh, 007h 1478 db 004h, 000h, 007h, 007h, 007h, 001h, 007h, 007h 1479 db 000h, 000h, 000h, 000h, 000h, 0fbh, 0ffh, 004h 1480 db 004h, 004h, 004h, 007h, 007h, 001h, 007h, 007h 1481 db 007h, 007h, 000h, 0d6h, 0d6h, 0d6h, 0d6h, 0d6h 1482 db 000h, 007h, 007h, 01fh, 007h, 007h, 007h, 007h 1483 db 007h, 000h, 007h, 000h, 007h, 000h, 007h, 007h 1484 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1485 db 007h, 001h, 001h, 001h, 001h, 007h, 007h, 007h 1486 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1487 db 007h, 007h, 000h, 0d6h, 0d6h, 0d6h, 0d6h, 0fbh 1488 db 0fbh, 0fbh, 0fbh, 0fbh, 0fbh, 0fbh, 0fbh, 0fbh 1489 db 007h, 007h, 004h, 0ffh, 004h, 004h, 007h, 007h 1490 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1491 db 007h, 004h, 0ffh, 004h, 007h, 000h, 000h, 000h 1492 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1493 db 007h, 007h, 0ffh, 0ffh, 000h, 007h, 000h, 000h 1494 db 000h, 000h, 000h, 000h, 007h, 007h, 007h, 007h 1495 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1496 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1497 db 007h, 007h, 007h, 004h, 004h, 004h, 004h, 004h 1498 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1499 db 007h, 007h, 007h, 007h, 007h, 004h, 0ffh, 0ffh 1500 db 004h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1501 db 004h, 004h, 004h, 004h, 004h, 004h, 004h, 004h 1502 db 004h, 000h, 007h, 007h, 007h, 001h, 007h, 007h 1503 db 007h, 007h, 007h, 004h, 0fbh, 0ffh, 0fbh, 004h 1504 db 0fbh, 004h, 007h, 007h, 007h, 001h, 007h, 007h 1505 db 007h, 007h, 007h, 000h, 000h, 000h, 000h, 000h 1506 db 007h, 007h, 007h, 01fh, 007h, 007h, 007h, 007h 1507 db 000h, 007h, 007h, 007h, 007h, 007h, 000h, 007h 1508 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1509 db 001h, 001h, 007h, 007h, 001h, 001h, 007h, 007h 1510 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1511 db 007h, 007h, 007h, 000h, 000h, 000h, 000h, 000h 1512 db 007h, 092h, 0fbh, 0fbh, 0fbh, 092h, 007h, 007h 1513 db 007h, 007h, 004h, 004h, 004h, 007h, 007h, 007h 1514 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1515 db 007h, 004h, 004h, 007h, 007h, 007h, 007h, 007h 1516 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1517 db 007h, 007h, 0ffh, 0ffh, 000h, 007h, 000h, 000h 1518 db 000h, 000h, 000h, 000h, 007h, 007h, 007h, 007h 1519 db 092h, 092h, 092h, 092h, 092h, 092h, 092h, 092h 1520 db 092h, 092h, 092h, 092h, 092h, 092h, 092h, 092h 1521 db 007h, 007h, 007h, 007h, 007h, 007h, 004h, 004h 1522 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1523 db 007h, 007h, 007h, 007h, 007h, 004h, 0ffh, 0ffh 1524 db 004h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1525 db 004h, 0fch, 004h, 0fch, 0fch, 0fch, 004h, 0fch 1526 db 004h, 000h, 007h, 007h, 007h, 001h, 007h, 007h 1527 db 007h, 007h, 007h, 004h, 0ffh, 0fbh, 0ffh, 004h 1528 db 004h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1529 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1530 db 007h, 01fh, 01fh, 01fh, 01fh, 01fh, 007h, 007h 1531 db 007h, 007h, 007h, 000h, 007h, 007h, 007h, 007h 1532 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1533 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1534 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1535 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1536 db 0ffh, 0fbh, 007h, 0fbh, 007h, 0fbh, 092h, 007h 1537 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1538 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1539 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1540 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1541 db 007h, 007h, 0ffh, 0ffh, 000h, 007h, 007h, 007h 1542 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1543 db 092h, 0ffh, 0ffh, 092h, 0ffh, 0ffh, 0ffh, 0ffh 1544 db 092h, 0ffh, 0ffh, 092h, 0ffh, 0ffh, 0ffh, 092h 1545 db 007h, 007h, 007h, 004h, 004h, 004h, 004h, 007h 1546 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1547 db 007h, 007h, 007h, 007h, 007h, 004h, 004h, 004h 1548 db 004h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1549 db 004h, 004h, 004h, 004h, 004h, 004h, 004h, 004h 1550 db 004h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1551 db 007h, 007h, 007h, 004h, 004h, 004h, 004h, 004h 1552 db 007h, 007h, 007h, 007h, 007h, 001h, 007h, 007h 1553 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1554 db 007h, 007h, 01fh, 01fh, 01fh, 007h, 007h, 007h 1555 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1556 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1557 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1558 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1559 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1560 db 0fbh, 007h, 007h, 0fbh, 007h, 007h, 0fbh, 007h 1561 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1562 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1563 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1564 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1565 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1566 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1567 db 092h, 092h, 092h, 092h, 092h, 092h, 092h, 092h 1568 db 092h, 092h, 092h, 092h, 092h, 092h, 092h, 092h 1569 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1570 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1571 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1572 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1573 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1574 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1575 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1576 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1577 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1578 db 007h, 007h, 007h, 01fh, 007h, 007h, 007h, 007h 1579 db 007h, 007h, 007h, 000h, 007h, 007h, 007h, 007h 1580 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1581 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1582 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1583 db 007h, 007h, 007h, 007h, 007h, 007h, 007h, 007h 1584 db 007h, 007h, 007h, 0fbh, 007h, 007h, 007h, 007h 1146 1585 1147 1586 align 4 … … 1750 2189 1751 2190 align 4 2191 _Resource_StrTab_261_0_data: 2192 db 005h, 000h, 043h, 000h, 06ch, 000h, 06fh, 000h 2193 db 073h, 000h, 065h, 000h, 000h, 000h, 000h, 000h 2194 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 2195 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 2196 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 2197 db 000h, 000h, 000h, 000h 2198 2199 align 4 1752 2200 _Resource_ResourceDescriptor: 1753 2201 public _Resource_ResourceDescriptor … … 1755 2203 dd _Resource_PEResTab 1756 2204 _Resource_NumberOfResources: 1757 dd 1 12205 dd 13 1758 2206 _Resource_ResourceSectionSize: 1759 2207 dd LResTabEnd - _Resource_PEResTab -
trunk/src/comctl32/rsrc.rc
r1565 r2126 12 12 PUSHBUTTON "Cancel", IDCANCEL,127,138,50,14 13 13 PUSHBUTTON "&Apply", IDC_APPLY_BUTTON,181,138,50,14 14 PUSHBUTTON "Help", IDHELP,235,138,50,14 15 CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS ,7,7,278,12514 PUSHBUTTON "Help", IDHELP,235,138,50,14,WS_TABSTOP|WS_GROUP 15 CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_TABSTOP,7,7,278,125 16 16 END 17 17 … … 26 26 PUSHBUTTON "< &Back", IDC_BACK_BUTTON,71,138,50,14 27 27 PUSHBUTTON "Cancel", IDCANCEL,178,138,50,14 28 PUSHBUTTON "Help", IDHELP,235,138,50,14 28 PUSHBUTTON "Help", IDHELP,235,138,50,14,WS_GROUP 29 29 LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN 30 30 CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 … … 69 69 } 70 70 71 IDT_CHECK BITMAP LOADONCALL DISCARDABLE 72 { 73 '42 4D 8E 01 00 00 00 00 00 00 5E 00 00 00 28 00' 74 '00 00 1F 00 00 00 10 00 00 00 01 00 04 00 02 00' 75 '00 00 30 01 00 00 01 00 00 00 01 00 00 00 0A 00' 76 '00 00 0A 00 00 00 00 00 00 00 00 00 80 00 00 80' 77 '00 00 80 00 00 00 C0 C0 C0 00 80 80 80 00 00 FF' 78 '00 00 00 FF FF 00 FF 00 00 00 FF FF FF 00 1F 99' 79 '00 00 01 99 0D 11 02 99 0E 11 01 99 00 00 01 99' 80 '0D 11 02 99 0E 11 01 99 00 00 01 99 02 11 09 99' 81 '02 11 02 99 02 11 0A 99 02 11 01 99 00 00 01 99' 82 '02 11 09 99 02 11 02 99 02 11 0A 99 02 11 01 99' 83 '00 00 01 99 02 11 09 99 02 11 02 99 02 11 03 99' 84 '02 00 05 99 02 11 01 99 00 00 01 99 02 11 09 99' 85 '02 11 02 99 02 11 03 99 03 00 04 99 02 11 01 99' 86 '00 00 01 99 02 11 09 99 02 11 02 99 02 11 02 99' 87 '04 00 04 99 02 11 01 99 00 00 01 99 02 11 09 99' 88 '02 11 02 99 02 11 01 99 02 00 02 99 02 00 03 99' 89 '02 11 01 99 00 00 01 99 02 11 09 99 02 11 02 99' 90 '02 11 02 00 04 99 02 00 02 99 02 11 01 99 00 00' 91 '01 99 02 11 09 99 02 11 02 99 02 11 01 00 06 99' 92 '02 00 01 99 02 11 01 99 00 00 01 99 02 11 09 99' 93 '02 11 02 99 02 11 07 99 02 00 01 99 01 00 01 11' 94 '01 99 00 00 01 99 02 11 09 99 02 11 02 99 02 11' 95 '08 99 01 00 01 99 01 00 01 11 01 99 00 00 01 99' 96 '0D 11 02 99 0A 11 02 00 02 11 01 99 00 00 01 99' 97 '0D 11 02 99 0E 11 01 99 00 00 1F 99 00 01' 98 } 99 100 STRINGTABLE DISCARDABLE 101 { 102 IDS_CLOSE "Close" 103 } 71 104 72 105 IDB_STD_SMALL BITMAP LOADONCALL DISCARDABLE … … 366 399 } 367 400 401 /* BINRES idb_view_small.bmp */ 368 402 IDB_VIEW_SMALL BITMAP LOADONCALL DISCARDABLE 369 403 { 370 '42 4D 2A 05 00 00 00 00 00 00 76 0000 00 28 00'371 '00 00 C0 00 00 00 10 00 00 00 01 00 0 4 00 0200'372 '00 00 B4 0400 00 00 00 00 00 00 00 00 00 00 00'404 '42 4D 36 10 00 00 00 00 00 00 36 04 00 00 28 00' 405 '00 00 C0 00 00 00 10 00 00 00 01 00 08 00 00 00' 406 '00 00 00 0C 00 00 00 00 00 00 00 00 00 00 00 00' 373 407 '00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80' 374 408 '00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80' 375 '00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF' 409 '00 00 C0 C0 C0 00 C0 DC C0 00 F0 CA A6 00 04 04' 410 '04 00 08 08 08 00 0C 0C 0C 00 11 11 11 00 16 16' 411 '16 00 1C 1C 1C 00 22 22 22 00 29 29 29 00 55 55' 412 '55 00 4D 4D 4D 00 42 42 42 00 39 39 39 00 80 7C' 413 'FF 00 50 50 FF 00 93 00 D6 00 FF EC CC 00 C6 D6' 414 'EF 00 D6 E7 E7 00 90 A9 AD 00 00 00 33 00 00 00' 415 '66 00 00 00 99 00 00 00 CC 00 00 33 00 00 00 33' 416 '33 00 00 33 66 00 00 33 99 00 00 33 CC 00 00 33' 417 'FF 00 00 66 00 00 00 66 33 00 00 66 66 00 00 66' 418 '99 00 00 66 CC 00 00 66 FF 00 00 99 00 00 00 99' 419 '33 00 00 99 66 00 00 99 99 00 00 99 CC 00 00 99' 420 'FF 00 00 CC 00 00 00 CC 33 00 00 CC 66 00 00 CC' 421 '99 00 00 CC CC 00 00 CC FF 00 00 FF 66 00 00 FF' 422 '99 00 00 FF CC 00 33 00 00 00 33 00 33 00 33 00' 423 '66 00 33 00 99 00 33 00 CC 00 33 00 FF 00 33 33' 424 '00 00 33 33 33 00 33 33 66 00 33 33 99 00 33 33' 425 'CC 00 33 33 FF 00 33 66 00 00 33 66 33 00 33 66' 426 '66 00 33 66 99 00 33 66 CC 00 33 66 FF 00 33 99' 427 '00 00 33 99 33 00 33 99 66 00 33 99 99 00 33 99' 428 'CC 00 33 99 FF 00 33 CC 00 00 33 CC 33 00 33 CC' 429 '66 00 33 CC 99 00 33 CC CC 00 33 CC FF 00 33 FF' 430 '33 00 33 FF 66 00 33 FF 99 00 33 FF CC 00 33 FF' 431 'FF 00 66 00 00 00 66 00 33 00 66 00 66 00 66 00' 432 '99 00 66 00 CC 00 66 00 FF 00 66 33 00 00 66 33' 433 '33 00 66 33 66 00 66 33 99 00 66 33 CC 00 66 33' 434 'FF 00 66 66 00 00 66 66 33 00 66 66 66 00 66 66' 435 '99 00 66 66 CC 00 66 99 00 00 66 99 33 00 66 99' 436 '66 00 66 99 99 00 66 99 CC 00 66 99 FF 00 66 CC' 437 '00 00 66 CC 33 00 66 CC 99 00 66 CC CC 00 66 CC' 438 'FF 00 66 FF 00 00 66 FF 33 00 66 FF 99 00 66 FF' 439 'CC 00 CC 00 FF 00 FF 00 CC 00 99 99 00 00 99 33' 440 '99 00 99 00 99 00 99 00 CC 00 99 00 00 00 99 33' 441 '33 00 99 00 66 00 99 33 CC 00 99 00 FF 00 99 66' 442 '00 00 99 66 33 00 99 33 66 00 99 66 99 00 99 66' 443 'CC 00 99 33 FF 00 99 99 33 00 99 99 66 00 99 99' 444 '99 00 99 99 CC 00 99 99 FF 00 99 CC 00 00 99 CC' 445 '33 00 66 CC 66 00 99 CC 99 00 99 CC CC 00 99 CC' 446 'FF 00 99 FF 00 00 99 FF 33 00 99 CC 66 00 99 FF' 447 '99 00 99 FF CC 00 99 FF FF 00 CC 00 00 00 99 00' 448 '33 00 CC 00 66 00 CC 00 99 00 CC 00 CC 00 99 33' 449 '00 00 CC 33 33 00 CC 33 66 00 CC 33 99 00 CC 33' 450 'CC 00 CC 33 FF 00 CC 66 00 00 CC 66 33 00 99 66' 451 '66 00 CC 66 99 00 CC 66 CC 00 99 66 FF 00 CC 99' 452 '00 00 CC 99 33 00 CC 99 66 00 CC 99 99 00 CC 99' 453 'CC 00 CC 99 FF 00 CC CC 00 00 CC CC 33 00 CC CC' 454 '66 00 CC CC 99 00 CC CC CC 00 CC CC FF 00 CC FF' 455 '00 00 CC FF 33 00 99 FF 66 00 CC FF 99 00 CC FF' 456 'CC 00 CC FF FF 00 CC 00 33 00 FF 00 66 00 FF 00' 457 '99 00 CC 33 00 00 FF 33 33 00 FF 33 66 00 FF 33' 458 '99 00 FF 33 CC 00 FF 33 FF 00 FF 66 00 00 FF 66' 459 '33 00 CC 66 66 00 FF 66 99 00 FF 66 CC 00 CC 66' 460 'FF 00 FF 99 00 00 FF 99 33 00 FF 99 66 00 FF 99' 461 '99 00 FF 99 CC 00 FF 99 FF 00 FF CC 00 00 FF CC' 462 '33 00 FF CC 66 00 FF CC 99 00 FF CC CC 00 FF CC' 463 'FF 00 FF FF 33 00 CC FF 66 00 FF FF 99 00 FF FF' 464 'CC 00 66 66 FF 00 66 FF 66 00 66 FF FF 00 FF 66' 465 '66 00 FF 66 FF 00 FF FF 66 00 21 00 A5 00 5F 5F' 466 '5F 00 77 77 77 00 86 86 86 00 96 96 96 00 CB CB' 467 'CB 00 B2 B2 B2 00 D7 D7 D7 00 DD DD DD 00 E3 E3' 468 'E3 00 EA EA EA 00 F1 F1 F1 00 F8 F8 F8 00 F0 FB' 469 'FF 00 A4 A0 A0 00 80 80 80 00 00 00 FF 00 00 FF' 376 470 '00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF' 377 '00 00 FF FF FF 00 C0 77 00 00 08 77 02 70 04 00' 378 '00 08 07 77 74 44 0A 77 00 04 44 47 04 77 00 04' 379 '44 47 04 77 00 18 47 70 00 07 00 07 00 07 77 74' 380 '44 47 04 77 00 04 71 77 08 44 00 06 47 77 71 00' 381 '0E 77 02 71 0E 77 02 71 14 77 02 70 0C 00 02 77' 382 '0E 70 0A 00 02 07 04 77 00 00 12 77 00 08 74 F4' 383 '70 00 06 77 00 10 4F 47 00 07 4F 47 00 07 12 77' 384 '00 06 44 77 44 00 04 77 00 06 11 17 4F 00 06 FF' 385 '00 08 47 77 11 17 0C 77 00 04 11 17 08 00 04 77' 386 '00 04 11 17 0E 00 00 08 07 77 70 78 08 88 02 80' 387 '10 77 02 0B 08 FB 02 07 04 77 00 00 0A 77 04 44' 388 '04 77 00 04 74 47 0A 77 02 44 06 77 02 44 06 77' 389 '00 14 47 70 00 07 00 07 00 07 77 44 06 77 02 71' 390 '04 11 02 4F 06 FF 00 04 47 71 04 11 0A 77 02 71' 391 '04 11 02 0F 04 FF 00 06 F0 77 71 00 04 11 02 0F' 392 '0C BF 00 06 07 77 70 00 0A 77 00 08 80 77 70 77' 393 '08 07 00 04 70 0F 08 BF 02 07 04 77 00 00 0A 77' 394 '00 04 4F F4 34 77 06 44 04 77 00 06 71 77 4F 00' 395 '06 FF 00 0A 47 77 71 77 70 00 08 00 00 08 77 71' 396 '77 0F 04 FF 02 F0 04 77 00 06 71 77 0B 00 0C FB' 397 '00 08 07 77 70 78 08 88 02 80 10 77 02 0B 08 FB' 398 '02 07 04 77 00 00 0A 77 00 04 4F F4 22 77 00 18' 399 '47 70 00 07 00 07 00 07 77 44 77 44 04 77 00 06' 400 '71 77 4F 00 06 FF 00 08 47 77 71 77 08 44 00 0A' 401 '40 77 71 77 0F 00 04 FF 00 10 F0 44 47 71 77 0F' 402 'BF B0 04 00 00 0A 0F BF 07 77 70 00 0A 77 00 08' 403 '80 77 70 77 08 07 00 04 70 0F 08 BF 00 06 07 70' 404 '77 00 00 00 0A 77 00 04 4F 44 0A 77 00 04 44 47' 405 '04 77 00 04 44 47 04 77 00 04 44 47 16 77 00 06' 406 '74 44 47 00 04 77 00 06 71 77 4F 00 06 FF 00 0A' 407 '47 77 71 77 4F 00 04 7F 00 0C 77 40 77 71 77 0F' 408 '04 FF 00 10 F0 BF 47 71 77 0B FB F0 08 FB 04 07' 409 '00 04 70 78 06 88 00 04 22 80 10 77 02 0B 08 FB' 410 '04 07 02 77 00 00 02 70 04 00 00 08 07 77 44 47' 411 '0A 77 00 28 4F 47 00 07 4F 47 00 07 4F 47 00 07' 412 '47 70 00 07 00 07 00 07 0C 77 00 06 71 77 4F 00' 413 '06 FF 00 0A 47 77 71 77 47 00 04 F1 00 0C 17 40' 414 '77 71 77 0F 04 FF 00 10 F0 FB 47 71 77 0F BF B0' 415 '08 BF 02 07 06 70 06 88 00 08 AA 80 77 70 06 77' 416 '04 07 00 04 70 0F 08 BF 02 00 04 77 00 00 18 77' 417 '02 44 06 77 02 44 06 77 02 44 22 77 00 06 71 77' 418 '4F 00 06 FF 00 0A 47 77 71 77 4F 00 04 71 00 0E' 419 '7F 40 77 71 77 0F FF 00 04 00 00 0C BF 47 71 77' 420 '0B F0 04 00 06 FB 00 08 07 77 00 07 08 77 00 08' 421 '70 11 77 11 0A 77 0A 00 02 77 04 07 00 00 02 77' 422 '04 44 2A 77 00 14 47 70 00 07 00 07 00 07 77 74' 423 '04 44 04 77 00 04 71 77 08 44 00 30 47 77 71 77' 424 '47 11 F7 17 40 77 71 77 0F FF 0F 0B FB 47 71 77' 425 '0F BF 00 0F 06 BF 00 06 07 00 77 00 0C 00 00 06' 426 '71 11 17 00 0C 70 04 BF 02 07 04 70 04 77 00 00' 427 '00 06 77 4F F4 00 3C 77 00 06 44 77 44 00 04 77' 428 '02 71 0E 77 00 06 71 77 4F 00 04 71 00 10 1F 40' 429 '77 71 77 0F FF 00 04 BF 00 0C 47 71 77 0B FB F0' 430 '08 FB 00 04 07 77 04 07 0C 77 02 11 0E 77 04 00' 431 '02 77 06 07 02 77 00 00 00 06 77 4F F4 00 0A 77' 432 '00 04 74 44 0C 77 00 04 44 47 04 77 00 04 44 47' 433 '04 77 10 44 00 08 77 44 77 44 04 77 02 71 06 77' 434 '00 0E 74 44 47 77 71 77 47 00 06 F7 00 08 40 77' 435 '71 77 04 00 00 0E 0B F4 44 47 71 77 0F 00 0C BF' 436 '02 07 06 70 0A 77 00 06 71 11 17 00 10 77 02 70' 437 '04 77 00 04 70 77 00 00 00 06 77 4F 44 00 0A 77' 438 '00 08 74 F4 70 00 08 77 00 10 4F 47 00 07 4F 47' 439 '00 07 12 77 02 74 04 44 04 77 02 71 06 77 00 0C' 440 '74 FF 47 77 71 77 08 44 00 06 40 77 71 00 04 77' 441 '00 04 74 BF 04 B4 00 06 77 71 77 00 0E 00 00 04' 442 '77 07 04 77 02 07 08 77 00 06 11 77 11 00 14 77' 443 '02 07 04 77 00 00 00 06 77 44 47 00 0A 77 00 04' 444 '74 47 0C 77 02 44 06 77 02 44 08 77 00 0E 70 00' 445 '07 00 07 00 07 00 06 77 02 44 04 77 02 71 06 77' 446 '00 0C 74 FF 47 77 71 77 04 4C 00 0A CC 4C 40 77' 447 '71 00 04 77 00 10 74 FB F4 47 77 71 77 70 04 BF' 448 '02 B0 0A 77 02 70 2C 77 00 00 42 77 00 06 74 44' 449 '47 00 04 77 02 71 06 77 00 0C 74 44 47 77 71 77' 450 '08 44 00 06 47 77 71 00 04 77 02 74 04 44 04 77' 451 '02 71 04 77 04 00 02 07 32 77 02 07 04 77 00 00' 452 '92 77 02 70 2C 77 00 00 00 01' 471 '00 00 FF FF FF 00 07 07 07 07 07 07 07 07 07 07' 472 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 473 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 474 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 475 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 476 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 477 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 478 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 479 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 480 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 481 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 482 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 483 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 00' 484 '00 00 00 00 00 07 07 07 07 04 04 04 07 07 07 07' 485 '07 07 07 07 07 07 07 07 00 00 00 07 07 07 07 07' 486 '07 07 07 07 07 07 07 00 00 07 07 07 07 07 07 07' 487 '07 07 07 07 07 07 07 07 07 04 04 04 04 07 07 07' 488 '07 07 07 01 07 07 04 04 04 04 04 04 04 04 04 07' 489 '07 07 07 01 07 07 07 07 07 07 07 07 07 07 07 07' 490 '07 07 07 01 07 07 07 07 07 07 07 07 07 07 07 07' 491 '07 07 07 01 07 07 07 07 92 92 92 92 92 92 92 92' 492 '92 92 92 92 92 07 07 07 07 00 00 00 00 00 00 00' 493 '00 00 00 00 00 00 07 07 07 00 07 00 07 00 07 00' 494 '07 00 07 00 07 00 07 07 6D 6D 6D 6D 6D 6D 6D 6D' 495 '6D 6D 6D 6D 6D 07 07 07 07 07 07 07 07 07 07 07' 496 '07 07 07 07 07 07 07 07 07 04 FF 04 07 00 00 00' 497 '07 07 07 07 07 07 07 07 FF FF 00 07 00 00 00 00' 498 '00 00 07 07 07 07 07 FF 00 07 00 00 00 00 07 00' 499 '00 07 00 00 00 07 07 07 04 04 07 07 04 04 07 07' 500 '07 07 01 01 01 07 04 FF FF FF FF FF FF FF 04 07' 501 '07 07 01 01 01 07 07 07 07 07 07 07 07 07 07 07' 502 '07 07 01 01 01 07 00 00 00 00 00 00 00 00 07 07' 503 '07 07 01 01 01 07 07 00 00 00 00 00 00 00 00 00' 504 '00 00 00 00 92 07 07 07 07 00 07 EC EC EC EC EC' 505 'EC EC EC EC EC 00 07 07 07 07 07 07 07 07 07 07' 506 '07 07 07 07 07 07 07 00 00 00 00 00 00 00 00 00' 507 '00 00 00 00 6D 07 07 07 07 07 07 07 07 07 07 07' 508 '04 04 04 04 07 07 07 07 07 04 04 07 07 07 07 07' 509 '07 07 07 07 07 07 07 07 FF FF 00 07 00 00 00 00' 510 '00 00 07 07 07 07 07 FF 00 07 07 07 07 07 07 07' 511 '07 07 07 07 07 07 07 07 04 04 07 07 07 07 07 07' 512 '07 01 01 01 01 01 04 FF FF FF FF FF FF FF 04 07' 513 '07 01 01 01 01 01 07 07 07 07 07 07 07 07 07 07' 514 '07 01 01 01 01 01 00 FF FF FF FF FF FF 00 07 07' 515 '07 01 01 01 01 01 07 00 FF DD DD DD DD D6 D6 D6' 516 'D6 D6 D6 00 92 07 07 07 07 00 07 07 07 07 07 07' 517 '07 07 07 07 EC 00 07 07 07 00 07 07 00 07 00 07' 518 '00 07 00 07 07 00 07 00 FF DD DD DD DD D6 D6 D6' 519 'D6 D6 D6 00 6D 07 07 07 07 07 07 07 07 07 07 07' 520 '04 FF FF 04 07 07 07 07 07 07 07 07 07 07 07 07' 521 '07 07 07 07 07 07 07 07 FF FF 00 07 07 07 07 07' 522 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 523 '07 07 07 07 07 07 07 07 04 04 04 04 04 04 07 07' 524 '07 07 07 01 07 07 04 FF FF FF FF FF FF FF 04 07' 525 '07 07 07 01 07 07 07 00 00 00 00 00 00 00 00 00' 526 '07 07 07 01 07 07 00 FF FF FF FF FF FF 00 07 07' 527 '07 07 07 01 07 07 07 00 FF DD DD DD DD DD DD D6' 528 'D6 D6 D6 00 92 07 07 07 07 00 07 EC EC EC EC EC' 529 'EC EC EC EC EC 00 07 07 07 07 07 07 07 07 07 07' 530 '07 07 07 07 07 07 07 00 FF DD DD DD DD DD DD D6' 531 'D6 D6 D6 00 6D 07 07 07 07 07 07 07 07 07 07 07' 532 '04 FF FF 04 07 07 07 07 07 07 07 07 07 07 07 07' 533 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 534 '07 07 07 07 07 07 07 00 00 07 07 07 07 07 07 07' 535 '07 07 07 07 07 07 07 07 04 04 07 07 04 04 07 07' 536 '07 07 07 01 07 07 04 FF FF FF FF FF FF FF 04 07' 537 '07 07 07 01 07 07 04 04 04 04 04 04 04 04 04 00' 538 '07 07 07 01 07 07 00 FF FF FF FF FF FF 00 04 04' 539 '04 07 07 01 07 07 07 00 FF DD DD DD DD DD DD DD' 540 'D6 D6 D6 00 92 07 07 07 07 00 07 07 07 07 07 07' 541 '07 07 07 07 EC 00 07 07 07 00 07 07 00 07 00 07' 542 '00 07 00 07 07 00 07 00 FF DD DD DD DD DD DD DD' 543 'D6 D6 D6 00 6D 07 07 07 07 07 07 07 07 07 07 07' 544 '04 FF 04 04 07 07 07 07 07 07 07 07 07 07 04 04' 545 '04 07 07 07 07 07 07 07 00 00 00 07 07 07 07 07' 546 '07 07 07 07 07 07 07 FF 00 07 00 00 00 00 07 00' 547 '00 07 00 00 00 07 07 07 07 04 04 04 04 07 07 07' 548 '07 07 07 01 07 07 04 FF FF FF FF FF FF FF 04 07' 549 '07 07 07 01 07 07 04 FF 07 FF 07 FF 07 07 04 00' 550 '07 07 07 01 07 07 00 FF FF FF FF FF FF 00 FB FF' 551 '04 07 07 01 07 07 07 00 FF DD DD DD DD 1F 1F 1F' 552 'D6 D6 D6 00 92 07 00 07 07 00 07 EC EC EC EC EC' 553 'EC EC 02 02 EC 00 07 07 07 07 07 07 07 07 07 07' 554 '07 07 07 07 07 07 07 00 FF DD DD DD DD DD DD DD' 555 'D6 FB D6 00 6D 07 07 00 00 00 00 00 00 07 07 07' 556 '04 04 04 07 07 07 07 07 07 07 07 07 07 07 04 FF' 557 '04 07 00 00 00 07 07 07 FF FF 00 07 00 00 00 00' 558 '00 00 07 07 07 07 07 FF 00 07 07 07 07 07 07 07' 559 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 560 '07 07 07 01 07 07 04 FF FF FF FF FF FF FF 04 07' 561 '07 07 07 01 07 07 04 07 FF 01 FF 01 01 07 04 00' 562 '07 07 07 01 07 07 00 FF FF FF FF FF FF 00 FF FB' 563 '04 07 07 01 07 07 07 00 FF DD DD DD DD DD DD DD' 564 '1F D6 D6 00 92 07 07 00 07 00 07 00 EC EC EC EC' 565 'EC EC FA FA EC 00 07 07 07 00 07 07 07 07 07 07' 566 '00 07 00 07 07 00 07 00 FF DD DD DD DD DD DD DD' 567 'D6 FB D6 00 6D 07 07 07 07 07 07 07 07 07 07 07' 568 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 04 04' 569 '07 07 07 07 07 07 07 07 FF FF 00 07 00 00 00 00' 570 '00 00 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 571 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 572 '07 07 07 01 07 07 04 FF FF FF FF FF FF FF 04 07' 573 '07 07 07 01 07 07 04 FF 07 01 07 01 07 FF 04 00' 574 '07 07 07 01 07 07 00 FF FF FF 00 00 00 00 FB FF' 575 '04 07 07 01 07 07 07 00 FF DD DD DD DD DD DD DD' 576 'DD 1F D6 00 92 07 07 07 00 00 00 07 07 07 07 07' 577 '07 07 07 07 07 00 01 01 07 07 01 01 07 07 07 07' 578 '07 07 07 07 07 07 07 00 FF DD DD DD DD DD FB DD' 579 'DD FB D6 92 FB 07 07 07 04 04 04 04 07 07 07 07' 580 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 581 '07 07 07 07 07 07 07 07 FF FF 00 07 07 07 07 07' 582 '07 07 07 07 07 07 07 00 00 07 07 07 07 07 07 07' 583 '07 07 07 07 07 07 07 07 07 04 04 04 04 04 07 07' 584 '07 07 07 01 07 07 04 04 04 04 04 04 04 04 04 07' 585 '07 07 07 01 07 07 04 07 01 01 FF 07 01 07 04 00' 586 '07 07 07 01 07 07 00 FF FF FF 00 FF 00 FB FF FB' 587 '04 07 07 01 07 07 07 00 FF FF FF FF FF FF FF FF' 588 'FF 1F C3 00 07 07 00 00 07 07 00 00 00 00 00 00' 589 '00 00 00 00 00 00 07 01 01 01 01 07 07 00 07 00' 590 '07 00 07 00 07 00 07 00 FF FF FF FF FF FF FF FB' 591 'FF FB C3 FB 07 07 07 07 04 FF FF 04 07 07 07 07' 592 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 593 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 594 '07 07 07 07 07 07 07 FF 00 07 00 00 00 00 07 00' 595 '00 07 00 00 00 07 07 07 04 04 07 07 04 04 07 07' 596 '07 07 07 01 07 07 07 07 07 07 07 07 07 07 07 07' 597 '07 07 07 01 07 07 04 FF 07 01 07 01 01 FF 04 00' 598 '07 07 07 01 07 07 00 FF FF FF 00 00 FB FF FB FF' 599 '04 07 07 01 07 07 07 00 D6 D6 D6 D6 D6 D6 D6 00' 600 '00 1F 00 00 07 07 07 07 00 07 00 07 07 07 07 07' 601 '07 07 07 07 07 07 07 07 01 01 07 07 07 07 07 07' 602 '07 07 07 07 07 07 07 00 D6 D6 D6 D6 D6 D6 D6 92' 603 'FB FB FB 92 92 07 07 07 04 FF FF 04 07 07 07 07' 604 '07 07 07 07 07 07 07 04 04 04 07 07 07 07 07 07' 605 '07 07 07 07 07 07 07 07 00 00 00 07 07 07 07 07' 606 '07 07 07 07 07 07 07 FF 00 07 07 07 07 07 07 07' 607 '07 07 07 07 07 07 07 07 04 04 07 07 04 04 07 07' 608 '07 07 07 01 07 07 07 07 07 07 07 04 04 04 04 07' 609 '07 07 07 01 07 07 04 07 FF 07 FF 07 FF 07 04 00' 610 '07 07 07 01 07 07 00 00 00 00 00 FB FF 04 04 04' 611 '04 07 07 01 07 07 07 07 00 D6 D6 D6 D6 D6 00 07' 612 '07 1F 07 07 07 07 07 00 07 00 07 00 07 07 07 07' 613 '07 07 07 07 07 07 07 01 01 01 01 07 07 07 07 07' 614 '07 07 07 07 07 07 07 07 00 D6 D6 D6 D6 FB FB FB' 615 'FB FB FB FB FB FB 07 07 04 FF 04 04 07 07 07 07' 616 '07 07 07 07 07 07 07 04 FF 04 07 00 00 00 07 07' 617 '07 07 07 07 07 07 07 07 FF FF 00 07 00 00 00 00' 618 '00 00 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 619 '07 07 07 07 07 07 07 07 07 04 04 04 04 04 07 07' 620 '07 07 07 01 07 07 07 07 07 07 07 04 FF FF 04 07' 621 '07 07 07 01 07 07 04 04 04 04 04 04 04 04 04 00' 622 '07 07 07 01 07 07 07 07 07 04 FB FF FB 04 FB 04' 623 '07 07 07 01 07 07 07 07 07 00 00 00 00 00 07 07' 624 '07 1F 07 07 07 07 00 07 07 07 07 07 00 07 07 07' 625 '07 07 07 07 07 07 01 01 07 07 01 01 07 07 07 07' 626 '07 07 07 07 07 07 07 07 07 00 00 00 00 00 07 92' 627 'FB FB FB 92 07 07 07 07 04 04 04 07 07 07 07 07' 628 '07 07 07 07 07 07 07 04 04 07 07 07 07 07 07 07' 629 '07 07 07 07 07 07 07 07 FF FF 00 07 00 00 00 00' 630 '00 00 07 07 07 07 92 92 92 92 92 92 92 92 92 92' 631 '92 92 92 92 92 92 07 07 07 07 07 07 04 04 07 07' 632 '07 07 07 01 07 07 07 07 07 07 07 04 FF FF 04 07' 633 '07 07 07 01 07 07 04 FC 04 FC FC FC 04 FC 04 00' 634 '07 07 07 01 07 07 07 07 07 04 FF FB FF 04 04 07' 635 '07 07 07 01 07 07 07 07 07 07 07 07 07 07 07 1F' 636 '1F 1F 1F 1F 07 07 07 07 07 00 07 07 07 07 07 07' 637 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 638 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 FF FB' 639 '07 FB 07 FB 92 07 07 07 07 07 07 07 07 07 07 07' 640 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 641 '07 07 07 07 07 07 07 07 FF FF 00 07 07 07 07 07' 642 '07 07 07 07 07 07 92 FF FF 92 FF FF FF FF 92 FF' 643 'FF 92 FF FF FF 92 07 07 07 04 04 04 04 07 07 07' 644 '07 07 07 01 07 07 07 07 07 07 07 04 04 04 04 07' 645 '07 07 07 01 07 07 04 04 04 04 04 04 04 04 04 07' 646 '07 07 07 01 07 07 07 07 07 04 04 04 04 04 07 07' 647 '07 07 07 01 07 07 07 07 07 07 07 07 07 07 07 07' 648 '1F 1F 1F 07 07 07 07 07 07 07 07 07 07 07 07 07' 649 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 650 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 FB 07' 651 '07 FB 07 07 FB 07 07 07 07 07 07 07 07 07 07 07' 652 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 653 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 654 '07 07 07 07 07 07 92 92 92 92 92 92 92 92 92 92' 655 '92 92 92 92 92 92 07 07 07 07 07 07 07 07 07 07' 656 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 657 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 658 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 659 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 660 '07 1F 07 07 07 07 07 07 07 00 07 07 07 07 07 07' 661 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 662 '07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07' 663 '07 FB 07 07 07 07' 453 664 } 454 665 -
trunk/src/comctl32/tab.c
r1615 r2126 1 /* $Id: tab.c,v 1.1 7 1999-11-05 13:01:33achimha Exp $ */1 /* $Id: tab.c,v 1.18 1999-12-18 20:57:00 achimha Exp $ */ 2 2 /* 3 3 * Tab control … … 15 15 */ 16 16 17 /* WINE 991031 level */ 17 /* inconsistent: report! */ 18 /* WINE 991212 level */ 18 19 19 20 #include <string.h> … … 849 850 INT oldBkMode; 850 851 INT cx,cy; 852 BOOL deleteBrush = TRUE; 851 853 852 854 if (lStyle & TCS_BUTTONS) … … 866 868 if (!(lStyle & TCS_OWNERDRAWFIXED)) 867 869 { 870 COLORREF bk = GetSysColor(COLOR_3DHILIGHT); 868 871 DeleteObject(hbr); 869 hbr = CreateSolidBrush(GetSysColor(COLOR_3DHILIGHT)); 872 hbr = GetSysColorBrush(COLOR_SCROLLBAR); 873 SetTextColor(hdc, GetSysColor(COLOR_3DFACE)); 874 SetBkColor(hdc, bk); 875 870 876 } 871 877 -
trunk/src/comctl32/toolbar.c
r1776 r2126 1 /* $Id: toolbar.c,v 1.1 8 1999-11-19 16:19:22achimha Exp $ */1 /* $Id: toolbar.c,v 1.19 1999-12-18 20:57:01 achimha Exp $ */ 2 2 /* 3 3 * Toolbar control … … 10 10 * - A little bug in TOOLBAR_DrawMasked() 11 11 * - Button wrapping (under construction). 12 * - Messages .12 * - Messages (under construction). 13 13 * - Notifications. 14 14 * - Fix TB_SETROWS. 15 15 * - Tooltip support (almost complete). 16 * - Fix TOOLBAR_SetButtonInfo32A. 16 * - Unicode support (under construction). 17 * - Fix TOOLBAR_SetButtonInfo32A/W. 17 18 * - Drag & drop of buttons 18 19 * … … 27 28 */ 28 29 29 /* WINE 991 114level */30 /* WINE 991212 level */ 30 31 31 32 /* CB: Odin32/WINE bugs … … 68 69 static void 69 70 TOOLBAR_DrawString (TOOLBAR_INFO *infoPtr, TBUTTON_INFO *btnPtr, 70 HDC hdc, INT nState )71 HDC hdc, INT nState, DWORD dwStyle) 71 72 { 72 73 RECT rcText = btnPtr->rect; … … 78 79 if ((btnPtr->iString > -1) && (btnPtr->iString < infoPtr->nNumStrings)) { 79 80 InflateRect (&rcText, -3, -3); 80 rcText.top += infoPtr->nBitmapHeight; 81 if (dwStyle & TBSTYLE_LIST) { 82 rcText.left += infoPtr->nBitmapWidth; 83 } 84 else { 85 rcText.top += infoPtr->nBitmapHeight; 86 } 81 87 if (nState & (TBSTATE_PRESSED | TBSTATE_CHECKED)) 82 88 OffsetRect (&rcText, 1, 1); … … 209 215 TOOLBAR_DrawMasked (infoPtr, btnPtr, hdc, rc.left+1, rc.top+1); 210 216 211 TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState );217 TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState, dwStyle); 212 218 return; 213 219 } … … 216 222 if (btnPtr->fsState & TBSTATE_PRESSED) 217 223 { 218 DrawEdge (hdc, &rc, EDGE_SUNKEN, BF_RECT | BF_MIDDLE | BF_ADJUST); 224 if (dwStyle & TBSTYLE_FLAT) 225 DrawEdge(hdc, &rc, BDR_SUNKENOUTER, BF_RECT | BF_MIDDLE | BF_ADJUST); 226 else 227 DrawEdge (hdc, &rc, EDGE_SUNKEN, BF_RECT | BF_MIDDLE | BF_ADJUST); 219 228 ImageList_Draw (infoPtr->himlDef, btnPtr->iBitmap, hdc, 220 229 rc.left+2, rc.top+2, ILD_NORMAL); 221 TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState );230 TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState, dwStyle); 222 231 return; 223 232 } … … 238 247 rc.left+2, rc.top+2, ILD_NORMAL); 239 248 240 TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState );249 TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState, dwStyle); 241 250 return; 242 251 } … … 250 259 TOOLBAR_DrawPattern (hdc, &rc); 251 260 TOOLBAR_DrawMasked (infoPtr, btnPtr, hdc, rc.left+1, rc.top+1); 252 TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState );261 TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState, dwStyle); 253 262 return; 254 263 } … … 258 267 { 259 268 if(btnPtr->bHot) 260 DrawEdge (hdc, &rc, BDR_RAISEDINNER, 261 BF_RECT | BF_MIDDLE | BF_SOFT); 269 DrawEdge (hdc, &rc, BDR_RAISEDINNER, BF_RECT | BF_MIDDLE); 262 270 263 271 if(btnPtr->bHot && infoPtr->himlHot) … … 276 284 } 277 285 278 TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState );286 TOOLBAR_DrawString (infoPtr, btnPtr, hdc, btnPtr->fsState, dwStyle); 279 287 } 280 288 … … 342 350 343 351 static void 344 TOOLBAR_WrapToolbar( HWND hwnd )352 TOOLBAR_WrapToolbar( HWND hwnd, DWORD dwStyle ) 345 353 { 346 354 TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd); 347 355 TBUTTON_INFO *btnPtr; 348 DWORD dwStyle = GetWindowLongA (hwnd, GWL_STYLE);349 356 INT x, cx, i, j; 350 357 RECT rc; … … 491 498 { 492 499 TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr(hwnd); 500 DWORD dwStyle = GetWindowLongA(hwnd, GWL_STYLE); 493 501 TBUTTON_INFO *btnPtr; 494 502 INT i, nRows, nSepRows; … … 500 508 TOOLBAR_CalcStrings (hwnd, &sizeString); 501 509 502 if (sizeString.cy > 0) 503 infoPtr->nButtonHeight = sizeString.cy + infoPtr->nBitmapHeight + 6; 504 else if (infoPtr->nButtonHeight < infoPtr->nBitmapHeight + 6) 505 infoPtr->nButtonHeight = infoPtr->nBitmapHeight + 6; 506 507 if (sizeString.cx > infoPtr->nBitmapWidth) 508 infoPtr->nButtonWidth = sizeString.cx + 6; 509 else if (infoPtr->nButtonWidth < infoPtr->nBitmapWidth + 6) 510 infoPtr->nButtonWidth = infoPtr->nBitmapWidth + 6; 511 512 TOOLBAR_WrapToolbar( hwnd ); 510 if (dwStyle & TBSTYLE_LIST) { 511 infoPtr->nButtonHeight = max(infoPtr->nBitmapHeight, sizeString.cy) + 6; 512 infoPtr->nButtonWidth = infoPtr->nBitmapWidth + sizeString.cx + 6; 513 } 514 else { 515 if (sizeString.cy > 0) 516 infoPtr->nButtonHeight = sizeString.cy + infoPtr->nBitmapHeight + 6; 517 else if (infoPtr->nButtonHeight < infoPtr->nBitmapHeight + 6) 518 infoPtr->nButtonHeight = infoPtr->nBitmapHeight + 6; 519 520 if (sizeString.cx > infoPtr->nBitmapWidth) 521 infoPtr->nButtonWidth = sizeString.cx + 6; 522 else if (infoPtr->nButtonWidth < infoPtr->nBitmapWidth + 6) 523 infoPtr->nButtonWidth = infoPtr->nBitmapWidth + 6; 524 } 525 526 TOOLBAR_WrapToolbar( hwnd, dwStyle ); 513 527 514 528 x = infoPtr->nIndent; 515 y = TOP_BORDER;529 y = (dwStyle & TBSTYLE_FLAT) ? 0: TOP_BORDER; 516 530 cx = infoPtr->nButtonWidth; 517 531 cy = infoPtr->nButtonHeight; … … 1557 1571 TOOLBAR_CustomizeDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 1558 1572 { 1559 TOOLBAR_INFO *infoPtr; 1573 TOOLBAR_INFO *infoPtr = (TOOLBAR_INFO *)GetWindowLongA (hwnd, DWL_USER); 1574 static HDSA hDsa = NULL; 1560 1575 1561 1576 switch (uMsg) 1562 1577 { 1563 case WM_INITDIALOG: 1564 return TBCUSTOMIZE_InitDialog(hwnd,wParam,lParam); 1565 1566 case WM_CLOSE: 1567 return TBCUSTOMIZE_Close(hwnd,wParam,lParam); 1568 1569 case WM_COMMAND: 1570 return TBCUSTOMIZE_Command(hwnd,wParam,lParam); 1571 1572 case WM_DESTROY: 1573 return TBCUSTOMIZE_Destroy(hwnd,wParam,lParam); 1574 1575 case WM_DRAWITEM: 1576 return TBCUSTOMIZE_DrawItem(hwnd,wParam,lParam); 1577 1578 case WM_MEASUREITEM: 1579 return TBCUSTOMIZE_MeasureItem(hwnd,wParam,lParam); 1580 1581 default: 1582 return FALSE; 1578 case WM_INITDIALOG: 1579 infoPtr = (TOOLBAR_INFO *)lParam; 1580 SetWindowLongA (hwnd, DWL_USER, (DWORD)infoPtr); 1581 1582 hDsa = DSA_Create (sizeof(TBUTTON_INFO), 5); 1583 1584 if (infoPtr) 1585 { 1586 TBUTTON_INFO *btnPtr; 1587 INT i; 1588 1589 /* insert 'virtual' separator button into 'available buttons' list */ 1590 SendDlgItemMessageA (hwnd, IDC_AVAILBTN_LBOX, LB_ADDSTRING, 0, (LPARAM)""); 1591 1592 /* copy all buttons and append them to the right listbox */ 1593 btnPtr = infoPtr->buttons; 1594 for (i = 0; i < infoPtr->nNumButtons; i++, btnPtr++) 1595 { 1596 DSA_InsertItem (hDsa, i, btnPtr); 1597 1598 /* FIXME: hidden buttons appear in the 'toolbar buttons' list too */ 1599 if (btnPtr->fsState & TBSTATE_HIDDEN) 1600 { 1601 SendDlgItemMessageA (hwnd, IDC_AVAILBTN_LBOX, LB_ADDSTRING, 0, (LPARAM)""); 1602 } 1603 else 1604 { 1605 SendDlgItemMessageA (hwnd, IDC_TOOLBARBTN_LBOX, LB_ADDSTRING, 0, (LPARAM)""); 1606 } 1607 } 1608 1609 /* append 'virtual' separator button to the 'toolbar buttons' list */ 1610 /* TODO */ 1611 } 1612 return TRUE; 1613 1614 case WM_CLOSE: 1615 EndDialog(hwnd, FALSE); 1616 return TRUE; 1617 1618 case WM_COMMAND: 1619 switch (LOWORD(wParam)) 1620 { 1621 case IDCANCEL: 1622 EndDialog(hwnd, FALSE); 1623 break; 1624 } 1625 return TRUE; 1626 1627 case WM_DESTROY: 1628 if (hDsa) 1629 DSA_Destroy (hDsa); 1630 return TRUE; 1631 1632 case WM_DRAWITEM: 1633 if (wParam == IDC_AVAILBTN_LBOX || wParam == IDC_TOOLBARBTN_LBOX) 1634 { 1635 LPDRAWITEMSTRUCT lpdis = (LPDRAWITEMSTRUCT)lParam; 1636 TBUTTON_INFO btnPtr; 1637 RECT rcButton; 1638 RECT rcText; 1639 HPEN hOldPen; 1640 HBRUSH hOldBrush; 1641 COLORREF oldText = 0; 1642 COLORREF oldBk = 0; 1643 1644 FIXME("action: %x itemState: %x\n", 1645 lpdis->itemAction, lpdis->itemState); 1646 1647 DSA_GetItem (hDsa, 0 /*lpdis->itemID*/, &btnPtr); 1648 1649 if (lpdis->itemState & ODS_FOCUS) 1650 { 1651 oldBk = SetBkColor (lpdis->hDC, GetSysColor(COLOR_HIGHLIGHT)); 1652 oldText = SetTextColor (lpdis->hDC, GetSysColor(COLOR_HIGHLIGHTTEXT)); 1653 } 1654 1655 hOldPen = SelectObject (lpdis->hDC, GetSysColorPen ((lpdis->itemState & ODS_SELECTED)?COLOR_HIGHLIGHT:COLOR_WINDOW)); 1656 hOldBrush = SelectObject (lpdis->hDC, GetSysColorBrush ((lpdis->itemState & ODS_FOCUS)?COLOR_HIGHLIGHT:COLOR_WINDOW)); 1657 1658 /* fill background rectangle */ 1659 Rectangle (lpdis->hDC, lpdis->rcItem.left, lpdis->rcItem.top, 1660 lpdis->rcItem.right, lpdis->rcItem.bottom); 1661 1662 /* calculate button and text rectangles */ 1663 CopyRect (&rcButton, &lpdis->rcItem); 1664 InflateRect (&rcButton, -1, -1); 1665 CopyRect (&rcText, &rcButton); 1666 rcButton.right = rcButton.left + infoPtr->nBitmapWidth + 6; 1667 rcText.left = rcButton.right + 2; 1668 1669 /* draw focus rectangle */ 1670 if (lpdis->itemState & ODS_FOCUS) 1671 DrawFocusRect (lpdis->hDC, &lpdis->rcItem); 1672 1673 /* draw button */ 1674 DrawEdge (lpdis->hDC, &rcButton, EDGE_RAISED, BF_RECT|BF_MIDDLE|BF_SOFT); 1675 1676 /* draw image and text */ 1677 if (wParam == IDC_AVAILBTN_LBOX && lpdis->itemID == 0) 1678 { 1679 /* virtual separator in the 'available' list */ 1680 DrawTextA (lpdis->hDC, "Separator", -1, &rcText, 1681 DT_LEFT | DT_VCENTER | DT_SINGLELINE); 1682 } 1683 else 1684 { 1685 /* real button */ 1686 1687 ImageList_Draw (infoPtr->himlDef, btnPtr.iBitmap, lpdis->hDC, 1688 rcButton.left+1, rcButton.top+1, ILD_NORMAL); 1689 1690 DrawTextW (lpdis->hDC, infoPtr->strings[btnPtr.iString], -1, &rcText, 1691 DT_LEFT | DT_VCENTER | DT_SINGLELINE); 1692 1693 } 1694 1695 if (lpdis->itemState & ODS_FOCUS) 1696 { 1697 SetBkColor (lpdis->hDC, oldBk); 1698 SetTextColor (lpdis->hDC, oldText); 1699 } 1700 1701 SelectObject (lpdis->hDC, hOldBrush); 1702 SelectObject (lpdis->hDC, hOldPen); 1703 1704 return TRUE; 1705 } 1706 return FALSE; 1707 1708 case WM_MEASUREITEM: 1709 if (wParam == IDC_AVAILBTN_LBOX || wParam == IDC_TOOLBARBTN_LBOX) 1710 { 1711 MEASUREITEMSTRUCT *lpmis = (MEASUREITEMSTRUCT*)lParam; 1712 1713 if (infoPtr) 1714 lpmis->itemHeight = infoPtr->nBitmapHeight + 8; 1715 else 1716 lpmis->itemHeight = 16 + 8; /* default height */ 1717 1718 return TRUE; 1719 } 1720 return FALSE; 1721 1722 default: 1723 return FALSE; 1583 1724 } 1584 1725 } … … 1795 1936 } 1796 1937 1797 1798 static LRESULT TOOLBAR_AddButtonsW(HWND hwnd,WPARAM wParam,LPARAM lParam) 1799 { 1800 //CB: just call AddButtonsA, no Unicode used?!? 1801 1802 return TOOLBAR_AddButtonsA(hwnd,wParam,lParam); 1803 } 1804 1805 /* << TOOLBAR_AddButtons32W >> */ 1938 static LRESULT 1939 TOOLBAR_AddButtonsW (HWND hwnd, WPARAM wParam, LPARAM lParam) 1940 { 1941 TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd); 1942 LPTBBUTTON lpTbb = (LPTBBUTTON)lParam; 1943 INT nOldButtons, nNewButtons, nAddButtons, nCount; 1944 1945 TRACE("adding %d buttons!\n", wParam); 1946 1947 nAddButtons = (UINT)wParam; 1948 nOldButtons = infoPtr->nNumButtons; 1949 nNewButtons = nOldButtons + nAddButtons; 1950 1951 if (infoPtr->nNumButtons == 0) { 1952 infoPtr->buttons = 1953 COMCTL32_Alloc (sizeof(TBUTTON_INFO) * nNewButtons); 1954 } 1955 else { 1956 TBUTTON_INFO *oldButtons = infoPtr->buttons; 1957 infoPtr->buttons = 1958 COMCTL32_Alloc (sizeof(TBUTTON_INFO) * nNewButtons); 1959 memcpy (&infoPtr->buttons[0], &oldButtons[0], 1960 nOldButtons * sizeof(TBUTTON_INFO)); 1961 COMCTL32_Free (oldButtons); 1962 } 1963 1964 infoPtr->nNumButtons = nNewButtons; 1965 1966 /* insert new button data */ 1967 for (nCount = 0; nCount < nAddButtons; nCount++) { 1968 TBUTTON_INFO *btnPtr = &infoPtr->buttons[nOldButtons+nCount]; 1969 btnPtr->iBitmap = lpTbb[nCount].iBitmap; 1970 btnPtr->idCommand = lpTbb[nCount].idCommand; 1971 btnPtr->fsState = lpTbb[nCount].fsState; 1972 btnPtr->fsStyle = lpTbb[nCount].fsStyle; 1973 btnPtr->dwData = lpTbb[nCount].dwData; 1974 btnPtr->iString = lpTbb[nCount].iString; 1975 btnPtr->bHot = FALSE; 1976 1977 if ((infoPtr->hwndToolTip) && !(btnPtr->fsStyle & TBSTYLE_SEP)) { 1978 TTTOOLINFOW ti; 1979 1980 ZeroMemory (&ti, sizeof(TTTOOLINFOW)); 1981 ti.cbSize = sizeof (TTTOOLINFOW); 1982 ti.hwnd = hwnd; 1983 ti.uId = btnPtr->idCommand; 1984 ti.hinst = 0; 1985 ti.lpszText = LPSTR_TEXTCALLBACKW; 1986 1987 SendMessageW (infoPtr->hwndToolTip, TTM_ADDTOOLW, 1988 0, (LPARAM)&ti); 1989 } 1990 } 1991 1992 TOOLBAR_CalcToolbar (hwnd); 1993 1994 InvalidateRect(hwnd, NULL, FALSE); 1995 1996 return TRUE; 1997 } 1806 1998 1807 1999 … … 1951 2143 1952 2144 static LRESULT 1953 TOOLBAR_AutoSize (HWND hwnd , WPARAM wParam, LPARAM lParam)2145 TOOLBAR_AutoSize (HWND hwnd) 1954 2146 { 1955 2147 TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd); … … 2218 2410 2219 2411 2220 /* << TOOLBAR_GetAnchorHighlight >> */ 2412 static LRESULT 2413 TOOLBAR_GetAnchorHighlight (HWND hwnd) 2414 { 2415 TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd); 2416 2417 return infoPtr->bAnchor; 2418 } 2221 2419 2222 2420 … … 2356 2554 } 2357 2555 2358 /* << TOOLBAR_GetButtonInfo32W >> */2359 2360 2556 2361 2557 static LRESULT … … 2447 2643 2448 2644 2449 /* << TOOLBAR_GetHotItem >> */ 2645 static LRESULT 2646 TOOLBAR_GetHotItem (HWND hwnd) 2647 { 2648 TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd); 2649 2650 if (!(GetWindowLongA (hwnd, GWL_STYLE) & TBSTYLE_FLAT)) 2651 return -1; 2652 2653 if (infoPtr->nHotItem < 0) 2654 return -1; 2655 2656 return (LRESULT)infoPtr->nHotItem; 2657 } 2450 2658 2451 2659 … … 2618 2826 } 2619 2827 2828 static LRESULT 2829 TOOLBAR_GetVersion (HWND hwnd) 2830 { 2831 TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd); 2832 return infoPtr->iVersion; 2833 } 2620 2834 2621 2835 static LRESULT … … 2687 2901 if (lpTbb == NULL) 2688 2902 return FALSE; 2689 if (nIndex < 0) 2690 return FALSE; 2903 2904 if (nIndex == -1) { 2905 /* EPP: this seems to be an undocumented call (from my IE4) 2906 * I assume in that case that: 2907 * - lpTbb->iString is a string pointer (not a string index in strings[] table 2908 * - index of insertion is at the end of existing buttons 2909 * I only see this happen with nIndex == -1, but it could have a special 2910 * meaning (like -nIndex (or ~nIndex) to get the real position of insertion). 2911 */ 2912 int len = lstrlenA((char*)lpTbb->iString) + 2; 2913 LPSTR ptr = COMCTL32_Alloc(len); 2914 2915 nIndex = infoPtr->nNumButtons; 2916 strcpy(ptr, (char*)lpTbb->iString); 2917 ptr[len - 1] = 0; /* ended by two '\0' */ 2918 lpTbb->iString = TOOLBAR_AddStringA(hwnd, 0, (LPARAM)ptr); 2919 COMCTL32_Free(ptr); 2920 2921 } else if (nIndex < 0) 2922 return FALSE; 2923 2691 2924 2692 2925 // TRACE (toolbar, "inserting button index=%d\n", nIndex); … … 2930 3163 2931 3164 /* << TOOLBAR_SaveRestore32W >> */ 2932 /* << TOOLBAR_SetAnchorHighlight >> */ 3165 3166 static LRESULT 3167 TOOLBAR_SetAnchorHighlight (HWND hwnd, WPARAM wParam) 3168 { 3169 TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd); 3170 BOOL bOldAnchor = infoPtr->bAnchor; 3171 3172 infoPtr->bAnchor = (BOOL)wParam; 3173 3174 return (LRESULT)bOldAnchor; 3175 } 2933 3176 2934 3177 … … 3155 3398 3156 3399 3157 /* << TOOLBAR_SetHotItem >> */ 3400 static LRESULT 3401 TOOLBAR_SetHotItem (HWND hwnd, WPARAM wParam) 3402 { 3403 TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr(hwnd); 3404 INT nOldHotItem = infoPtr->nHotItem; 3405 3406 if (GetWindowLongA (hwnd, GWL_STYLE) & TBSTYLE_FLAT) 3407 { 3408 infoPtr->nHotItem = (INT)wParam; 3409 3410 /* FIXME: What else must be done ??? */ 3411 3412 } 3413 3414 if (nOldHotItem < 0) 3415 return -1; 3416 3417 return (LRESULT)nOldHotItem; 3418 } 3158 3419 3159 3420 … … 3345 3606 } 3346 3607 3608 static LRESULT 3609 TOOLBAR_SetVersion (HWND hwnd, INT iVersion) 3610 { 3611 TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd); 3612 INT iOldVersion = infoPtr->iVersion; 3613 3614 infoPtr->iVersion = iVersion; 3615 3616 return iOldVersion; 3617 } 3347 3618 3348 3619 static LRESULT … … 3372 3643 infoPtr->hwndNotify = GetParent (hwnd); 3373 3644 infoPtr->bTransparent = (dwStyle & TBSTYLE_FLAT); 3374 infoPtr->dwDTFlags = DT_CENTER; 3645 infoPtr->dwDTFlags = (dwStyle & TBSTYLE_LIST) ? DT_LEFT | DT_VCENTER | DT_SINGLELINE : DT_CENTER; 3646 infoPtr->bAnchor = FALSE; /* no anchor highlighting */ 3647 infoPtr->iVersion = 0; 3375 3648 3376 3649 infoPtr->hwndToolbar = hwnd; … … 3446 3719 /* free toolbar info data */ 3447 3720 COMCTL32_Free (infoPtr); 3721 SetWindowLongA(hwnd, 0, 0); 3448 3722 3449 3723 return 0; … … 3526 3800 if (!(btnPtr->fsState & TBSTATE_ENABLED)) 3527 3801 return 0; 3802 3803 if (btnPtr->fsStyle & TBSTYLE_DROPDOWN) 3804 { 3805 NMTOOLBARA nmtb; 3806 3807 nmtb.hdr.hwndFrom = hwnd; 3808 nmtb.hdr.idFrom = GetWindowLongA (hwnd, GWL_ID); 3809 nmtb.hdr.code = TBN_DROPDOWN; 3810 nmtb.iItem = btnPtr->idCommand; 3811 3812 SendMessageA (infoPtr->hwndNotify, WM_NOTIFY, 3813 (WPARAM)nmtb.hdr.idFrom, (LPARAM)&nmtb); 3814 } 3528 3815 3529 3816 SetCapture (hwnd); … … 3597 3884 ReleaseDC (hwnd, hdc); 3598 3885 3599 if (bSendMessage) 3600 SendMessageA (infoPtr->hwndNotify, WM_COMMAND, 3601 MAKEWPARAM(btnPtr->idCommand, 0), (LPARAM)hwnd); 3886 if (bSendMessage) { 3887 SendMessageA (GetParent(hwnd), WM_COMMAND, 3888 MAKEWPARAM(btnPtr->idCommand, 0), (LPARAM)hwnd); 3889 3890 if ((GetWindowLongA(hwnd, GWL_STYLE) & TBSTYLE_DROPDOWN) || 3891 (btnPtr->fsStyle & 0x08/* BTNS_DROPDOWN */)) { 3892 NMTOOLBARW nmtb; 3893 3894 nmtb.hdr.hwndFrom = hwnd; 3895 nmtb.hdr.idFrom = GetWindowLongA (hwnd, GWL_ID); 3896 nmtb.hdr.code = TBN_DROPDOWN; 3897 nmtb.iItem = nHit; 3898 /* nmtb.tbButton not used with TBN_DROPDOWN */ 3899 if ((btnPtr->iString >= 0) && (btnPtr->iString < infoPtr->nNumStrings)) { 3900 nmtb.pszText = infoPtr->strings[btnPtr->iString]; 3901 nmtb.cchText = lstrlenW(nmtb.pszText); 3902 } else { 3903 nmtb.pszText = NULL; 3904 nmtb.cchText = 0; 3905 } 3906 nmtb.rcButton = btnPtr->rect; 3907 3908 SendMessageW(infoPtr->hwndNotify, WM_NOTIFY, 3909 (WPARAM)nmtb.hdr.idFrom, (LPARAM)&nmtb); 3910 } 3911 } 3602 3912 3603 3913 infoPtr->nButtonDown = -1; … … 3867 4177 3868 4178 static LRESULT 3869 TOOLBAR_StyleChanged (HWND hwnd, WPARAM wParam, LPARAM lParam) 3870 { 3871 TOOLBAR_AutoSize (hwnd, wParam, lParam); 4179 TOOLBAR_StyleChanged (HWND hwnd, INT nType, LPSTYLESTRUCT lpStyle) 4180 { 4181 TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd); 4182 4183 if (nType == GWL_STYLE) { 4184 if (lpStyle->styleNew & TBSTYLE_LIST) { 4185 infoPtr->dwDTFlags = DT_LEFT | DT_VCENTER | DT_SINGLELINE; 4186 } 4187 else { 4188 infoPtr->dwDTFlags = DT_CENTER; 4189 } 4190 } 4191 4192 TOOLBAR_AutoSize (hwnd); 3872 4193 3873 4194 InvalidateRect(hwnd, NULL, FALSE); … … 3881 4202 ToolbarWindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 3882 4203 { 4204 switch (uMsg) 4205 { 4206 case WM_DESTROY: 4207 return TOOLBAR_Destroy (hwnd, wParam, lParam); 4208 4209 case WM_NCCREATE: 4210 return TOOLBAR_NCCreate (hwnd, wParam, lParam); 4211 } 4212 4213 if (!TOOLBAR_GetInfoPtr (hwnd)) 4214 { 4215 return DefWindowProcA (hwnd, uMsg, wParam, lParam); 4216 } 4217 3883 4218 switch (uMsg) 3884 4219 { … … 3898 4233 return TOOLBAR_AddStringW (hwnd, wParam, lParam); 3899 4234 3900 3901 return TOOLBAR_AutoSize (hwnd, wParam, lParam);4235 case TB_AUTOSIZE: 4236 return TOOLBAR_AutoSize (hwnd); 3902 4237 3903 4238 case TB_BUTTONCOUNT: … … 3925 4260 return TOOLBAR_EnableButton (hwnd, wParam, lParam); 3926 4261 3927 /* case TB_GETANCHORHIGHLIGHT: */ /* 4.71 */ 4262 case TB_GETANCHORHIGHLIGHT: 4263 return TOOLBAR_GetAnchorHighlight (hwnd); 3928 4264 3929 4265 case TB_GETBITMAP: … … 3962 4298 return TOOLBAR_GetHotImageList (hwnd, wParam, lParam); 3963 4299 3964 /* case TB_GETHOTITEM: */ /* 4.71 */ 4300 case TB_GETHOTITEM: 4301 return TOOLBAR_GetHotItem (hwnd); 3965 4302 3966 4303 case TB_GETIMAGELIST: … … 3999 4336 case TB_GETUNICODEFORMAT: 4000 4337 return TOOLBAR_GetUnicodeFormat (hwnd, wParam, lParam); 4338 4339 case CCM_GETVERSION: 4340 return TOOLBAR_GetVersion (hwnd); 4001 4341 4002 4342 case TB_HIDEBUTTON: … … 4054 4394 return TOOLBAR_SaveRestoreW(hwnd,wParam,lParam); 4055 4395 4056 /* case TB_SETANCHORHIGHLIGHT: */ /* 4.71 */ 4396 case TB_SETANCHORHIGHLIGHT: 4397 return TOOLBAR_SetAnchorHighlight (hwnd, wParam); 4057 4398 4058 4399 case TB_SETBITMAPSIZE: … … 4088 4429 return TOOLBAR_SetHotImageList (hwnd, wParam, lParam); 4089 4430 4090 /* case TB_SETHOTITEM: */ /* 4.71 */ 4431 case TB_SETHOTITEM: 4432 return TOOLBAR_SetHotItem (hwnd, wParam); 4091 4433 4092 4434 case TB_SETIMAGELIST: … … 4124 4466 return TOOLBAR_SetUnicodeFormat (hwnd, wParam, lParam); 4125 4467 4468 case CCM_SETVERSION: 4469 return TOOLBAR_SetVersion (hwnd, (INT)wParam); 4126 4470 4127 4471 /* case WM_CHAR: */ … … 4130 4474 return TOOLBAR_Create (hwnd, wParam, lParam); 4131 4475 4132 case WM_DESTROY:4133 return TOOLBAR_Destroy (hwnd, wParam, lParam);4134 4135 4476 case WM_ERASEBKGND: 4136 4477 return TOOLBAR_EraseBackground (hwnd, wParam, lParam); … … 4160 4501 return TOOLBAR_NCCalcSize (hwnd, wParam, lParam); 4161 4502 4162 case WM_NCCREATE:4163 return TOOLBAR_NCCreate (hwnd, wParam, lParam);4164 4165 4503 case WM_NCPAINT: 4166 4504 return TOOLBAR_NCPaint (hwnd, wParam, lParam); … … 4177 4515 return TOOLBAR_Size (hwnd, wParam, lParam); 4178 4516 4179 4180 return TOOLBAR_StyleChanged (hwnd, wParam,lParam);4517 case WM_STYLECHANGED: 4518 return TOOLBAR_StyleChanged (hwnd, (INT)wParam, (LPSTYLESTRUCT)lParam); 4181 4519 4182 4520 /* case WM_SYSCOLORCHANGE: */
Note:
See TracChangeset
for help on using the changeset viewer.