Release 980927
Sun Sep 27 14:25:38 1998 Petter Reinholdtsen <pere@td.org.uit.no>
* [files/drive.c]
Make sure GetDriveType32A() handles param NULL. Added some
doc on function.
Sun Sep 27 14:07:26 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [controls/edit.c] [windows/win.c]
Don't call SetWindowLong() in EDIT_WM_NCREATE.
Fix SetWindowLong(GWL_[EX]STYLE) to work for 16bit windows. Remove
UpdateWindow() call.
Sun Sep 27 13:41:22 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [scheduler/*.c] [server/event.c] [server/mutex.c]
[server/semaphore.c]
Implemented server-side synchronisation objects.
Sun Sep 27 01:13:35 1998 Alex Priem <alexp@sci.kun.nl>
* [dlls/comctl32/treeview.c] [include/treeview.h] [include/comctl.h]
Treeview implementation.
* [dlls/comctl32/trackbar.c] [include/trackbar.h]
Trackbar implementation.
Sat Sep 26 20:49:13 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [if1632/thunk.c] [tools/build.c] [win32/kernel32.c]
Bugfix: several problems with flat thunks fixed.
* [memory/selector.c]
Bugfix: IsBad...Ptr16 didn't work for limit_in_pages segments.
* [scheduler/thread.c]
Bugfix: CreateThread: Allow id parameter == NULL.
* [objects/gdiobj.c]
Bugfix: IsGDIObject: Return correct object type for stock objects.
* [msdos/dpmi.c]
Bugfix: fixed typo in INT_DoRealModeInt.
* [msdos/int21.c]
Bugfix: int21 READ *must* use WIN16_hread, not _hread16.
* [if1632/kernel.spec] [if1632/dummy.c] [if1632/thunk.c]
[loader/ne/module.c] [scheduler/event.c] [scheduler/synchro.c]
[scheduler/thread.c] [win32/kernel32.c] [win32/ordinals.c]
Added names/stubs for all undocumented KERNEL routines (Win95).
Added the following undoc. 16-bit equivalents to Win32 routines:
KERNEL.441-443,449-453,456-462,471-476,479-486,488.
Added stubs for some other KERNEL routines.
* [memory/heap.c] [memory/global.c] [include/global.h]
Implemented Local32... 32-bit local heap routines (KERNEL.208-215, 229).
* [miscemu/instr.c] [loader/module.c] [include/module.h]
Implemented __GP fault handling and HasGPHandler (KERNEL.338).
* [misc/error.c]
Implemented LogParamErrorRegs (KERNEL.327).
* [loader/task.c] [include/windows.h]
Implemented GetCodeInfo (KERNEL.104).
* [loader/task.c] [scheduler/thread.c] [include/thread.h]
Implemented [GS]etThreadQueue and [GS]etFastQueue (KERNEL.463/4, 624/5).
* [if1632/gdi.spec] [objects/dc.c] [objects/dib.c]
[objects/bitmap.c] [include/windows.h]
Bugfix: fixed wrong parameter for CreateDIBSection16.
Added [GS]etDIBColorTable16, stub for GetBoundsRect16.
Partially implemented BITMAP_GetObject16 for DIBs.
* [if1632/gdi.spec] [relay32/gdi32.spec] [objects/palette.c]
Added some GDI stubs.
* [if1632/Makefile.in] [if1632/display.spec] [if1632/mouse.spec]
[if1632/keyboard.spec] [if1632/builtin.c] [windows/keyboard.c]
Added some stubs for Win16 drivers: KEYBOARD, MOUSE, DISPLAY.
* [if1632/wprocs.spec] [msdos/vxd.c]
Added some stubs for VxDs: VMM, ConfigMG, TimerAPI.
* [msdos/int2f.c]
Added some stubs for real-mode network drivers.
Sat Sep 26 18:18:18 1998 Marcus Meissner <marcus@jet.franken.de>
* [configure.in]
Merged in some more of the FreeBSD ports/emulators/wine patches.
(Maintainer(s) of this port: You can just submit these
patches to Alexandre directly.)
* [loader/pe_image.c]
Check filesize of image against size derived from header
to spot truncated executeables without crashing.
* [files/directory.c]
Set envvar "COMSPEC". One win32(!!) program crashes without it.
* [multimedia/mmio.c]
Added mmioSetInfo32.
* [include/file.h]
Return STD_ERROR_HANDLE for AUX and PRT dos handles.
* [loader/module.c]
Handle executeables with spaces in their names a bit better in
CreateProcess.
* [relay32/msvfw32.spec][if1632/msvideo.spec][multimedia/msvideo.c][include/vfw.h]
Started on MS Video support (can load Win32 ICMs).
* [tools/testrun]
A bit smarter use of ps.
* [memory/virtual.c]
Report PAGE_GUARDed pages as PAGE_PROTECTED (AutoCAD LT R17 fails
without that check (since Win95 doesn't know about PAGE_GUARD)).
Sat Sep 26 15:04:05 1998 Ove Kaaven <ovek@arcticnet.no>
* [include/miscemu.h] [if1632/builtin.c] [loader/task.c]
[miscemu/instr.c] [msdos/dpmi.c] [msdos/int21.c]
[msdos/interrupts.c] [windows/user.c]
INT_[S|G]etHandler was renamed to INT_[S|G]etPMHandler.
Added handlers to deal with real-mode interrupts; DOS
programs are now able to hook real-mode interrupts.
* [loader/dos/module.c] [msdos/dosmem.c] [msdos/int21.c]
Moved real-mode interrupt table initialization to
msdos/dosmem.c, and made new V86 tasks get a full copy
of the existing "system memory" instead of almost empty
space. Misc fixes.
* [include/dosexe.h] [loader/dos/module.c] [msdos/dpmi.c]
[msdos/int2f.c]
First shot at letting DOS programs start up DPMI (but DPMI
is still disabled for DOS programs, for pkunzip's sake).
* [include/debugger.h] [debugger/break.c] [debugger/dbg.y]
[debugger/registers.c] [debugger/memory.c] [debugger/info.c]
[loader/dos/dosvm.c]
First shot at making Wine's debugger work for DOS programs.
The -debug flag works, as do "nexti" and "stepi".
Sat Sep 26 13:13:13 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [dlls/shell32/dataobject.c]
New classes IEnumFORMATETC implemented, IDataObject stubs.
* [dlls/shell32/*.*][relay32/shell32.spec]
Bugfixes.
New: ICM_InsertItem(), ILCreateFromPath().
Implemented: ILCloneFirst().
Stubs: ILIsEqual(), ILFindChild(), SHLogILFromFSIL(),
PathMatchSpec(), PathIsExe().
Changed: ILGetSize(), _ILIsDesktop(), PathCombine().
* [include/shlobj.h]
New SHLGUID's
New structures: DVTARGETDEVICE32, STGMEDIUM32, FORMATETC32,
CLIPFORMAT32.
New interfaces: IEnumFORMATETC, IDataObject, ICommDlgBrowser
IDockingWindowFrame, IServiceProvider.
* [dlls/shell32/folders.c]
Stubs for IShellLink.
* [loader/resource.c]
Small fixes.
* [misc/crtdll.c][relay32/crtdll.spec]
New __dllonexit().
* [windows/message.c]
SendNotifyMessageA, SendMessageCallBack32A half implemented.
* [controls/edit.c]
EDIT_WM_SetText set EF_UPDATE flag not for ES_MULTILINE.
* [files/file.c]
Handling of fileposition fixed.
Fri Sep 25 18:13:30 1998 Patrik Stridvall <ps@leissner.se>
* [include/windows.h] [include/wintypes.h]
[ole/ole2nls.h] [relay32/kernel32.spec]
Implemented EnumDateFormats and EnumTimeFormats.
Only adds US English support.
* [Makefile.in] [configure.in]
[dlls/Makefile.in] [dlls/psapi/Makefile.in]
[dlls/psapi/psapi_main.c]
New files to implement stubs for PSAPI.DLL (NT only).
* [relay32/Makefile.in] [relay32/builtin32.c]
[relay32/psapi.spec]
New spec file for PSAPI.DLL (NT only).
* [scheduler/handle.c]
HANDLE_GetObjPtr should only interpret the pseudo handles as the
current thread or the current process if a thread or a process is
requested.
* [include/winversion.h] [misc/version.c]
Adds the global function VERSION_GetVersion() so functions can
have different behavior depending on the -winver flag.
* [include/oledlg.h] [ole/oledlg.c]
Minor fixes.
* [windows/winproc.c]
Minor changes.
* [include/imm.h] [misc/imm.c]
Now returns correct values under both Windows 95 and NT 4.0.
Thu Sep 24 22:11:44 1998 Kristian Nielsen <kristian.nielsen@risoe.dk>
* [configure.in] [include/acconfig.h] [include/thread.h]
[scheduler/sysdeps.c]
Autoconfig test for non-reentrant libc.
Wed Sep 23 19:52:12 1998 Matthew Becker <mbecker@glasscity.net>
* [*/*.c]
Miscellaneous documentation updates and debugging output
standardizations.
* [objects/clipping.c]
Added ExtSelectClipRgn.
Wed Sep 23 00:03:28 EDT 1998 Pete Ratzlaff <pratzlaff@cfa.harvard.edu>
* [include/windows.h] [if1632/user.spec] [relay32/user32.spec]
[windows/keyboard.c]
Added, marginally implemented, GetKeyboardLayoutName().
Only returns US English keyboard name.
Tue Sep 22 16:32:41 1998 Marcel Baur <mbaur@iiic.ethz.ch>
* [programs/control/*]
New Winelib application.
Mon Sep 21 00:29:18 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/dplay.h][multimedia/dplay.c][ole/compobj.c]
Added all DirectPlayLobby interfaces and enhanced DirectPlay
and DirectPlayLobby support. Still not all that much. Useful
enough if you just need to start a program, don't try any
real dplay/lobby stuff.
* [documentation/status/directplay]
Added a very little bit.
* [graphics/ddraw.c]
- Call to SetWindowLong32A wasn't working because there was no
memory set aside when the window class was registered.
- Fixed some xlib reference counting and change the behaviour
of DirectDrawSurface3_SetPalette to mimic observed behaviour
(palette is associated will all backbuffers)
- Also stored all palette colour fields and spit back our saved
colour fields rather than query X for them.
- Added plenty of AddRef and Release traces.
- Added Xlib support for using -desktop option.
- Fixed Xlib message handling. Messages weren't being passed to
the application. Fixes mouse movements in some xlib DDraw games.
- Added a few stubs.
* [windows/win.c][include/winerror.h]
Fixed up some error handling in WIN_SetWindowLong. SetLastError
wasn't being used. Could cause problems with 0 return codes.
Added new error in winerror (1400).
* [AUTHORS] [include/authors.h]
Added myself as a Wine author.
Sun Sep 20 21:22:44 1998 Alexander Larsson <alla@lysator.liu.se>
* [loader/module.c]
Changed GetModuleFileName32A so that is returns the
long version of the filename. Note that just the name
is long, not the directories.
Sat Sep 19 20:05:30 1998 Per Ångström <pang@mind.nu>
* [controls/menu.c]
Made a couple of fixes to make life easier for applications that alter
their menus at runtime.
* [windows/defdlg.c]
Removed the cast of the return value from dialog procedures to a 16-bit
bool. The return value needs to retain all its 32 bits, since it is not
always a bool, such as when responding to the WM_NCHITTEST message.
Fri Sep 18 11:30:38 1998 Sergey Turchanov <turchanov@usa.net>
* [loader/resource.c]
Fixed very funny bug (though gravely affecting further excecution)
with FindResource[Ex]32 functions.
* [include/multimon.h] [windows/multimon.c] [relay32/user32.spec]
[include/windows.h] [windows/sysmetrics.c]
Default implementation for Multimonitor API.
* [include/windows.h] [windows/winpos.c]
Fixed incorrect declaration (and behaviour) of GetWindowRect32.
Wed Sep 16 10:21:15 1998 Gerard Patel <G.Patel@Wanadoo.fr>
* [controls/edit.c]
Fixed EDIT_EM_GetLine to use correctly length of lines.
Tue Sep 15 20:40:16 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [misc/tweak.c][include/tweak.h][controls/menu.c]
Replaced the tweak graphic routines by calls to DrawEdge32().
* [misc/tweak.c][include/tweak.h][documentation/win95look]
[wine.ini][*/*]
Changed "look and feel" selection. Allows Win3.1, Win95 and
Win98 (no GUI code implemented) look and feel.
* [dlls/comctl32/header.c][include/header.h][include/commctrl.h]
Started callback item support and did some minor improvements.
* [dlls/comctl32/imagelist.c]
Fixed bug in transparent image display.
ImageList_GetIcon is still buggy :-(
* [dlls/comctl32/toolbar.c]
Fixed button drawing (partial hack).
* [dlls/comctl32/commctrl.c]
Fixed MenuHelp().
* [controls/button.c]
Added 3d effect for groupbox.
* [windows/msgbox.c]
Added font support for message boxes.
* [windows/nonclient.c]
Fixed window moving bug.
* [dlls/comctl32/*.c]
Various improvements.
* [dlls/comctl32/listview.c][dlls/comctl32/rebar.c]
[include/commctrl.h]
More messages.
* [windows/syscolor.c][include/windows.h]
Introduced new Win98 system colors.
Tue Sep 15 18:29:45 1998 Wesley Filardo <eightknots@aol.com>
* [files/profile.c]
Added support in PROFILE_LoadWineIni for -config option
* [misc/main.c] [include/options.h]
Added -config option.
Tue Sep 15 18:22:26 1998 Petter Reinholdtsen <pere@td.org.uit.no>
* [documentation/Makefile.in]
Make sure directory exists before installing into it.
Tue Sep 15 01:47:33 1998 Pablo Saratxaga <pablo.sarachaga@ping.be>
* [ole/nls/*] [ole/ole2nls.c] [include/winnls.h]
Fixed a few errors and completed some NLS files.
Mon Sep 14 01:23:45 1998 Joseph Pranevich <knight@baltimore.wwaves.com>
* [include/miscemu.h] [msdos/interrupts.c]
Removed a compilation warning, added INT 25 to the list of interrupts
callable from DOS applications, added a debug message when unsupported
interrupts are used.
Sun Sep 13 19:55:22 1998 Lawson Whitney <lawson_whitney@juno.com>
* [if1632/relay.c]
CallProcEx32W should not reverse arguments.
Sun Aug 17 21:18:12 1998 Eric Pouech <eric.pouech@lemel.fr>
* [multimedia/midi.c] [multimedia/init.c] [multimedia/mmsys.c]
[include/multimedia.h] [include/mmsystem.h]
[multimedia/Makefile.in] [multimedia/midipatch.c]
[if1632/multimedia.spec]
Made MIDI input and output functional on OSS capable systems.
* [multimedia/timer.c]
Changes to trigger callbacks at the accurate pace even when
fake timers are used.
diff --git a/include/commctrl.h b/include/commctrl.h
index 4d41405..cf72b0c 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -415,26 +415,27 @@
#define HDM_GETITEMCOUNT (HDM_FIRST+0)
#define HDM_INSERTITEM32A (HDM_FIRST+1)
#define HDM_INSERTITEM32W (HDM_FIRST+10)
-#define HDM_INSERTITEM WINELIB_NAME_AW(HDM_INSERTITEM)
+#define HDM_INSERTITEM WINELIB_NAME_AW(HDM_INSERTITEM)
#define HDM_DELETEITEM (HDM_FIRST+2)
#define HDM_GETITEM32A (HDM_FIRST+3)
#define HDM_GETITEM32W (HDM_FIRST+11)
-#define HDM_GETITEM WINELIB_NAME_AW(HDM_GETITEM)
+#define HDM_GETITEM WINELIB_NAME_AW(HDM_GETITEM)
#define HDM_SETITEM32A (HDM_FIRST+4)
#define HDM_SETITEM32W (HDM_FIRST+12)
-#define HDM_SETITEM WINELIB_NAME_AW(HDM_SETITEM)
+#define HDM_SETITEM WINELIB_NAME_AW(HDM_SETITEM)
#define HDM_LAYOUT (HDM_FIRST+5)
#define HDM_HITTEST (HDM_FIRST+6)
#define HDM_GETITEMRECT (HDM_FIRST+7)
#define HDM_SETIMAGELIST (HDM_FIRST+8)
#define HDM_GETIMAGELIST (HDM_FIRST+9)
-
#define HDM_ORDERTOINDEX (HDM_FIRST+15)
#define HDM_CREATEDRAGIMAGE (HDM_FIRST+16)
#define HDM_GETORDERARRAY (HDM_FIRST+17)
#define HDM_SETORDERARRAY (HDM_FIRST+18)
#define HDM_SETHOTDIVIDER (HDM_FIRST+19)
+#define HDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
+#define HDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define HDN_FIRST (0U-300U)
#define HDN_LAST (0U-399U)
@@ -468,7 +469,6 @@
#define HDN_BEGINDRACK (HDN_FIRST-10)
#define HDN_ENDDRACK (HDN_FIRST-11)
-
typedef struct _HD_LAYOUT
{
RECT32 *prc;
@@ -477,7 +477,7 @@
#define HD_LAYOUT HDLAYOUT
-typedef struct _HD_ITEMA
+typedef struct _HD_ITEM32A
{
UINT32 mask;
INT32 cxy;
@@ -490,7 +490,7 @@
INT32 iOrder;
} HDITEM32A, *LPHDITEM32A;
-typedef struct _HD_ITEMW
+typedef struct _HD_ITEM32W
{
UINT32 mask;
INT32 cxy;
@@ -519,48 +519,91 @@
#define HD_HITTESTINFO HDHITTESTINFO
-typedef struct tagNMHEADERA
+typedef struct tagNMHEADER32A
{
NMHDR hdr;
INT32 iItem;
INT32 iButton;
HDITEM32A *pitem;
-} NMHEADERA, *LPNMHEADERA;
+} NMHEADER32A, *LPNMHEADER32A;
-#ifndef __WINE__
+typedef struct tagNMHEADER32W
+{
+ NMHDR hdr;
+ INT32 iItem;
+ INT32 iButton;
+ HDITEM32W *pitem;
+} NMHEADER32W, *LPNMHEADER32W;
+
+#define NMHEADER WINELIB_NAME_AW(NMHEADER)
+#define LPNMHEADER WINELIB_NAME_AW(LPNMHEADER)
+
+typedef struct tagNMHDDISPINFO32A
+{
+ NMHDR hdr;
+ INT32 iItem;
+ UINT32 mask;
+ LPSTR pszText;
+ INT32 cchTextMax;
+ INT32 iImage;
+ LPARAM lParam;
+} NMHDDISPINFO32A, *LPNMHDDISPINFO32A;
+
+typedef struct tagNMHDDISPINFO32W
+{
+ NMHDR hdr;
+ INT32 iItem;
+ UINT32 mask;
+ LPWSTR pszText;
+ INT32 cchTextMax;
+ INT32 iImage;
+ LPARAM lParam;
+} NMHDDISPINFO32W, *LPNMHDDISPINFO32W;
+
+#define NMHDDISPINFO WINELIB_NAME_AW(NMHDDISPINFO)
+#define LPNMHDDISPINFO WINELIB_NAME_AW(LPNMHDDISPINFO)
+
#define Header_GetItemCount(hwndHD) \
- (INT32)SNDMSG((hwndHD),HDM_GETITEMCOUNT,0,0L)
-#define Header_InsertItem(hwndHD,i,phdi) \
- (INT32)SNDMSG((hwndHD),HDM_INSERTITEM,(WPARAM32)(INT32)(i),(LPARAM)(const HDITEM *)(phdi))
+ (INT32)SendMessage32A((hwndHD),HDM_GETITEMCOUNT,0,0L)
+#define Header_InsertItem32A(hwndHD,i,phdi) \
+ (INT32)SendMessage32A((hwndHD),HDM_INSERTITEM32A,(WPARAM32)(INT32)(i),(LPARAM)(const HDITEM32A*)(phdi))
+#define Header_InsertItem32W(hwndHD,i,phdi) \
+ (INT32)SendMessage32W((hwndHD),HDM_INSERTITEM32W,(WPARAM32)(INT32)(i),(LPARAM)(const HDITEM32W*)(phdi))
+#define Header_InsertItem WINELIB_NAME_AW(Header_InsertItem)
#define Header_DeleteItem(hwndHD,i) \
- (BOOL32)SNDMSG((hwndHD),HDM_DELETEITEM,(WPARAM32)(INT32)(i),0L)
-#define Header_GetItem(hwndHD,i,phdi) \
- (BOOL32)SNDMSG((hwndHD),HDM_GETITEM,(WPARAM32)(INT32)(i),(LPARAM)(HDITEM *)(phdi))
-#define Header_SetItem(hwndHD,i,phdi) \
- (BOOL32)SNDMSG((hwndHD),HDM_SETITEM,(WPARAM32)(INT32)(i),(LPARAM)(const HDITEM *)(phdi))
+ (BOOL32)SendMessage32A((hwndHD),HDM_DELETEITEM,(WPARAM32)(INT32)(i),0L)
+#define Header_GetItem32A(hwndHD,i,phdi) \
+ (BOOL32)SendMessage32A((hwndHD),HDM_GETITEM32A,(WPARAM32)(INT32)(i),(LPARAM)(HDITEM32A*)(phdi))
+#define Header_GetItem32W(hwndHD,i,phdi) \
+ (BOOL32)SendMessage32W((hwndHD),HDM_GETITEM32W,(WPARAM32)(INT32)(i),(LPARAM)(HDITEM32W*)(phdi))
+#define Header_GetItem WINELIB_NAME_AW(Header_GetItem)
+#define Header_SetItem32A(hwndHD,i,phdi) \
+ (BOOL32)SendMessage32A((hwndHD),HDM_SETITEM32A,(WPARAM32)(INT32)(i),(LPARAM)(const HDITEM32A*)(phdi))
+#define Header_SetItem32W(hwndHD,i,phdi) \
+ (BOOL32)SendMessage32W((hwndHD),HDM_SETITEM32W,(WPARAM32)(INT32)(i),(LPARAM)(const HDITEM32W*)(phdi))
+#define Header_SetItem WINELIB_NAME_AW(Header_SetItem)
#define Header_Layout(hwndHD,playout) \
- (BOOL32)SNDMSG((hwndHD),HDM_LAYOUT,0,(LPARAM)(LPHDLAYOUT)(playout))
+ (BOOL32)SendMessage32A((hwndHD),HDM_LAYOUT,0,(LPARAM)(LPHDLAYOUT)(playout))
#define Header_GetItemRect(hwnd,iItem,lprc) \
- (BOOL32)SNDMSG((hwnd),HDM_GETITEMRECT,(WPARAM32)iItem,(LPARAM)lprc)
+ (BOOL32)SendMessage32A((hwnd),HDM_GETITEMRECT,(WPARAM32)iItem,(LPARAM)lprc)
#define Header_SetImageList(hwnd,himl) \
- (HIMAGELIST)SNDMSG((hwnd),HDM_SETIMAGELIST,0,(LPARAM)himl)
+ (HIMAGELIST)SendMessage32A((hwnd),HDM_SETIMAGELIST,0,(LPARAM)himl)
#define Header_GetImageList(hwnd) \
- (HIMAGELIST)SNDMSG((hwnd),HDM_GETIMAGELIST,0,0)
+ (HIMAGELIST)SendMessage32A((hwnd),HDM_GETIMAGELIST,0,0)
#define Header_OrderToIndex(hwnd,i) \
- (INT32)SNDMSG((hwnd),HDM_ORDERTOINDEX,(WPARAM32)i,0)
+ (INT32)SendMessage32A((hwnd),HDM_ORDERTOINDEX,(WPARAM32)i,0)
#define Header_CreateDragImage(hwnd,i) \
- (HIMAGELIST)SNDMSG((hwnd),HDM_CREATEDRAGIMAGE,(WPARAM32)i,0)
+ (HIMAGELIST)SendMessage32A((hwnd),HDM_CREATEDRAGIMAGE,(WPARAM32)i,0)
#define Header_GetOrderArray(hwnd,iCount,lpi) \
- (BOOL32)SNDMSG((hwnd),HDM_GETORDERARRAY,(WPARAM32)iCount,(LPARAM)lpi)
+ (BOOL32)SendMessage32A((hwnd),HDM_GETORDERARRAY,(WPARAM32)iCount,(LPARAM)lpi)
#define Header_SetOrderArray(hwnd,iCount,lpi) \
- (BOOL32)SNDMSG((hwnd),HDM_SETORDERARRAY,(WPARAM32)iCount,(LPARAM)lpi)
+ (BOOL32)SendMessage32A((hwnd),HDM_SETORDERARRAY,(WPARAM32)iCount,(LPARAM)lpi)
#define Header_SetHotDivider(hwnd,fPos,dw) \
- (INT32)SNDMSG((hwnd),HDM_SETHOTDIVIDER,(WPARAM32)fPos,(LPARAM)dw)
+ (INT32)SendMessage32A((hwnd),HDM_SETHOTDIVIDER,(WPARAM32)fPos,(LPARAM)dw)
#define Header_SetUnicodeFormat(hwnd,fUnicode) \
- (BOOL32)SNDMSG((hwnd),HDM_SETUNICODEFORMAT,(WPARAM32)(fUnicode),0)
+ (BOOL32)SendMessage32A((hwnd),HDM_SETUNICODEFORMAT,(WPARAM32)(fUnicode),0)
#define Header_GetUnicodeFormat(hwnd) \
- (BOOL32)SNDMSG((hwnd),HDM_GETUNICODEFORMAT,0,0)
-#endif /* #ifndef __WINE__ */
+ (BOOL32)SendMessage32A((hwnd),HDM_GETUNICODEFORMAT,0,0)
/* Toolbar */
@@ -602,7 +645,8 @@
#define TBIF_LPARAM 0x00000010
#define TBIF_COMMAND 0x00000020
#define TBIF_SIZE 0x00000040
-
+
+#define TBBF_LARGE 0x0001
#define TB_ENABLEBUTTON (WM_USER+1)
#define TB_CHECKBUTTON (WM_USER+2)
@@ -1342,6 +1386,330 @@
#define TVN_FIRST (0U-400U)
#define TVN_LAST (0U-499U)
+#define TVN_SELCHANGING (TVN_FIRST-1)
+#define TVN_SELCHANGED (TVN_FIRST-2)
+#define TVN_GETDISPINFO (TVN_FIRST-3)
+#define TVN_SETDISPINFO (TVN_FIRST-4)
+#define TVN_ITEMEXPANDING (TVN_FIRST-5)
+#define TVN_ITEMEXPANDED (TVN_FIRST-6)
+#define TVN_BEGINDRAG (TVN_FIRST-7)
+#define TVN_BEGINRDRAG (TVN_FIRST-8)
+#define TVN_DELETEITEM (TVN_FIRST-9)
+#define TVN_BEGINLABELEDIT (TVN_FIRST-10)
+#define TVN_ENDLABELEDIT (TVN_FIRST-11)
+#define TVN_KEYDOWN (TVN_FIRST-12)
+#define TVN_GETINFOTIPA (TVN_FIRST-13)
+#define TVN_GETINFOTIPW (TVN_FIRST-14)
+#define TVN_SINGLEEXPAND (TVN_FIRST-15)
+
+
+#define TVN_SELCHANGINGW (TVN_FIRST-50)
+#define TVN_SELCHANGEDW (TVN_FIRST-51)
+#define TVN_GETDISPINFOW (TVN_FIRST-52)
+#define TVN_SETDISPINFOW (TVN_FIRST-53)
+#define TVN_ITEMEXPANDINGW (TVN_FIRST-54)
+#define TVN_ITEMEXPANDEDW (TVN_FIRST-55)
+#define TVN_BEGINDRAGW (TVN_FIRST-56)
+#define TVN_BEGINRDRAGW (TVN_FIRST-57)
+#define TVN_DELETEITEMW (TVN_FIRST-58)
+#define TVN_BEGINLABELEDITW (TVN_FIRST-59)
+#define TVN_ENDLABELEDITW (TVN_FIRST-60)
+
+
+
+#define TVIF_TEXT 0x0001
+#define TVIF_IMAGE 0x0002
+#define TVIF_PARAM 0x0004
+#define TVIF_STATE 0x0008
+#define TVIF_HANDLE 0x0010
+#define TVIF_SELECTEDIMAGE 0x0020
+#define TVIF_CHILDREN 0x0040
+#define TVIF_INTEGRAL 0x0080
+#define TVIF_DI_SETITEM 0x1000
+
+#define TVI_ROOT 0xffff0000 /* -65536 */
+#define TVI_FIRST 0xffff0001 /* -65535 */
+#define TVI_LAST 0xffff0002 /* -65534 */
+#define TVI_SORT 0xffff0003 /* -65533 */
+
+#define TVIS_FOCUSED 0x0001
+#define TVIS_SELECTED 0x0002
+#define TVIS_CUT 0x0004
+#define TVIS_DROPHILITED 0x0008
+#define TVIS_BOLD 0x0010
+#define TVIS_EXPANDED 0x0020
+#define TVIS_EXPANDEDONCE 0x0040
+#define TVIS_OVERLAYMASK 0x0f00
+#define TVIS_STATEIMAGEMASK 0xf000
+#define TVIS_USERMASK 0xf000
+
+#define TVHT_NOWHERE 0x0001
+#define TVHT_ONITEMICON 0x0002
+#define TVHT_ONITEMLABEL 0x0004
+#define TVHT_ONITEMINDENT 0x0008
+#define TVHT_ONITEMBUTTON 0x0010
+#define TVHT_ONITEMRIGHT 0x0020
+#define TVHT_ONITEMSTATEICON 0x0040
+#define TVHT_ONITEM 0x0046
+#define TVHT_ABOVE 0x0100
+#define TVHT_BELOW 0x0200
+#define TVHT_TORIGHT 0x0400
+#define TVHT_TOLEFT 0x0800
+
+#define TVS_HASBUTTONS 0x0001
+#define TVS_HASLINES 0x0002
+#define TVS_LINESATROOT 0x0004
+#define TVS_EDITLABELS 0x0008
+#define TVS_DISABLEDRAGDROP 0x0010
+#define TVS_SHOWSELALWAYS 0x0020
+#define TVS_RTLREADING 0x0040
+#define TVS_NOTOOLTIPS 0x0080
+#define TVS_CHECKBOXES 0x0100
+#define TVS_TRACKSELECT 0x0200
+#define TVS_SINGLEEXPAND 0x0400
+#define TVS_INFOTIP 0x0800
+#define TVS_FULLROWSELECT 0x1000
+#define TVS_NOSCROLL 0x2000
+#define TVS_NONEVENHEIGHT 0x4000
+
+#define TVS_SHAREDIMAGELISTS 0x0000
+#define TVS_PRIVATEIMAGELISTS 0x0400
+
+
+#define TVE_COLLAPSE 0x0001
+#define TVE_EXPAND 0x0002
+#define TVE_TOGGLE 0x0003
+#define TVE_EXPANDPARTIAL 0x4000
+#define TVE_COLLAPSERESET 0x8000
+
+#define TVGN_ROOT 0
+#define TVGN_NEXT 1
+#define TVGN_PREVIOUS 2
+#define TVGN_PARENT 3
+#define TVGN_CHILD 4
+#define TVGN_FIRSTVISIBLE 5
+#define TVGN_NEXTVISIBLE 6
+#define TVGN_PREVIOUSVISIBLE 7
+#define TVGN_DROPHILITE 8
+#define TVGN_CARET 9
+#define TVGN_LASTVISIBLE 10
+
+#define TVC_UNKNOWN 0x00
+#define TVC_BYMOUSE 0x01
+#define TVC_BYKEYBOARD 0x02
+
+
+typedef HANDLE32 HTREEITEM;
+
+typedef struct {
+ UINT32 mask;
+ HTREEITEM hItem;
+ UINT32 state;
+ UINT32 stateMask;
+ LPSTR pszText;
+ int cchTextMax;
+ int iImage;
+ int iSelectedImage;
+ int cChildren;
+ LPARAM lParam;
+} TV_ITEM, *LPTVITEM;
+
+typedef struct {
+ UINT32 mask;
+ HTREEITEM hItem;
+ UINT32 state;
+ UINT32 stateMask;
+ LPSTR pszText;
+ int cchTextMax;
+ int iImage;
+ int iSelectedImage;
+ int cChildren;
+ LPARAM lParam;
+ int iIntegral;
+} TV_ITEMEX, *LPTVITEMEX;
+
+#define TVITEM TV_ITEM
+
+
+
+typedef struct tagTVINSERTSTRUCT {
+ HTREEITEM hParent;
+ HTREEITEM hInsertAfter;
+ TV_ITEM item;
+} TVINSERTSTRUCT, *LPTVINSERTSTRUCT;
+
+typedef struct tagNMTREEVIEW {
+ NMHDR hdr;
+ UINT32 action;
+ TVITEM itemOld;
+ TVITEM itemNew;
+ POINT32 ptDrag;
+} NMTREEVIEW, *LPNMTREEVIEW;
+
+typedef struct tagTVDISPINFO {
+ NMHDR hdr;
+ TVITEM item;
+} NMTVDISPINFO, *LPNMTVDISPINFO;
+
+
+
+typedef struct tagTVHITTESTINFO {
+ POINT32 pt;
+ UINT32 flags;
+ HTREEITEM hItem;
+} TVHITTESTINFO, *LPTVHITTESTINFO;
+
+
+#define TreeView_InsertItem(hwndHD, phdi) \
+ (INT32)SendMessage32A((hwnd), TVM_INSERTITEM, 0, \
+ (LPARAM)(LPTV_INSERTSTRUCT)(phdi))
+#define TreeView_DeleteItem(hwnd, hItem) \
+ (BOOL32)SendMessage32A((hwnd), TVM_DELETEITEM, 0, (LPARAM)(HTREEITEM)(hItem))
+#define TreeView_DeleteAllItems(hwnd) \
+ (BOOL32)SendMessage32A((hwnd), TVM_DELETEITEM, 0, (LPARAM)TVI_ROOT)
+#define TreeView_Expand(hwnd, hitem, code) \
+ (BOOL32)SendMessage32A((hwnd), TVM_EXPAND, (WPARAM)code, \
+ (LPARAM)(HTREEITEM)(hitem))
+
+#define TreeView_GetItemRect(hwnd, hitem, prc, code) \
+ (*(HTREEITEM *)prc = (hitem), (BOOL)SendMessage32A((hwnd), \
+ TVM_GETITEMRECT, (WPARAM32)(code), (LPARAM)(RECT *)(prc)))
+
+#define TreeView_GetCount(hwnd) \
+ (UINT32)SendMessage32A((hwnd), TVM_GETCOUNT, 0, 0)
+#define TreeView_GetIndent(hwnd) \
+ (UINT32)SendMessage32A((hwnd), TVM_GETINDENT, 0, 0)
+#define TreeView_SetIndent(hwnd, indent) \
+ (BOOL32)SendMessage32A((hwnd), TVM_SETINDENT, (WPARAM)indent, 0)
+
+#define TreeView_GetImageList(hwnd, iImage) \
+ (HIMAGELIST)SendMessage32A((hwnd), TVM_GETIMAGELIST, iImage, 0)
+
+#define TreeView_SetImageList(hwnd, himl, iImage) \
+ (HIMAGELIST)SendMessage32A((hwnd), TVM_SETIMAGELIST, iImage, \
+ (LPARAM)(UINT32)(HIMAGELIST)(himl))
+
+#define TreeView_GetNextItem(hwnd, hitem, code) \
+ (HTREEITEM)SendMessage32A((hwnd), TVM_GETNEXTITEM, (WPARAM)code,\
+(LPARAM)(HTREEITEM) (hitem))
+
+#define TreeView_GetChild(hwnd, hitem) \
+ TreeView_GetNextItem(hwnd, hitem , TVGN_CHILD)
+#define TreeView_GetNextSibling(hwnd, hitem) \
+ TreeView_GetNextItem(hwnd, hitem , TVGN_NEXT)
+#define TreeView_GetPrevSibling(hwnd, hitem) \
+ TreeView_GetNextItem(hwnd, hitem , TVGN_PREVIOUS)
+#define TreeView_GetParent(hwnd, hitem) \
+ TreeView_GetNextItem(hwnd, hitem , TVGN_PARENT)
+#define TreeView_GetFirstVisible(hwnd) \
+ TreeView_GetNextItem(hwnd, NULL, TVGN_FIRSTVISIBLE)
+#define TreeView_GetLastVisible(hwnd) \
+ TreeView_GetNextItem(hwnd, NULL, TVGN_LASTVISIBLE)
+#define TreeView_GetNextVisible(hwnd, hitem) \
+ TreeView_GetNextItem(hwnd, hitem , TVGN_NEXTVISIBLE)
+#define TreeView_GetPrevVisible(hwnd, hitem) \
+ TreeView_GetNextItem(hwnd, hitem , TVGN_PREVIOUSVISIBLE)
+#define TreeView_GetSelection(hwnd) \
+ TreeView_GetNextItem(hwnd, NULL, TVGN_CARET)
+#define TreeView_GetDropHilight(hwnd) \
+ TreeView_GetNextItem(hwnd, NULL, TVGN_DROPHILITE)
+#define TreeView_GetRoot(hwnd) \
+ TreeView_GetNextItem(hwnd, NULL, TVGN_ROOT)
+#define TreeView_GetLastVisible(hwnd) \
+ TreeView_GetNextItem(hwnd, NULL, TVGN_LASTVISIBLE)
+
+
+#define TreeView_Select(hwnd, hitem, code) \
+ (UINT32)SendMessage32A((hwnd), TVM_SELECTITEM, (WPARAM)code, \
+(LPARAM)(UINT32)(hitem))
+
+
+#define TreeView_SelectItem(hwnd, hitem) \
+ TreeView_Select(hwnd, hitem, TVGN_CARET)
+#define TreeView_SelectDropTarget(hwnd, hitem) \
+ TreeView_Select(hwnd, hitem, TVGN_DROPHILITE)
+/* FIXME
+#define TreeView_SelectSetFirstVisible(hwnd, hitem) \
+ TreeView_Select(hwnd, hitem, TVGN_FIRSTVISIBLE)
+*/
+
+#define TreeView_GetItem(hwnd, pitem) \
+ (BOOL32)SendMessage32A((hwnd), TVM_GETITEM, 0, (LPARAM) (TV_ITEM *)(pitem))
+
+#define TreeView_SetItem(hwnd, pitem) \
+ (BOOL32)SendMessage32A((hwnd), TVM_SETITEM, 0, (LPARAM)(const TV_ITEM *)(pitem))
+
+#define TreeView_EditLabel(hwnd, hitem) \
+ (HWND)SendMessage32A((hwnd), TVM_EDITLABEL, 0, (LPARAM)(HTREEITEM)(hitem))
+
+
+#define TreeView_GetEditControl(hwnd) \
+ (HWND)SendMessage32A((hwnd), TVM_GETEDITCONTROL, 0, 0)
+
+#define TreeView_GetVisibleCount(hwnd) \
+ (UINT32)SendMessage32A((hwnd), TVM_GETVISIBLECOUNT, 0, 0)
+
+#define TreeView_HitTest(hwnd, lpht) \
+ (HTREEITEM)SendMessage32A((hwnd), TVM_HITTEST, 0,\
+(LPARAM)(LPTV_HITTESTINFO)(lpht))
+
+#define TreeView_CreateDragImage(hwnd, hitem) \
+ (HIMAGELIST)SendMessage32A((hwnd), TVM_CREATEDRAGIMAGE, 0,\
+(LPARAM)(HTREEITEM)(hitem))
+
+#define TreeView_SortChildren(hwnd, hitem, recurse) \
+ (BOOL)SendMessage32A((hwnd), TVM_SORTCHILDREN, (WPARAM)recurse,\
+(LPARAM)(HTREEITEM)(hitem))
+
+#define TreeView_EnsureVisible(hwnd, hitem) \
+ (BOOL)SendMessage32A((hwnd), TVM_ENSUREVISIBLE, 0, (LPARAM)(UINT32)(hitem))
+
+#define TreeView_SortChildrenCB(hwnd, psort, recurse) \
+ (BOOL)SendMessage32A((hwnd), TVM_SORTCHILDRENCB, (WPARAM)recurse, \
+ (LPARAM)(LPTV_SORTCB)(psort))
+
+#define TreeView_EndEditLabelNow(hwnd, fCancel) \
+ (BOOL)SendMessage32A((hwnd), TVM_ENDEDITLABELNOW, (WPARAM)fCancel, 0)
+
+#define TreeView_GetISearchString(hwndTV, lpsz) \
+ (BOOL)SendMessage32A((hwndTV), TVM_GETISEARCHSTRING, 0, \
+ (LPARAM)(LPTSTR)lpsz)
+
+#define TreeView_SetItemHeight(hwnd, iHeight) \
+ (INT32)SendMessage32A((hwnd), TVM_SETITEMHEIGHT, (WPARAM)iHeight, 0)
+#define TreeView_GetItemHeight(hwnd) \
+ (INT32)SendMessage32A((hwnd), TVM_GETITEMHEIGHT, 0, 0)
+
+#define TreeView_SetBkColor(hwnd, clr) \
+ (COLORREF)SendMessage32A((hwnd), TVM_SETBKCOLOR, 0, (LPARAM)clr)
+
+#define TreeView_SetTextColor(hwnd, clr) \
+ (COLORREF)SendMessage32A((hwnd), TVM_SETTEXTCOLOR, 0, (LPARAM)clr)
+
+#define TreeView_GetBkColor(hwnd) \
+ (COLORREF)SendMessage32A((hwnd), TVM_GETBKCOLOR, 0, 0)
+
+#define TreeView_GetTextColor(hwnd) \
+ (COLORREF)SendMessage32A((hwnd), TVM_GETTEXTCOLOR, 0, 0)
+
+#define TreeView_SetScrollTime(hwnd, uTime) \
+ (UINT32)SendMessage32A((hwnd), TVM_SETSCROLLTIME, uTime, 0)
+
+#define TreeView_GetScrollTime(hwnd) \
+ (UINT32)SendMessage32A((hwnd), TVM_GETSCROLLTIME, 0, 0)
+
+#define TreeView_SetInsertMarkColor(hwnd, clr) \
+ (COLORREF)SendMessage32A((hwnd), TVM_SETINSERTMARKCOLOR, 0, (LPARAM)clr)
+#define TreeView_GetInsertMarkColor(hwnd) \
+ (COLORREF)SendMessage32A((hwnd), TVM_GETINSERTMARKCOLOR, 0, 0)
+
+
+
+
+
+
+
+
/* Listview control */
@@ -1456,14 +1824,63 @@
#define LVM_INSERTCOLUMN WINELIB_NAME_AW(LVM_INSERTCOLUMN)
#define LVM_DELETECOLUMN (LVM_FIRST+28)
#define LVM_GETCOLUMNWIDTH (LVM_FIRST+29)
-#define LVM_GETHEADER (LVM_FIRST+30)
+#define LVM_SETCOLUMNWIDTH (LVM_FIRST+30)
+#define LVM_GETHEADER (LVM_FIRST+31)
+#define LVM_CREATEDRAGIMAGE (LVM_FIRST+33)
+#define LVM_GETVIEWRECT (LVM_FIRST+34)
+#define LVM_GETTEXTCOLOR (LVM_FIRST+35)
+#define LVM_SETTEXTCOLOR (LVM_FIRST+36)
+#define LVM_GETTEXTBKCOLOR (LVM_FIRST+37)
+#define LVM_SETTEXTBKCOLOR (LVM_FIRST+38)
+#define LVM_GETTOPINDEX (LVM_FIRST+39)
+#define LVM_GETCOUNTPERPAGE (LVM_FIRST+40)
+#define LVM_GETORIGIN (LVM_FIRST+41)
+#define LVM_UPDATE (LVM_FIRST+42)
+#define LVM_SETITEMSTATE (LVM_FIRST+43)
+#define LVM_GETITEMSTATE (LVM_FIRST+44)
+#define LVM_GETITEMTEXT32A (LVM_FIRST+45)
+#define LVM_GETITEMTEXT32W (LVM_FIRST+115)
+#define LVM_GETITEMTEXT WINELIB_NAME_AW(LVM_GETITEMTEXT)
+#define LVM_SETITEMTEXT32A (LVM_FIRST+46)
+#define LVM_SETITEMTEXT32W (LVM_FIRST+116)
+#define LVM_SETITEMTEXT WINELIB_NAME_AW(LVM_SETITEMTEXT)
+#define LVM_SETITEMCOUNT (LVM_FIRST+47)
#define LVM_SORTITEMS (LVM_FIRST+48)
+#define LVM_SETITEMPOSITION32 (LVM_FIRST+49)
#define LVM_GETSELECTEDCOUNT (LVM_FIRST+50)
-
+#define LVM_GETITEMSPACING (LVM_FIRST+51)
+#define LVM_GETISEARCHSTRING32A (LVM_FIRST+52)
+#define LVM_GETISEARCHSTRING32W (LVM_FIRST+117)
+#define LVM_GETISEARCHSTRING WINELIB_NAME_AW(LVM_GETISEARCHSTRING)
+#define LVM_SETICONSPACING (LVM_FIRST+53)
#define LVM_SETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+54)
#define LVM_GETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+55)
+#define LVM_GETSUBITEMRECT (LVM_FIRST+56)
+#define LVM_SUBITEMHITTEST (LVM_FIRST+57)
+#define LVM_SETCOLUMNORDERARRAY (LVM_FIRST+58)
+#define LVM_GETCOLUMNORDERARRAY (LVM_FIRST+59)
+#define LVM_SETHOTITEM (LVM_FIRST+60)
+#define LVM_GETHOTITEM (LVM_FIRST+61)
+#define LVM_SETHOTCURSOR (LVM_FIRST+62)
+#define LVM_GETHOTCURSOR (LVM_FIRST+63)
+#define LVM_APPROXIMATEVIEWRECT (LVM_FIRST+64)
+#define LVM_SETWORKAREAS (LVM_FIRST+65)
+#define LVM_GETSELECTIONMARK (LVM_FIRST+66)
+#define LVM_SETSELECTIONMARK (LVM_FIRST+67)
+#define LVM_SETBKIMAGE32A (LVM_FIRST+68)
+#define LVM_SETBKIMAGE32W (LVM_FIRST+138)
+#define LVM_SETBKIMAGE WINELIB_NAME_AW(LVM_SETBKIMAGE)
+#define LVM_GETBKIMAGE32A (LVM_FIRST+69)
+#define LVM_GETBKIMAGE32W (LVM_FIRST+139)
+#define LVM_GETBKIMAGE WINELIB_NAME_AW(LVM_GETBKIMAGE)
+#define LVM_GETWORKAREAS (LVM_FIRST+70)
+#define LVM_SETHOVERTIME (LVM_FIRST+71)
+#define LVM_GETHOVERTIME (LVM_FIRST+72)
+#define LVM_GETNUMBEROFWORKAREAS (LVM_FIRST+73)
+#define LVM_SETTOOLTIPS (LVM_FIRST+74)
+#define LVM_GETTOOLTIPS (LVM_FIRST+78)
#define LVN_FIRST (0U-100U)
#define LVN_LAST (0U-199U)
@@ -1747,22 +2164,29 @@
#define ACN_START 1
#define ACN_STOP 2
-#ifndef __WINE__
-#define Animate_Create(hwndP,id,dwStyle,hInstance) \
- CreateWindow(ANIMATE_CLASS,NULL,dwStyle,0,0,0,0,hwndP,(HMENU32)(id),hInstance,NULL)
-#define Animate_Open(hwnd,szName) \
- (BOOL32)SNDMSG(hwnd,ACM_OPEN,0,(LPARAM)(LPTSTR)(szName))
-#define Animate_OpenEx(hwnd,hInst,szName) \
- (BOOL32)SNDMSG(hwnd,ACM_OPEN,(WPARAM32)hInst,(LPARAM)(LPTSTR)(szName))
+#define Animate_Create32A(hwndP,id,dwStyle,hInstance) \
+ CreateWindow32A(ANIMATE_CLASS32A,NULL,dwStyle,0,0,0,0,hwndP,(HMENU32)(id),hInstance,NULL)
+#define Animate_Create32W(hwndP,id,dwStyle,hInstance) \
+ CreateWindow32W(ANIMATE_CLASS32W,NULL,dwStyle,0,0,0,0,hwndP,(HMENU32)(id),hInstance,NULL)
+#define Animate_Create WINELIB_NAME_AW(Animate_Create)
+#define Animate_Open32A(hwnd,szName) \
+ (BOOL32)SendMessage32A(hwnd,ACM_OPEN32A,0,(LPARAM)(LPSTR)(szName))
+#define Animate_Open32W(hwnd,szName) \
+ (BOOL32)SendMessage32W(hwnd,ACM_OPEN32W,0,(LPARAM)(LPWSTR)(szName))
+#define Animate_Open WINELIB_NAME_AW(Animate_Open)
+#define Animate_OpenEx32A(hwnd,hInst,szName) \
+ (BOOL32)SendMessage32A(hwnd,ACM_OPEN32A,(WPARAM32)hInst,(LPARAM)(LPSTR)(szName))
+#define Animate_OpenEx32W(hwnd,hInst,szName) \
+ (BOOL32)SendMessage32W(hwnd,ACM_OPEN32W,(WPARAM32)hInst,(LPARAM)(LPWSTR)(szName))
+#define Animate_OpenEx WINELIB_NAME_AW(Animate_OpenEx)
#define Animate_Play(hwnd,from,to,rep) \
- (BOOL32)SNDMSG(hwnd,ACM_PLAY,(WPARAM32)(UINT32)(rep),(LPARAM)MAKELONG(from,to))
+ (BOOL32)SendMessage32A(hwnd,ACM_PLAY,(WPARAM32)(UINT32)(rep),(LPARAM)MAKELONG(from,to))
#define Animate_Stop(hwnd) \
- (BOOL32)SNDMSG(hwnd,ACM_STOP,0,0)
+ (BOOL32)SendMessage32A(hwnd,ACM_STOP,0,0)
#define Animate_Close(hwnd) \
- Animate_Open(hwnd,NULL)
+ (BOOL32)SendMessage32A(hwnd,ACM_OPEN32A,0,0)
#define Animate_Seek(hwnd,frame) \
- Animate_Play(hwnd,frame,frame,1)
-#endif /* __WINE__ */
+ (BOOL32)SendMessage32A(hwnd,ACM_PLAY,1,(LPARAM)MAKELONG(frame,frame))
@@ -1778,6 +2202,14 @@
DWORD WINAPI COMCTL32_GetSize (LPVOID lpMem);
+INT32 WINAPI Str_GetPtr32A (LPCSTR lpSrc, LPSTR lpDest, INT32 nMaxLen);
+BOOL32 WINAPI Str_SetPtr32A (LPSTR *lppDest, LPCSTR lpSrc);
+INT32 WINAPI Str_GetPtr32W (LPCWSTR lpSrc, LPWSTR lpDest, INT32 nMaxLen);
+BOOL32 WINAPI Str_SetPtr32W (LPWSTR *lppDest, LPCWSTR lpSrc);
+#define Str_GetPtr WINELIB_NAME_AW(Str_GetPtr)
+#define Str_SetPtr WINELIB_NAME_AW(Str_SetPtr)
+
+
/* Dynamic Storage Array */
typedef struct _DSA