Changeset 2126 for trunk/src/comctl32/comctl32undoc.c
- Timestamp:
- Dec 18, 1999, 9:57:01 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note:
See TracChangeset
for help on using the changeset viewer.