2002-06-01 01:06:46 +02:00
|
|
|
/*
|
1997-08-24 18:00:30 +02:00
|
|
|
* Updown control
|
|
|
|
*
|
2002-04-01 22:57:44 +02:00
|
|
|
* Copyright 1997, 2002 Dimitrie O. Paun
|
1997-08-24 18:00:30 +02:00
|
|
|
*
|
2002-03-10 00:29:33 +01:00
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
2006-05-18 14:49:52 +02:00
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
2002-03-10 00:29:33 +01:00
|
|
|
*
|
2002-10-16 20:57:14 +02:00
|
|
|
* NOTE
|
|
|
|
*
|
|
|
|
* This code was audited for completeness against the documented features
|
|
|
|
* of Comctl32.dll version 6.0 on Sep. 9, 2002, by Dimitrie O. Paun.
|
|
|
|
*
|
|
|
|
* Unless otherwise noted, we believe this code to be complete, as per
|
|
|
|
* the specification mentioned above.
|
|
|
|
* If you discover missing features, or bugs, please note them below.
|
|
|
|
*
|
1997-08-24 18:00:30 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include <stdlib.h>
|
1999-02-19 16:42:11 +01:00
|
|
|
#include <string.h>
|
2003-09-06 01:08:26 +02:00
|
|
|
#include <stdarg.h>
|
2000-02-10 20:03:02 +01:00
|
|
|
#include <stdio.h>
|
1999-02-19 16:42:11 +01:00
|
|
|
|
2000-02-10 20:03:02 +01:00
|
|
|
#include "windef.h"
|
1999-05-22 13:22:36 +02:00
|
|
|
#include "winbase.h"
|
2000-02-10 20:03:02 +01:00
|
|
|
#include "wingdi.h"
|
1999-05-22 13:22:36 +02:00
|
|
|
#include "winuser.h"
|
1997-08-24 18:00:30 +02:00
|
|
|
#include "winnls.h"
|
2003-09-06 01:08:26 +02:00
|
|
|
#include "commctrl.h"
|
2003-09-17 22:15:21 +02:00
|
|
|
#include "comctl32.h"
|
2005-07-25 13:23:42 +02:00
|
|
|
#include "uxtheme.h"
|
2011-06-27 14:21:48 +02:00
|
|
|
#include "vssym32.h"
|
2002-05-16 20:58:47 +02:00
|
|
|
#include "wine/unicode.h"
|
2002-03-10 00:29:33 +01:00
|
|
|
#include "wine/debug.h"
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-03-10 00:29:33 +01:00
|
|
|
WINE_DEFAULT_DEBUG_CHANNEL(updown);
|
1999-04-19 16:56:29 +02:00
|
|
|
|
2000-08-09 02:41:17 +02:00
|
|
|
typedef struct
|
|
|
|
{
|
2002-03-28 23:05:18 +01:00
|
|
|
HWND Self; /* Handle to this up-down control */
|
2003-11-20 23:04:13 +01:00
|
|
|
HWND Notify; /* Handle to the parent window */
|
2005-03-25 11:27:11 +01:00
|
|
|
DWORD dwStyle; /* The GWL_STYLE for this window */
|
2002-03-28 23:05:18 +01:00
|
|
|
UINT AccelCount; /* Number of elements in AccelVect */
|
|
|
|
UDACCEL* AccelVect; /* Vector containing AccelCount elements */
|
|
|
|
INT AccelIndex; /* Current accel index, -1 if not accel'ing */
|
|
|
|
INT Base; /* Base to display nr in the buddy window */
|
|
|
|
INT CurVal; /* Current up-down value */
|
|
|
|
INT MinVal; /* Minimum up-down value */
|
|
|
|
INT MaxVal; /* Maximum up-down value */
|
|
|
|
HWND Buddy; /* Handle to the buddy window */
|
2002-04-01 22:57:44 +02:00
|
|
|
INT BuddyType; /* Remembers the buddy type BUDDY_TYPE_* */
|
2002-03-28 23:05:18 +01:00
|
|
|
INT Flags; /* Internal Flags FLAG_* */
|
2002-04-01 22:57:44 +02:00
|
|
|
BOOL UnicodeFormat; /* Marks the use of Unicode internally */
|
2000-08-09 02:41:17 +02:00
|
|
|
} UPDOWN_INFO;
|
|
|
|
|
1997-08-24 18:00:30 +02:00
|
|
|
/* Control configuration constants */
|
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
#define INITIAL_DELAY 500 /* initial timer until auto-inc kicks in */
|
|
|
|
#define AUTOPRESS_DELAY 250 /* time to keep arrow pressed on KEY_DOWN */
|
|
|
|
#define REPEAT_DELAY 50 /* delay between auto-increments */
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2009-12-03 11:38:27 +01:00
|
|
|
#define DEFAULT_WIDTH 16 /* default width of the ctrl */
|
2002-04-01 22:57:44 +02:00
|
|
|
#define DEFAULT_XSEP 0 /* default separation between buddy and ctrl */
|
|
|
|
#define DEFAULT_ADDTOP 0 /* amount to extend above the buddy window */
|
|
|
|
#define DEFAULT_ADDBOT 0 /* amount to extend below the buddy window */
|
|
|
|
#define DEFAULT_BUDDYBORDER 2 /* Width/height of the buddy border */
|
|
|
|
#define DEFAULT_BUDDYSPACER 2 /* Spacer between the buddy and the ctrl */
|
2005-07-25 13:23:42 +02:00
|
|
|
#define DEFAULT_BUDDYBORDER_THEMED 1 /* buddy border when theming is enabled */
|
|
|
|
#define DEFAULT_BUDDYSPACER_THEMED 0 /* buddy spacer when theming is enabled */
|
1997-08-24 18:00:30 +02:00
|
|
|
|
|
|
|
/* Work constants */
|
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
#define FLAG_INCR 0x01
|
|
|
|
#define FLAG_DECR 0x02
|
|
|
|
#define FLAG_MOUSEIN 0x04
|
|
|
|
#define FLAG_PRESSED 0x08
|
2009-09-20 01:57:09 +02:00
|
|
|
#define FLAG_BUDDYINT 0x10 /* UDS_SETBUDDYINT was set on creation */
|
2002-04-01 22:57:44 +02:00
|
|
|
#define FLAG_ARROW (FLAG_INCR | FLAG_DECR)
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
#define BUDDY_TYPE_UNKNOWN 0
|
|
|
|
#define BUDDY_TYPE_LISTBOX 1
|
|
|
|
#define BUDDY_TYPE_EDIT 2
|
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
#define TIMER_AUTOREPEAT 1
|
|
|
|
#define TIMER_ACCEL 2
|
|
|
|
#define TIMER_AUTOPRESS 3
|
|
|
|
|
2004-08-25 19:33:01 +02:00
|
|
|
#define UPDOWN_GetInfoPtr(hwnd) ((UPDOWN_INFO *)GetWindowLongPtrW (hwnd,0))
|
2002-03-28 23:05:18 +01:00
|
|
|
#define COUNT_OF(a) (sizeof(a)/sizeof(a[0]))
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
|
2009-12-22 00:42:31 +01:00
|
|
|
/* id used for SetWindowSubclass */
|
|
|
|
#define BUDDY_SUBCLASSID 1
|
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
static void UPDOWN_DoAction (UPDOWN_INFO *infoPtr, int delta, int action);
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_IsBuddyEdit
|
|
|
|
* Tests if our buddy is an edit control.
|
|
|
|
*/
|
2007-04-02 18:51:03 +02:00
|
|
|
static inline BOOL UPDOWN_IsBuddyEdit(const UPDOWN_INFO *infoPtr)
|
2002-03-28 23:05:18 +01:00
|
|
|
{
|
|
|
|
return infoPtr->BuddyType == BUDDY_TYPE_EDIT;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_IsBuddyListbox
|
|
|
|
* Tests if our buddy is a listbox control.
|
|
|
|
*/
|
2007-04-02 18:51:03 +02:00
|
|
|
static inline BOOL UPDOWN_IsBuddyListbox(const UPDOWN_INFO *infoPtr)
|
2002-03-28 23:05:18 +01:00
|
|
|
{
|
|
|
|
return infoPtr->BuddyType == BUDDY_TYPE_LISTBOX;
|
|
|
|
}
|
|
|
|
|
1997-08-24 18:00:30 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_InBounds
|
|
|
|
* Tests if a given value 'val' is between the Min&Max limits
|
|
|
|
*/
|
2007-04-02 18:51:03 +02:00
|
|
|
static BOOL UPDOWN_InBounds(const UPDOWN_INFO *infoPtr, int val)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2002-03-28 23:05:18 +01:00
|
|
|
if(infoPtr->MaxVal > infoPtr->MinVal)
|
|
|
|
return (infoPtr->MinVal <= val) && (val <= infoPtr->MaxVal);
|
|
|
|
else
|
|
|
|
return (infoPtr->MaxVal <= val) && (val <= infoPtr->MinVal);
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_OffsetVal
|
2002-03-28 23:05:18 +01:00
|
|
|
* Change the current value by delta.
|
2008-01-23 23:05:21 +01:00
|
|
|
* It returns TRUE is the value was changed successfully, or FALSE
|
2002-03-28 23:05:18 +01:00
|
|
|
* if the value was not changed, as it would go out of bounds.
|
1997-08-24 18:00:30 +02:00
|
|
|
*/
|
2002-02-05 19:08:01 +01:00
|
|
|
static BOOL UPDOWN_OffsetVal(UPDOWN_INFO *infoPtr, int delta)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2002-03-28 23:05:18 +01:00
|
|
|
/* check if we can do the modification first */
|
|
|
|
if(!UPDOWN_InBounds (infoPtr, infoPtr->CurVal+delta)) {
|
2005-03-25 11:27:11 +01:00
|
|
|
if (infoPtr->dwStyle & UDS_WRAP) {
|
2002-03-28 23:05:18 +01:00
|
|
|
delta += (delta < 0 ? -1 : 1) *
|
|
|
|
(infoPtr->MaxVal < infoPtr->MinVal ? -1 : 1) *
|
|
|
|
(infoPtr->MinVal - infoPtr->MaxVal) +
|
|
|
|
(delta < 0 ? 1 : -1);
|
2013-10-28 09:56:18 +01:00
|
|
|
} else if ((infoPtr->MaxVal > infoPtr->MinVal && infoPtr->CurVal+delta > infoPtr->MaxVal)
|
2013-10-16 16:34:19 +02:00
|
|
|
|| (infoPtr->MaxVal < infoPtr->MinVal && infoPtr->CurVal+delta < infoPtr->MaxVal)) {
|
|
|
|
delta = infoPtr->MaxVal - infoPtr->CurVal;
|
|
|
|
} else {
|
|
|
|
delta = infoPtr->MinVal - infoPtr->CurVal;
|
|
|
|
}
|
1999-03-12 18:40:32 +01:00
|
|
|
}
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
infoPtr->CurVal += delta;
|
2013-10-16 16:34:19 +02:00
|
|
|
return delta != 0;
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
1999-07-30 20:00:28 +02:00
|
|
|
/***********************************************************************
|
2002-03-28 23:05:18 +01:00
|
|
|
* UPDOWN_HasBuddyBorder
|
1999-07-30 20:00:28 +02:00
|
|
|
*
|
|
|
|
* When we have a buddy set and that we are aligned on our buddy, we
|
|
|
|
* want to draw a sunken edge to make like we are part of that control.
|
|
|
|
*/
|
2007-04-02 18:51:03 +02:00
|
|
|
static BOOL UPDOWN_HasBuddyBorder(const UPDOWN_INFO *infoPtr)
|
2002-06-01 01:06:46 +02:00
|
|
|
{
|
2005-03-25 11:27:11 +01:00
|
|
|
return ( ((infoPtr->dwStyle & (UDS_ALIGNLEFT | UDS_ALIGNRIGHT)) != 0) &&
|
2002-03-28 23:05:18 +01:00
|
|
|
UPDOWN_IsBuddyEdit(infoPtr) );
|
1999-07-30 20:00:28 +02:00
|
|
|
}
|
|
|
|
|
1997-08-24 18:00:30 +02:00
|
|
|
/***********************************************************************
|
1998-04-13 14:21:30 +02:00
|
|
|
* UPDOWN_GetArrowRect
|
1997-08-24 18:00:30 +02:00
|
|
|
* wndPtr - pointer to the up-down wnd
|
|
|
|
* rect - will hold the rectangle
|
2002-04-01 22:57:44 +02:00
|
|
|
* arrow - FLAG_INCR to get the "increment" rect (up or right)
|
|
|
|
* FLAG_DECR to get the "decrement" rect (down or left)
|
2008-01-23 23:05:21 +01:00
|
|
|
* If both flags are present, the envelope is returned.
|
1997-08-24 18:00:30 +02:00
|
|
|
*/
|
2007-04-02 18:51:03 +02:00
|
|
|
static void UPDOWN_GetArrowRect (const UPDOWN_INFO* infoPtr, RECT *rect, int arrow)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2005-07-25 13:23:42 +02:00
|
|
|
HTHEME theme = GetWindowTheme (infoPtr->Self);
|
|
|
|
const int border = theme ? DEFAULT_BUDDYBORDER_THEMED : DEFAULT_BUDDYBORDER;
|
|
|
|
const int spacer = theme ? DEFAULT_BUDDYSPACER_THEMED : DEFAULT_BUDDYSPACER;
|
2002-03-28 23:05:18 +01:00
|
|
|
GetClientRect (infoPtr->Self, rect);
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Make sure we calculate the rectangle to fit even if we draw the
|
|
|
|
* border.
|
|
|
|
*/
|
|
|
|
if (UPDOWN_HasBuddyBorder(infoPtr)) {
|
2005-03-25 11:27:11 +01:00
|
|
|
if (infoPtr->dwStyle & UDS_ALIGNLEFT)
|
2005-07-25 13:23:42 +02:00
|
|
|
rect->left += border;
|
2002-03-28 23:05:18 +01:00
|
|
|
else
|
2005-07-25 13:23:42 +02:00
|
|
|
rect->right -= border;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2005-07-25 13:23:42 +02:00
|
|
|
InflateRect(rect, 0, -border);
|
2002-03-28 23:05:18 +01:00
|
|
|
}
|
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
/* now figure out if we need a space away from the buddy */
|
2005-07-25 13:23:42 +02:00
|
|
|
if (IsWindow(infoPtr->Buddy) ) {
|
|
|
|
if (infoPtr->dwStyle & UDS_ALIGNLEFT) rect->right -= spacer;
|
2009-12-03 11:38:27 +01:00
|
|
|
else if (infoPtr->dwStyle & UDS_ALIGNRIGHT) rect->left += spacer;
|
2002-04-01 22:57:44 +02:00
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/*
|
|
|
|
* We're calculating the midpoint to figure-out where the
|
|
|
|
* separation between the buttons will lay. We make sure that we
|
|
|
|
* round the uneven numbers by adding 1.
|
|
|
|
*/
|
2005-03-25 11:27:11 +01:00
|
|
|
if (infoPtr->dwStyle & UDS_HORZ) {
|
2002-04-01 22:57:44 +02:00
|
|
|
int len = rect->right - rect->left + 1; /* compute the width */
|
|
|
|
if (arrow & FLAG_INCR)
|
2002-06-01 01:06:46 +02:00
|
|
|
rect->left = rect->left + len/2;
|
2002-04-01 22:57:44 +02:00
|
|
|
if (arrow & FLAG_DECR)
|
2005-07-25 13:23:42 +02:00
|
|
|
rect->right = rect->left + len/2 - (theme ? 0 : 1);
|
2002-03-28 23:05:18 +01:00
|
|
|
} else {
|
2002-04-01 22:57:44 +02:00
|
|
|
int len = rect->bottom - rect->top + 1; /* compute the height */
|
|
|
|
if (arrow & FLAG_INCR)
|
2005-07-25 13:23:42 +02:00
|
|
|
rect->bottom = rect->top + len/2 - (theme ? 0 : 1);
|
2002-04-01 22:57:44 +02:00
|
|
|
if (arrow & FLAG_DECR)
|
2002-03-28 23:05:18 +01:00
|
|
|
rect->top = rect->top + len/2;
|
|
|
|
}
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_GetArrowFromPoint
|
|
|
|
* Returns the rectagle (for the up or down arrow) that contains pt.
|
2005-07-25 13:23:42 +02:00
|
|
|
* If it returns the up rect, it returns FLAG_INCR.
|
|
|
|
* If it returns the down rect, it returns FLAG_DECR.
|
1997-08-24 18:00:30 +02:00
|
|
|
*/
|
2007-04-02 18:51:03 +02:00
|
|
|
static INT UPDOWN_GetArrowFromPoint (const UPDOWN_INFO *infoPtr, RECT *rect, POINT pt)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2002-04-01 22:57:44 +02:00
|
|
|
UPDOWN_GetArrowRect (infoPtr, rect, FLAG_INCR);
|
|
|
|
if(PtInRect(rect, pt)) return FLAG_INCR;
|
|
|
|
|
|
|
|
UPDOWN_GetArrowRect (infoPtr, rect, FLAG_DECR);
|
|
|
|
if(PtInRect(rect, pt)) return FLAG_DECR;
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
return 0;
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_GetThousandSep
|
|
|
|
* Returns the thousand sep. If an error occurs, it returns ','.
|
|
|
|
*/
|
2005-06-16 17:52:44 +02:00
|
|
|
static WCHAR UPDOWN_GetThousandSep(void)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2002-03-28 23:05:18 +01:00
|
|
|
WCHAR sep[2];
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
if(GetLocaleInfoW(LOCALE_USER_DEFAULT, LOCALE_STHOUSAND, sep, 2) != 1)
|
|
|
|
sep[0] = ',';
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
return sep[0];
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_GetBuddyInt
|
|
|
|
* Tries to read the pos from the buddy window and if it succeeds,
|
|
|
|
* it stores it in the control's CurVal
|
|
|
|
* returns:
|
|
|
|
* TRUE - if it read the integer from the buddy successfully
|
2002-02-27 02:34:08 +01:00
|
|
|
* FALSE - if an error occurred
|
1997-08-24 18:00:30 +02:00
|
|
|
*/
|
2002-02-05 19:08:01 +01:00
|
|
|
static BOOL UPDOWN_GetBuddyInt (UPDOWN_INFO *infoPtr)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2002-03-28 23:05:18 +01:00
|
|
|
WCHAR txt[20], sep, *src, *dst;
|
|
|
|
int newVal;
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2009-09-20 01:57:09 +02:00
|
|
|
if (!((infoPtr->Flags & FLAG_BUDDYINT) && IsWindow(infoPtr->Buddy)))
|
2002-03-28 23:05:18 +01:00
|
|
|
return FALSE;
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/*if the buddy is a list window, we must set curr index */
|
|
|
|
if (UPDOWN_IsBuddyListbox(infoPtr)) {
|
|
|
|
newVal = SendMessageW(infoPtr->Buddy, LB_GETCARETINDEX, 0, 0);
|
|
|
|
if(newVal < 0) return FALSE;
|
|
|
|
} else {
|
|
|
|
/* we have a regular window, so will get the text */
|
2005-03-18 15:09:12 +01:00
|
|
|
/* note that a zero-length string is a legitimate value for 'txt',
|
|
|
|
* and ought to result in a successful conversion to '0'. */
|
|
|
|
if (GetWindowTextW(infoPtr->Buddy, txt, COUNT_OF(txt)) < 0)
|
|
|
|
return FALSE;
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
sep = UPDOWN_GetThousandSep();
|
2002-03-28 23:05:18 +01:00
|
|
|
|
|
|
|
/* now get rid of the separators */
|
|
|
|
for(src = dst = txt; *src; src++)
|
|
|
|
if(*src != sep) *dst++ = *src;
|
|
|
|
*dst = 0;
|
|
|
|
|
|
|
|
/* try to convert the number and validate it */
|
2002-05-16 20:58:47 +02:00
|
|
|
newVal = strtolW(txt, &src, infoPtr->Base);
|
2002-03-28 23:05:18 +01:00
|
|
|
if(*src || !UPDOWN_InBounds (infoPtr, newVal)) return FALSE;
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
TRACE("new value(%d) from buddy (old=%d)\n", newVal, infoPtr->CurVal);
|
|
|
|
infoPtr->CurVal = newVal;
|
|
|
|
return TRUE;
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_SetBuddyInt
|
|
|
|
* Tries to set the pos to the buddy window based on current pos
|
|
|
|
* returns:
|
|
|
|
* TRUE - if it set the caption of the buddy successfully
|
2002-02-27 02:34:08 +01:00
|
|
|
* FALSE - if an error occurred
|
1997-08-24 18:00:30 +02:00
|
|
|
*/
|
2007-04-02 18:51:03 +02:00
|
|
|
static BOOL UPDOWN_SetBuddyInt (const UPDOWN_INFO *infoPtr)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2009-12-26 21:10:34 +01:00
|
|
|
static const WCHAR fmt_hex[] = { '0', 'x', '%', '0', '4', 'X', 0 };
|
|
|
|
static const WCHAR fmt_dec_oct[] = { '%', 'd', '\0' };
|
|
|
|
const WCHAR *fmt;
|
2009-12-22 19:58:27 +01:00
|
|
|
WCHAR txt[20], txt_old[20] = { 0 };
|
2002-03-28 23:05:18 +01:00
|
|
|
int len;
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2009-09-20 01:57:09 +02:00
|
|
|
if (!((infoPtr->Flags & FLAG_BUDDYINT) && IsWindow(infoPtr->Buddy)))
|
2005-03-25 11:27:11 +01:00
|
|
|
return FALSE;
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
TRACE("set new value(%d) to buddy.\n", infoPtr->CurVal);
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/*if the buddy is a list window, we must set curr index */
|
|
|
|
if (UPDOWN_IsBuddyListbox(infoPtr)) {
|
|
|
|
return SendMessageW(infoPtr->Buddy, LB_SETCURSEL, infoPtr->CurVal, 0) != LB_ERR;
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/* Regular window, so set caption to the number */
|
2009-12-26 21:10:34 +01:00
|
|
|
fmt = (infoPtr->Base == 16) ? fmt_hex : fmt_dec_oct;
|
2002-05-29 21:25:50 +02:00
|
|
|
len = wsprintfW(txt, fmt, infoPtr->CurVal);
|
1997-08-24 18:00:30 +02:00
|
|
|
|
|
|
|
|
2003-06-18 05:30:39 +02:00
|
|
|
/* Do thousands separation if necessary */
|
2009-09-19 17:40:10 +02:00
|
|
|
if ((infoPtr->Base == 10) && !(infoPtr->dwStyle & UDS_NOTHOUSANDS) && (len > 3)) {
|
2002-03-28 23:05:18 +01:00
|
|
|
WCHAR tmp[COUNT_OF(txt)], *src = tmp, *dst = txt;
|
|
|
|
WCHAR sep = UPDOWN_GetThousandSep();
|
|
|
|
int start = len % 3;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
memcpy(tmp, txt, sizeof(txt));
|
|
|
|
if (start == 0) start = 3;
|
|
|
|
dst += start;
|
|
|
|
src += start;
|
|
|
|
for (len=0; *src; len++) {
|
|
|
|
if (len % 3 == 0) *dst++ = sep;
|
|
|
|
*dst++ = *src++;
|
|
|
|
}
|
|
|
|
*dst = 0;
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2009-12-22 19:58:27 +01:00
|
|
|
/* if nothing changed exit earlier */
|
|
|
|
GetWindowTextW(infoPtr->Buddy, txt_old, sizeof(txt_old)/sizeof(WCHAR));
|
2014-01-29 22:26:05 +01:00
|
|
|
if (lstrcmpiW(txt_old, txt) == 0) return FALSE;
|
2009-12-22 19:58:27 +01:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
return SetWindowTextW(infoPtr->Buddy, txt);
|
2002-06-01 01:06:46 +02:00
|
|
|
}
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2005-07-25 13:23:42 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_DrawBuddyBackground
|
|
|
|
*
|
|
|
|
* Draw buddy background for visual integration.
|
|
|
|
*/
|
2007-04-02 18:51:03 +02:00
|
|
|
static BOOL UPDOWN_DrawBuddyBackground (const UPDOWN_INFO *infoPtr, HDC hdc)
|
2005-07-25 13:23:42 +02:00
|
|
|
{
|
2015-04-01 00:39:07 +02:00
|
|
|
RECT br, r;
|
2005-07-25 13:23:42 +02:00
|
|
|
HTHEME buddyTheme = GetWindowTheme (infoPtr->Buddy);
|
|
|
|
if (!buddyTheme) return FALSE;
|
|
|
|
|
2015-04-01 00:39:07 +02:00
|
|
|
GetWindowRect (infoPtr->Buddy, &br);
|
|
|
|
MapWindowPoints (NULL, infoPtr->Self, (POINT*)&br, 2);
|
|
|
|
GetClientRect (infoPtr->Self, &r);
|
|
|
|
|
|
|
|
if (infoPtr->dwStyle & UDS_ALIGNLEFT)
|
|
|
|
br.left = r.left;
|
|
|
|
else if (infoPtr->dwStyle & UDS_ALIGNRIGHT)
|
|
|
|
br.right = r.right;
|
2005-07-25 13:23:42 +02:00
|
|
|
/* FIXME: take disabled etc. into account */
|
|
|
|
DrawThemeBackground (buddyTheme, hdc, 0, 0, &br, NULL);
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
1997-08-24 18:00:30 +02:00
|
|
|
/***********************************************************************
|
2002-03-28 23:05:18 +01:00
|
|
|
* UPDOWN_Draw
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
*
|
1997-08-24 18:00:30 +02:00
|
|
|
* Draw the arrows. The background need not be erased.
|
|
|
|
*/
|
2007-04-02 18:51:03 +02:00
|
|
|
static LRESULT UPDOWN_Draw (const UPDOWN_INFO *infoPtr, HDC hdc)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2005-07-25 13:23:42 +02:00
|
|
|
BOOL uPressed, uHot, dPressed, dHot;
|
2002-03-28 23:05:18 +01:00
|
|
|
RECT rect;
|
2005-07-25 13:23:42 +02:00
|
|
|
HTHEME theme = GetWindowTheme (infoPtr->Self);
|
|
|
|
int uPart = 0, uState = 0, dPart = 0, dState = 0;
|
|
|
|
BOOL needBuddyBg = FALSE;
|
|
|
|
|
|
|
|
uPressed = (infoPtr->Flags & FLAG_PRESSED) && (infoPtr->Flags & FLAG_INCR);
|
|
|
|
uHot = (infoPtr->Flags & FLAG_INCR) && (infoPtr->Flags & FLAG_MOUSEIN);
|
|
|
|
dPressed = (infoPtr->Flags & FLAG_PRESSED) && (infoPtr->Flags & FLAG_DECR);
|
|
|
|
dHot = (infoPtr->Flags & FLAG_DECR) && (infoPtr->Flags & FLAG_MOUSEIN);
|
|
|
|
if (theme) {
|
|
|
|
uPart = (infoPtr->dwStyle & UDS_HORZ) ? SPNP_UPHORZ : SPNP_UP;
|
|
|
|
uState = (infoPtr->dwStyle & WS_DISABLED) ? DNS_DISABLED
|
|
|
|
: (uPressed ? DNS_PRESSED : (uHot ? DNS_HOT : DNS_NORMAL));
|
|
|
|
dPart = (infoPtr->dwStyle & UDS_HORZ) ? SPNP_DOWNHORZ : SPNP_DOWN;
|
|
|
|
dState = (infoPtr->dwStyle & WS_DISABLED) ? DNS_DISABLED
|
|
|
|
: (dPressed ? DNS_PRESSED : (dHot ? DNS_HOT : DNS_NORMAL));
|
|
|
|
needBuddyBg = IsWindow (infoPtr->Buddy)
|
|
|
|
&& (IsThemeBackgroundPartiallyTransparent (theme, uPart, uState)
|
|
|
|
|| IsThemeBackgroundPartiallyTransparent (theme, dPart, dState));
|
|
|
|
}
|
2002-03-28 23:05:18 +01:00
|
|
|
|
|
|
|
/* Draw the common border between ourselves and our buddy */
|
2005-07-25 13:23:42 +02:00
|
|
|
if (UPDOWN_HasBuddyBorder(infoPtr) || needBuddyBg) {
|
|
|
|
if (!theme || !UPDOWN_DrawBuddyBackground (infoPtr, hdc)) {
|
|
|
|
GetClientRect(infoPtr->Self, &rect);
|
|
|
|
DrawEdge(hdc, &rect, EDGE_SUNKEN,
|
|
|
|
BF_BOTTOM | BF_TOP |
|
|
|
|
(infoPtr->dwStyle & UDS_ALIGNLEFT ? BF_LEFT : BF_RIGHT));
|
|
|
|
}
|
2002-04-01 22:57:44 +02:00
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/* Draw the incr button */
|
2002-04-01 22:57:44 +02:00
|
|
|
UPDOWN_GetArrowRect (infoPtr, &rect, FLAG_INCR);
|
2005-07-25 13:23:42 +02:00
|
|
|
if (theme) {
|
|
|
|
DrawThemeBackground(theme, hdc, uPart, uState, &rect, NULL);
|
|
|
|
} else {
|
|
|
|
DrawFrameControl(hdc, &rect, DFC_SCROLL,
|
|
|
|
(infoPtr->dwStyle & UDS_HORZ ? DFCS_SCROLLRIGHT : DFCS_SCROLLUP) |
|
|
|
|
((infoPtr->dwStyle & UDS_HOTTRACK) && uHot ? DFCS_HOT : 0) |
|
|
|
|
(uPressed ? DFCS_PUSHED : 0) |
|
|
|
|
(infoPtr->dwStyle & WS_DISABLED ? DFCS_INACTIVE : 0) );
|
|
|
|
}
|
Release 970914
Thu Sep 11 18:24:56 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [objects/dc.c]
In DC_SetupGCForPatBlt, replace R2_NOT by GXxor with (black xor white).
Tue Sep 9 23:04:02 1997 U. Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
* [memory/virtual.c]
Do not write debugging info unconditionally to stderr.
* [files/profile.c]
Call PROFILE_GetSection in PROFILE_GetString for key_name "" too.
* [misc/crtdll.c]
Many new functions.
* [include/windows.h] [windows/winpos.c]
ClientToScreen16 doesn't have a return value.
Sun Sep 7 10:06:39 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [misc/main.c] [AUTHORS]
Update the list of contributors. Please let me know if I forgot
someone.
* [if1632/*.spec] [if1632/builtin.c] [tools/build.c]
Ordinal base for Win32 DLLs is now computed automatically from the
lowest ordinal found.
* [include/wintypes.h]
WINAPI is now defined as attribute((stdcall)). This will require
gcc to compile.
* [if1632/thunk.c]
Removed Win32 thunks (no longer needed with stdcall).
* [if1632/crtdll.spec] [misc/crtdll.c]
Make sure we only reference cdecl functions in the spec file.
* [objects/dc.c]
Use CapNotLast drawing style for 1-pixel wide lines.
* [tools/build.c]
Added 'double' argument type.
Added 'varargs' function type for Win32.
Made CallTo16_xxx functions stdcall.
Fri Sep 5 14:50:49 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [tools/build.c] [windows/win.c] [windows/event.c] [windows/message.c]
More fixes to get message exchange closer to the original.
* [misc/spy.c]
Message logs now contain window names.
* [loader/resource.c] [loader/ne_resource.c] [loader/task.c]
[objects/cursoricon.c] [windows/user.c]
Added some obscure features to fix memory leaks.
Fri Sep 5 00:46:28 1997 Jan Willamowius <jan@janhh.shnet.org>
* [if1632/kernel32.spec] [win32/newfns.c]
Added stub for UTRegister() and UTUnRegister().
Thu Sep 4 12:03:12 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c]
Allow ASCII codes > 127 in WM_CHAR.
Mon Sep 1 17:23:24 1997 Dimitrie O. Paun <dimi@mail.cs.toronto.edu>
* [controls/widgets.c]
In InitCommonControls, remember the name of the class
because lpszClassName was made to point to a local array
Added the ProgressBar to the list of implemented controls.
Call InitCommonControls from WIDGETS_Init to register all
implemented Common Controls.
* [include/commctrl.h]
Added misc decl for the Progress Bar.
* [controls/progress.c] [include/progress.h]
First attempt at implementiong the Progress Bar class.
* [objects/brush.h]
Implementation for GetSysColorBrush[16|32]
* [controls/status.c]
Use DrawEdge to draw the borders and fill the background
* [controls/uitools.c]
Added DrawDiagEdge32 and DrawRectEdge32
* [graphics/painting.c]
Implement DrawEdge[16|32]
Started DrawFrameControl32
Mon Sep 1 10:07:09 1997 Lawson Whitney <lawson_whitney@juno.com>
* [misc/comm.c] [include/windows.h]
SetCommEventMask returns a SEGPTR.
Sun Aug 31 23:28:32 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_image.c][loader/module.c][include/pe_image.h]
[include/module.h]
Cleaned up the whole Win32 library mess (a bit).
* [debugger/stabs.c]
If 'wine' has no absolute path and isn't found, check $PATH too.
* [misc/ole2nls.c]
Some fixes.
* [misc/ver.c]
Added support for PE style version resources.
* [memory/string.c]
Check for NULL pointers to _lstr* functions, just as Windows95 does.
* [multimedia/time.c]
Made list of timers a simple linked list.
* [loader/resource.c]
Netscape 3 seems to pass NEGATIVE resource Ids (in an
unsigned int, yes). Don't know why, fixed it anyway.
* [objects/bitmap.c]
LoadImageW added.
* [include/win.h][windows/win.c]
Change wIDmenu from UINT16 to UINT32 and changed the
SetWindow(Long|Word) accordingly.
Thu Aug 28 19:30:08 1997 Morten Welinder <terra@diku.dk>
* [include/windows.h]
Add a few more colors defined for Win95.
Add a few more brush styles.
* [windows/syscolor.c]
Add error checks for SYSCOLOR_SetColor, SYSCOLOR_Init,
GetSysColor16, GetSysColor32. Add support for above colors.
Sun Aug 24 16:22:57 1997 Andrew Taylor <andrew@riscan.com>
* [multimedia/mmsystem.c]
Changed mmioDescend to use mmio functions for file I/O, neccessary
for memory files.
1997-09-14 19:17:23 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/* Draw the decr button */
|
2002-04-01 22:57:44 +02:00
|
|
|
UPDOWN_GetArrowRect(infoPtr, &rect, FLAG_DECR);
|
2005-07-25 13:23:42 +02:00
|
|
|
if (theme) {
|
|
|
|
DrawThemeBackground(theme, hdc, dPart, dState, &rect, NULL);
|
|
|
|
} else {
|
|
|
|
DrawFrameControl(hdc, &rect, DFC_SCROLL,
|
|
|
|
(infoPtr->dwStyle & UDS_HORZ ? DFCS_SCROLLLEFT : DFCS_SCROLLDOWN) |
|
|
|
|
((infoPtr->dwStyle & UDS_HOTTRACK) && dHot ? DFCS_HOT : 0) |
|
|
|
|
(dPressed ? DFCS_PUSHED : 0) |
|
|
|
|
(infoPtr->dwStyle & WS_DISABLED ? DFCS_INACTIVE : 0) );
|
|
|
|
}
|
2002-04-01 22:57:44 +02:00
|
|
|
|
|
|
|
return 0;
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2002-04-01 22:57:44 +02:00
|
|
|
* UPDOWN_Paint
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
*
|
2002-04-01 22:57:44 +02:00
|
|
|
* Asynchronous drawing (must ONLY be used in WM_PAINT).
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
* Calls UPDOWN_Draw.
|
|
|
|
*/
|
2007-04-02 18:51:03 +02:00
|
|
|
static LRESULT UPDOWN_Paint (const UPDOWN_INFO *infoPtr, HDC hdc)
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
{
|
2002-04-01 22:57:44 +02:00
|
|
|
PAINTSTRUCT ps;
|
|
|
|
if (hdc) return UPDOWN_Draw (infoPtr, hdc);
|
|
|
|
hdc = BeginPaint (infoPtr->Self, &ps);
|
|
|
|
UPDOWN_Draw (infoPtr, hdc);
|
|
|
|
EndPaint (infoPtr->Self, &ps);
|
|
|
|
return 0;
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
}
|
Release 980104
Sat Jan 3 17:15:56 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [debugger/db_disasm.c]
Added cpuid and cmpxchg instructions.
* [if1632/builtin.c] [relay32/builtin32.c]
Fixed broken -dll option with Win32 DLLs.
* [include/heap.h]
Added SYSTEM_LOCK/SYSTEM_UNLOCK macros.
* [configure.in] [misc/lstr.c]
Added check for wctype.h.
Commented out --enable-ipc option (IPC code has been broken for a
long time anyway).
* [scheduler/critsection.c] [scheduler/event.c]
[scheduler/mutex.c] [scheduler/semaphore.c]
Implemented Win32 synchronization objects.
* [scheduler/synchro.c]
Implemented WaitForMultipleObjects and related functions.
* [scheduler/thread.c]
If possible, use clone() in CreateThread().
* [scheduler/thread.c] [scheduler/process.c]
Made thread and process waitable objects.
Thread and process id values are now different from the pointers
they represent.
* [win32/k32obj.c]
Moved to scheduler directory.
Added function table for waiting operations on objects.
* [files/file.c] [memory/virtual.c]
Added new K32OBJ function table.
Sun Jan 1 16:48:23 1997 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed my patch for GetTempFileName16() as needed.
It was ...Name32A() that didn't work properly, not ...Name16().
* [graphics/x11drv/brush.c]
Fixed a BadMatch error.
* [msdos/int21.c]
Fixed INT21_FindNextFCB() to get correct volume labels e.g.
in "file open" dialog.
* [multimedia/joystick.c] [relay32/winmm.spec]
Stub JoyGetPosEx().
* [scheduler/process.c] [relay32/kernel32.spec]
Implemented RegisterServiceProcess().
Wed Dec 31 11:14:43 1997 Lawson Whitney <lawson_whitney@juno.com>
* [if1632/kernel.spec] [if1632/relay.c]
Define CallProcEx32w - Thanks to Marcus Meissner for his excellent
CallProc32W.
* [loader/module.c]
Take a shot at defining FreeLibrary32W.
Sun Dec 28 12:44:04 1997 Kai Morich <kai.morich@rhein-neckar.netsurf.de>
* [controls/menu.c]
Menu modification from WM_INITMENUPOPUP message fixed.
Menu items now can have different wID and hSubMenu (Win95 behavior).
* [misc/cpu.c]
Improved IsProcessorFeaturePresent.
Sun Dec 28 03:21:08 1997 Ove Kaaven <ovek@main.arcticnet.no>
* [include/winsock.h] [misc/winsock.c]
Fixed WS_SOL_SOCKET for setsockopt(), and made select() return
empty fd_sets if timeout.
* [objects/palette.c]
AnimatePalette() bailed out if entire palette is animated. Fixed.
* [objects/dib.c]
Added some code to SetDIBitsToDevice() and its helpers to fix
some offseting problems.
* [objects/cursoricon.c]
Made CreateCursor32() convert the instance handle properly. Made
DestroyCursor() return correct success status.
Wed Dec 24 17:56:34 1997 Dimitrie O. Paun <dimi@cs.toronto.edu>
* [windows/syscolor.c]
Added definition of GetSysColorPen16/32. This function does not
exist in the Win32 API but is a very close (and natural) relative
to GetSysColorBrush function. Moreover, it is *very* much used
within Wine since there are a lot of places where we need to draw
lines with the standard colors.
* [controls/button.c] [controls/combo.c] [controls/icontitle.c]
[controls/menu.c] [controls/progress.c] [controls/scroll.c]
[controls/updown.c] [graphics/painting.c] [misc/tweak.c]
[windows/defwnd.c] [windows/graphics.c] [windows/nonclient.c]
Replaced references to sysColorObjects with the appropriate
call to GetSysColorBrush32/GetSysColorPen32. There is no need to
expose the implementation of these functions, even within Wine.
This makes the code easier to understand, debug, maintain.
* [controls/uitools.c]
Modified most of the functions in this file to use the now
standard pens (i.e. GetSysColorPen32). These functions made
*heavy* use of standard pens so I expect a lot less
CreatePen/DeleteObject calls can do only good...:)
Plus some minor modifications (*no* functional changes though).
* [controls/updown.c]
Used the new DrawFrameControl32 function to paint the control.
I also deleted UDDOWN_DrawArrow since it was no longer required.
Tue Dec 23 00:03:33 1997 Steinar Hamre <steinarh@stud.fim.ntnu.no>
* [configure.in]
Added check for -lw.
* [include/wintypes.h] [tools/build.c]
Changes to make the assembly understandable for even sun as.
".ascii" -> ".string", "call %foo" -> "call *%foo",
"pushw/popw %[cdes]s" written out to ".byte 0x66\npushl/popl %[cdes]s".
* [memory/ldt.c]
#ifdef added so <sys/seg.h> will not be included on Solaris.
Mon Dec 22 18:55:19 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [configure.in]
Added XF86DGA check.
* [multimedia/dsound.c][relay32/dsound.spec][include/dsound.h]
Started DirectSound. Only stubs for now.
* [graphics/ddraw.c][include/ddraw.h][relay32/ddraw.spec]
Started to implement DirectDraw. Mostly stubs, some
testcases work. Requires the XF86DGA extension to XFree86.
(check demo/blizdemo.exe from the Diablo CD-ROM).
* [files/drive.c]
Return correct "CDFS" fsname so Diablo is a bit happier.
Sun Dec 21 21:45:48 1997 Kevin Cozens <kcozens@interlog.com>
* [misc/registry.c]
Fixed bugs in the routines which read the Windows '95 registry
files. Added extra information regarding the format of the Windows
'95 registry files.
1998-01-04 18:49:09 +01:00
|
|
|
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
/***********************************************************************
|
2002-04-01 22:57:44 +02:00
|
|
|
* UPDOWN_KeyPressed
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
*
|
2002-04-01 22:57:44 +02:00
|
|
|
* Handle key presses (up & down) when we have to do so
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
*/
|
2002-04-01 22:57:44 +02:00
|
|
|
static LRESULT UPDOWN_KeyPressed(UPDOWN_INFO *infoPtr, int key)
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
{
|
2010-02-04 17:05:14 +01:00
|
|
|
int arrow, accel;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
if (key == VK_UP) arrow = FLAG_INCR;
|
|
|
|
else if (key == VK_DOWN) arrow = FLAG_DECR;
|
|
|
|
else return 1;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
UPDOWN_GetBuddyInt (infoPtr);
|
|
|
|
infoPtr->Flags &= ~FLAG_ARROW;
|
|
|
|
infoPtr->Flags |= FLAG_PRESSED | arrow;
|
|
|
|
InvalidateRect (infoPtr->Self, NULL, FALSE);
|
|
|
|
SetTimer(infoPtr->Self, TIMER_AUTOPRESS, AUTOPRESS_DELAY, 0);
|
2010-02-04 17:05:14 +01:00
|
|
|
accel = (infoPtr->AccelCount && infoPtr->AccelVect) ? infoPtr->AccelVect[0].nInc : 1;
|
|
|
|
UPDOWN_DoAction (infoPtr, accel, arrow);
|
2002-04-01 22:57:44 +02:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
2013-10-16 16:34:51 +02:00
|
|
|
static int UPDOWN_GetPos(UPDOWN_INFO *infoPtr, BOOL *err)
|
|
|
|
{
|
|
|
|
BOOL succ = UPDOWN_GetBuddyInt(infoPtr);
|
|
|
|
int val = infoPtr->CurVal;
|
|
|
|
|
|
|
|
if(!UPDOWN_InBounds(infoPtr, val)) {
|
|
|
|
if((infoPtr->MinVal < infoPtr->MaxVal && val < infoPtr->MinVal)
|
|
|
|
|| (infoPtr->MinVal > infoPtr->MaxVal && val > infoPtr->MinVal))
|
|
|
|
val = infoPtr->MinVal;
|
|
|
|
else
|
|
|
|
val = infoPtr->MaxVal;
|
|
|
|
|
|
|
|
succ = FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
if(err) *err = !succ;
|
|
|
|
return val;
|
|
|
|
}
|
|
|
|
|
2013-10-16 16:34:39 +02:00
|
|
|
static int UPDOWN_SetPos(UPDOWN_INFO *infoPtr, int pos)
|
|
|
|
{
|
|
|
|
int ret = infoPtr->CurVal;
|
|
|
|
|
|
|
|
if(!UPDOWN_InBounds(infoPtr, pos)) {
|
|
|
|
if((infoPtr->MinVal < infoPtr->MaxVal && pos < infoPtr->MinVal)
|
|
|
|
|| (infoPtr->MinVal > infoPtr->MaxVal && pos > infoPtr->MinVal))
|
|
|
|
pos = infoPtr->MinVal;
|
|
|
|
else
|
|
|
|
pos = infoPtr->MaxVal;
|
|
|
|
}
|
|
|
|
|
|
|
|
infoPtr->CurVal = pos;
|
|
|
|
UPDOWN_SetBuddyInt(infoPtr);
|
|
|
|
|
|
|
|
if(!UPDOWN_InBounds(infoPtr, ret)) {
|
|
|
|
if((infoPtr->MinVal < infoPtr->MaxVal && ret < infoPtr->MinVal)
|
|
|
|
|| (infoPtr->MinVal > infoPtr->MaxVal && ret > infoPtr->MinVal))
|
|
|
|
ret = infoPtr->MinVal;
|
|
|
|
else
|
|
|
|
ret = infoPtr->MaxVal;
|
|
|
|
}
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2009-04-10 10:52:27 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_SetRange
|
|
|
|
*
|
|
|
|
* Handle UDM_SETRANGE, UDM_SETRANGE32
|
|
|
|
*
|
|
|
|
* FIXME: handle Max == Min properly:
|
|
|
|
* - arrows should be disabled (without WS_DISABLED set),
|
|
|
|
* visually they can't be pressed and don't respond;
|
|
|
|
* - all input messages should still pass in.
|
|
|
|
*/
|
|
|
|
static LRESULT UPDOWN_SetRange(UPDOWN_INFO *infoPtr, INT Max, INT Min)
|
|
|
|
{
|
|
|
|
infoPtr->MaxVal = Max;
|
|
|
|
infoPtr->MinVal = Min;
|
|
|
|
|
|
|
|
TRACE("UpDown Ctrl new range(%d to %d), hwnd=%p\n",
|
|
|
|
infoPtr->MinVal, infoPtr->MaxVal, infoPtr->Self);
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
2008-04-11 09:19:58 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_MouseWheel
|
|
|
|
*
|
|
|
|
* Handle mouse wheel scrolling
|
|
|
|
*/
|
|
|
|
static LRESULT UPDOWN_MouseWheel(UPDOWN_INFO *infoPtr, WPARAM wParam)
|
|
|
|
{
|
|
|
|
int iWheelDelta = GET_WHEEL_DELTA_WPARAM(wParam) / WHEEL_DELTA;
|
|
|
|
|
|
|
|
if (wParam & (MK_SHIFT | MK_CONTROL))
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
if (iWheelDelta != 0)
|
|
|
|
{
|
|
|
|
UPDOWN_GetBuddyInt(infoPtr);
|
|
|
|
UPDOWN_DoAction(infoPtr, abs(iWheelDelta), iWheelDelta > 0 ? FLAG_INCR : FLAG_DECR);
|
|
|
|
}
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
/***********************************************************************
|
2002-06-01 01:06:46 +02:00
|
|
|
* UPDOWN_Buddy_SubclassProc used to handle messages sent to the buddy
|
2002-04-01 22:57:44 +02:00
|
|
|
* control.
|
|
|
|
*/
|
2002-06-01 01:06:46 +02:00
|
|
|
static LRESULT CALLBACK
|
2009-12-22 00:42:31 +01:00
|
|
|
UPDOWN_Buddy_SubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam,
|
|
|
|
UINT_PTR uId, DWORD_PTR ref_data)
|
2002-04-01 22:57:44 +02:00
|
|
|
{
|
2009-12-22 00:42:31 +01:00
|
|
|
UPDOWN_INFO *infoPtr = UPDOWN_GetInfoPtr((HWND)ref_data);
|
2004-11-09 21:03:47 +01:00
|
|
|
|
2009-12-22 00:42:31 +01:00
|
|
|
TRACE("hwnd=%p, uMsg=%04x, wParam=%08lx, lParam=%08lx\n",
|
|
|
|
hwnd, uMsg, wParam, lParam);
|
2002-02-05 19:08:01 +01:00
|
|
|
|
2009-09-20 01:57:09 +02:00
|
|
|
switch(uMsg)
|
|
|
|
{
|
|
|
|
case WM_KEYDOWN:
|
2018-01-21 17:51:36 +01:00
|
|
|
if (infoPtr)
|
|
|
|
{
|
|
|
|
UPDOWN_KeyPressed(infoPtr, (int)wParam);
|
|
|
|
if (wParam == VK_UP || wParam == VK_DOWN)
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
break;
|
2009-09-20 01:57:09 +02:00
|
|
|
|
|
|
|
case WM_MOUSEWHEEL:
|
2018-01-21 17:51:36 +01:00
|
|
|
if (infoPtr)
|
|
|
|
UPDOWN_MouseWheel(infoPtr, (int)wParam);
|
|
|
|
break;
|
2008-04-11 09:19:58 +02:00
|
|
|
|
2018-01-21 17:51:36 +01:00
|
|
|
case WM_NCDESTROY:
|
|
|
|
RemoveWindowSubclass(hwnd, UPDOWN_Buddy_SubclassProc, BUDDY_SUBCLASSID);
|
|
|
|
break;
|
2009-09-20 01:57:09 +02:00
|
|
|
default:
|
|
|
|
break;
|
2008-04-11 09:19:58 +02:00
|
|
|
}
|
2002-04-01 22:57:44 +02:00
|
|
|
|
2009-12-22 00:42:31 +01:00
|
|
|
return DefSubclassProc(hwnd, uMsg, wParam, lParam);
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
2018-01-21 17:51:36 +01:00
|
|
|
static void UPDOWN_ResetSubclass (UPDOWN_INFO *infoPtr)
|
|
|
|
{
|
|
|
|
SetWindowSubclass(infoPtr->Buddy, UPDOWN_Buddy_SubclassProc, BUDDY_SUBCLASSID, 0);
|
|
|
|
}
|
|
|
|
|
1997-08-24 18:00:30 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_SetBuddy
|
2004-03-15 21:20:41 +01:00
|
|
|
*
|
|
|
|
* Sets bud as a new Buddy.
|
2002-06-01 01:06:46 +02:00
|
|
|
* Then, it should subclass the buddy
|
2009-11-15 23:10:53 +01:00
|
|
|
* If window has the UDS_ARROWKEYS, it subclasses the buddy window to
|
1997-08-24 18:00:30 +02:00
|
|
|
* process the UP/DOWN arrow keys.
|
|
|
|
* If window has the UDS_ALIGNLEFT or UDS_ALIGNRIGHT style
|
|
|
|
* the size/pos of the buddy and the control are adjusted accordingly.
|
|
|
|
*/
|
2004-03-15 21:20:41 +01:00
|
|
|
static HWND UPDOWN_SetBuddy (UPDOWN_INFO* infoPtr, HWND bud)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2002-03-28 23:05:18 +01:00
|
|
|
RECT budRect; /* new coord for the buddy */
|
|
|
|
int x, width; /* new x position and width for the up-down */
|
2004-10-25 23:47:57 +02:00
|
|
|
WCHAR buddyClass[40];
|
2017-12-21 10:14:45 +01:00
|
|
|
HWND old_buddy;
|
2002-03-28 23:05:18 +01:00
|
|
|
|
2002-10-24 00:19:10 +02:00
|
|
|
TRACE("(hwnd=%p, bud=%p)\n", infoPtr->Self, bud);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2017-12-21 10:14:45 +01:00
|
|
|
old_buddy = infoPtr->Buddy;
|
2004-03-15 21:20:41 +01:00
|
|
|
|
2018-01-21 17:51:36 +01:00
|
|
|
UPDOWN_ResetSubclass (infoPtr);
|
|
|
|
|
2009-12-22 00:42:31 +01:00
|
|
|
if (!IsWindow(bud)) bud = NULL;
|
2004-03-15 21:20:41 +01:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/* Store buddy window handle */
|
2002-06-01 01:06:46 +02:00
|
|
|
infoPtr->Buddy = bud;
|
2002-03-28 23:05:18 +01:00
|
|
|
|
2004-03-15 21:20:41 +01:00
|
|
|
if(bud) {
|
|
|
|
/* Store buddy window class type */
|
|
|
|
infoPtr->BuddyType = BUDDY_TYPE_UNKNOWN;
|
2004-10-25 23:47:57 +02:00
|
|
|
if (GetClassNameW(bud, buddyClass, COUNT_OF(buddyClass))) {
|
2009-10-07 23:04:08 +02:00
|
|
|
if (lstrcmpiW(buddyClass, WC_EDITW) == 0)
|
2004-03-15 21:20:41 +01:00
|
|
|
infoPtr->BuddyType = BUDDY_TYPE_EDIT;
|
2009-10-07 23:04:08 +02:00
|
|
|
else if (lstrcmpiW(buddyClass, WC_LISTBOXW) == 0)
|
2004-03-15 21:20:41 +01:00
|
|
|
infoPtr->BuddyType = BUDDY_TYPE_LISTBOX;
|
|
|
|
}
|
2002-03-28 23:05:18 +01:00
|
|
|
|
2009-12-22 00:42:31 +01:00
|
|
|
if (infoPtr->dwStyle & UDS_ARROWKEYS)
|
|
|
|
SetWindowSubclass(bud, UPDOWN_Buddy_SubclassProc, BUDDY_SUBCLASSID,
|
|
|
|
(DWORD_PTR)infoPtr->Self);
|
2002-03-28 23:05:18 +01:00
|
|
|
|
2004-03-15 21:20:41 +01:00
|
|
|
/* Get the rect of the buddy relative to its parent */
|
|
|
|
GetWindowRect(infoPtr->Buddy, &budRect);
|
|
|
|
MapWindowPoints(HWND_DESKTOP, GetParent(infoPtr->Buddy), (POINT *)(&budRect.left), 2);
|
|
|
|
|
|
|
|
/* now do the positioning */
|
2005-03-25 11:27:11 +01:00
|
|
|
if (infoPtr->dwStyle & UDS_ALIGNLEFT) {
|
2004-03-15 21:20:41 +01:00
|
|
|
x = budRect.left;
|
|
|
|
budRect.left += DEFAULT_WIDTH + DEFAULT_XSEP;
|
2005-03-25 11:27:11 +01:00
|
|
|
} else if (infoPtr->dwStyle & UDS_ALIGNRIGHT) {
|
2004-03-15 21:20:41 +01:00
|
|
|
budRect.right -= DEFAULT_WIDTH + DEFAULT_XSEP;
|
|
|
|
x = budRect.right+DEFAULT_XSEP;
|
|
|
|
} else {
|
2004-11-09 21:03:47 +01:00
|
|
|
/* nothing to do */
|
2017-12-21 10:14:45 +01:00
|
|
|
return old_buddy;
|
2004-03-15 21:20:41 +01:00
|
|
|
}
|
2002-03-28 23:05:18 +01:00
|
|
|
|
2004-10-05 20:15:29 +02:00
|
|
|
/* first adjust the buddy to accommodate the up/down */
|
2004-03-15 21:20:41 +01:00
|
|
|
SetWindowPos(infoPtr->Buddy, 0, budRect.left, budRect.top,
|
|
|
|
budRect.right - budRect.left, budRect.bottom - budRect.top,
|
|
|
|
SWP_NOACTIVATE|SWP_NOZORDER);
|
|
|
|
|
|
|
|
/* now position the up/down */
|
|
|
|
/* Since the UDS_ALIGN* flags were used, */
|
|
|
|
/* we will pick the position and size of the window. */
|
|
|
|
width = DEFAULT_WIDTH;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* If the updown has a buddy border, it has to overlap with the buddy
|
|
|
|
* to look as if it is integrated with the buddy control.
|
2004-10-05 20:15:29 +02:00
|
|
|
* We nudge the control or change its size to overlap.
|
2004-03-15 21:20:41 +01:00
|
|
|
*/
|
|
|
|
if (UPDOWN_HasBuddyBorder(infoPtr)) {
|
2005-03-25 11:27:11 +01:00
|
|
|
if(infoPtr->dwStyle & UDS_ALIGNLEFT)
|
2004-03-15 21:20:41 +01:00
|
|
|
width += DEFAULT_BUDDYBORDER;
|
|
|
|
else
|
|
|
|
x -= DEFAULT_BUDDYBORDER;
|
|
|
|
}
|
2002-03-28 23:05:18 +01:00
|
|
|
|
2004-11-09 21:03:47 +01:00
|
|
|
SetWindowPos(infoPtr->Self, 0, x,
|
2004-03-15 21:20:41 +01:00
|
|
|
budRect.top - DEFAULT_ADDTOP, width,
|
|
|
|
budRect.bottom - budRect.top + DEFAULT_ADDTOP + DEFAULT_ADDBOT,
|
|
|
|
SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOZORDER);
|
2017-12-21 10:14:45 +01:00
|
|
|
} else if (!(infoPtr->dwStyle & UDS_HORZ) && old_buddy != NULL) {
|
2004-03-15 21:20:41 +01:00
|
|
|
RECT rect;
|
|
|
|
GetWindowRect(infoPtr->Self, &rect);
|
|
|
|
MapWindowPoints(HWND_DESKTOP, GetParent(infoPtr->Self), (POINT *)&rect, 2);
|
|
|
|
SetWindowPos(infoPtr->Self, 0, rect.left, rect.top, DEFAULT_WIDTH, rect.bottom - rect.top,
|
|
|
|
SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOZORDER);
|
2002-03-28 23:05:18 +01:00
|
|
|
}
|
2017-12-21 10:14:45 +01:00
|
|
|
|
|
|
|
return old_buddy;
|
2002-06-01 01:06:46 +02:00
|
|
|
}
|
1997-08-24 18:00:30 +02:00
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_DoAction
|
|
|
|
*
|
2002-06-01 01:06:46 +02:00
|
|
|
* This function increments/decrements the CurVal by the
|
2002-04-01 22:57:44 +02:00
|
|
|
* 'delta' amount according to the 'action' flag which can be a
|
|
|
|
* combination of FLAG_INCR and FLAG_DECR
|
1997-08-24 18:00:30 +02:00
|
|
|
* It notifies the parent as required.
|
2009-11-15 23:10:53 +01:00
|
|
|
* It handles wrapping and non-wrapping correctly.
|
1997-08-24 18:00:30 +02:00
|
|
|
* It is assumed that delta>0
|
|
|
|
*/
|
2002-04-01 22:57:44 +02:00
|
|
|
static void UPDOWN_DoAction (UPDOWN_INFO *infoPtr, int delta, int action)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2002-03-28 23:05:18 +01:00
|
|
|
NM_UPDOWN ni;
|
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
TRACE("%d by %d\n", action, delta);
|
2002-03-28 23:05:18 +01:00
|
|
|
|
|
|
|
/* check if we can do the modification first */
|
2002-04-01 22:57:44 +02:00
|
|
|
delta *= (action & FLAG_INCR ? 1 : -1) * (infoPtr->MaxVal < infoPtr->MinVal ? -1 : 1);
|
|
|
|
if ( (action & FLAG_INCR) && (action & FLAG_DECR) ) delta = 0;
|
2002-03-28 23:05:18 +01:00
|
|
|
|
2004-11-09 21:03:47 +01:00
|
|
|
TRACE("current %d, delta: %d\n", infoPtr->CurVal, delta);
|
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/* We must notify parent now to obtain permission */
|
|
|
|
ni.iPos = infoPtr->CurVal;
|
|
|
|
ni.iDelta = delta;
|
|
|
|
ni.hdr.hwndFrom = infoPtr->Self;
|
2004-08-25 19:33:01 +02:00
|
|
|
ni.hdr.idFrom = GetWindowLongPtrW (infoPtr->Self, GWLP_ID);
|
2002-06-01 01:06:46 +02:00
|
|
|
ni.hdr.code = UDN_DELTAPOS;
|
2007-12-29 16:37:34 +01:00
|
|
|
if (!SendMessageW(infoPtr->Notify, WM_NOTIFY, ni.hdr.idFrom, (LPARAM)&ni)) {
|
2002-03-28 23:05:18 +01:00
|
|
|
/* Parent said: OK to adjust */
|
|
|
|
|
|
|
|
/* Now adjust value with (maybe new) delta */
|
|
|
|
if (UPDOWN_OffsetVal (infoPtr, ni.iDelta)) {
|
2004-11-09 21:03:47 +01:00
|
|
|
TRACE("new %d, delta: %d\n", infoPtr->CurVal, ni.iDelta);
|
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/* Now take care about our buddy */
|
2005-03-25 11:27:11 +01:00
|
|
|
UPDOWN_SetBuddyInt (infoPtr);
|
2002-03-28 23:05:18 +01:00
|
|
|
}
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/* Also, notify it. This message is sent in any case. */
|
2005-03-25 11:27:11 +01:00
|
|
|
SendMessageW( infoPtr->Notify, (infoPtr->dwStyle & UDS_HORZ) ? WM_HSCROLL : WM_VSCROLL,
|
2003-11-20 23:04:13 +01:00
|
|
|
MAKELONG(SB_THUMBPOSITION, infoPtr->CurVal), (LPARAM)infoPtr->Self);
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_IsEnabled
|
|
|
|
*
|
|
|
|
* Returns TRUE if it is enabled as well as its buddy (if any)
|
|
|
|
* FALSE otherwise
|
|
|
|
*/
|
2007-04-02 18:51:03 +02:00
|
|
|
static BOOL UPDOWN_IsEnabled (const UPDOWN_INFO *infoPtr)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2004-11-09 21:03:47 +01:00
|
|
|
if (!IsWindowEnabled(infoPtr->Self))
|
2002-03-28 23:05:18 +01:00
|
|
|
return FALSE;
|
|
|
|
if(infoPtr->Buddy)
|
|
|
|
return IsWindowEnabled(infoPtr->Buddy);
|
|
|
|
return TRUE;
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_CancelMode
|
|
|
|
*
|
|
|
|
* Deletes any timers, releases the mouse and does redraw if necessary.
|
|
|
|
* If the control is not in "capture" mode, it does nothing.
|
2002-06-01 01:06:46 +02:00
|
|
|
* If the control was not in cancel mode, it returns FALSE.
|
1997-08-24 18:00:30 +02:00
|
|
|
* If the control was in cancel mode, it returns TRUE.
|
|
|
|
*/
|
2002-02-05 19:08:01 +01:00
|
|
|
static BOOL UPDOWN_CancelMode (UPDOWN_INFO *infoPtr)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2002-04-01 22:57:44 +02:00
|
|
|
if (!(infoPtr->Flags & FLAG_PRESSED)) return FALSE;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
KillTimer (infoPtr->Self, TIMER_AUTOREPEAT);
|
|
|
|
KillTimer (infoPtr->Self, TIMER_ACCEL);
|
|
|
|
KillTimer (infoPtr->Self, TIMER_AUTOPRESS);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
if (GetCapture() == infoPtr->Self) {
|
|
|
|
NMHDR hdr;
|
|
|
|
hdr.hwndFrom = infoPtr->Self;
|
2004-08-25 19:33:01 +02:00
|
|
|
hdr.idFrom = GetWindowLongPtrW (infoPtr->Self, GWLP_ID);
|
2002-04-01 22:57:44 +02:00
|
|
|
hdr.code = NM_RELEASEDCAPTURE;
|
2003-11-20 23:04:13 +01:00
|
|
|
SendMessageW(infoPtr->Notify, WM_NOTIFY, hdr.idFrom, (LPARAM)&hdr);
|
2002-04-01 22:57:44 +02:00
|
|
|
ReleaseCapture();
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
infoPtr->Flags &= ~FLAG_PRESSED;
|
|
|
|
InvalidateRect (infoPtr->Self, NULL, FALSE);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
return TRUE;
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_HandleMouseEvent
|
|
|
|
*
|
|
|
|
* Handle a mouse event for the updown.
|
|
|
|
* 'pt' is the location of the mouse event in client or
|
2002-06-01 01:06:46 +02:00
|
|
|
* windows coordinates.
|
1997-08-24 18:00:30 +02:00
|
|
|
*/
|
2004-11-24 19:28:31 +01:00
|
|
|
static void UPDOWN_HandleMouseEvent (UPDOWN_INFO *infoPtr, UINT msg, INT x, INT y)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2004-11-24 19:28:31 +01:00
|
|
|
POINT pt = { x, y };
|
2002-03-28 23:05:18 +01:00
|
|
|
RECT rect;
|
2002-04-01 22:57:44 +02:00
|
|
|
int temp, arrow;
|
2005-07-25 13:23:42 +02:00
|
|
|
TRACKMOUSEEVENT tme;
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2004-11-09 21:03:47 +01:00
|
|
|
TRACE("msg %04x point %s\n", msg, wine_dbgstr_point(&pt));
|
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
switch(msg)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2002-03-28 23:05:18 +01:00
|
|
|
case WM_LBUTTONDOWN: /* Initialise mouse tracking */
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/* If the buddy is an edit, will set focus to it */
|
|
|
|
if (UPDOWN_IsBuddyEdit(infoPtr)) SetFocus(infoPtr->Buddy);
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/* Now see which one is the 'active' arrow */
|
2004-11-09 21:03:47 +01:00
|
|
|
arrow = UPDOWN_GetArrowFromPoint (infoPtr, &rect, pt);
|
|
|
|
|
|
|
|
/* Update the flags if we are in/out */
|
|
|
|
infoPtr->Flags &= ~(FLAG_MOUSEIN | FLAG_ARROW);
|
|
|
|
if (arrow)
|
|
|
|
infoPtr->Flags |= FLAG_MOUSEIN | arrow;
|
|
|
|
else
|
|
|
|
if (infoPtr->AccelIndex != -1) infoPtr->AccelIndex = 0;
|
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
if (infoPtr->Flags & FLAG_ARROW) {
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
/* Update the CurVal if necessary */
|
2005-03-25 11:27:11 +01:00
|
|
|
UPDOWN_GetBuddyInt (infoPtr);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
/* Set up the correct flags */
|
2002-06-01 01:06:46 +02:00
|
|
|
infoPtr->Flags |= FLAG_PRESSED;
|
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
/* repaint the control */
|
|
|
|
InvalidateRect (infoPtr->Self, NULL, FALSE);
|
2002-03-28 23:05:18 +01:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
/* process the click */
|
2004-11-09 21:03:47 +01:00
|
|
|
temp = (infoPtr->AccelCount && infoPtr->AccelVect) ? infoPtr->AccelVect[0].nInc : 1;
|
|
|
|
UPDOWN_DoAction (infoPtr, temp, infoPtr->Flags & FLAG_ARROW);
|
2002-03-28 23:05:18 +01:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
/* now capture all mouse messages */
|
|
|
|
SetCapture (infoPtr->Self);
|
2002-03-28 23:05:18 +01:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
/* and startup the first timer */
|
|
|
|
SetTimer(infoPtr->Self, TIMER_AUTOREPEAT, INITIAL_DELAY, 0);
|
|
|
|
}
|
2002-03-28 23:05:18 +01:00
|
|
|
break;
|
|
|
|
|
|
|
|
case WM_MOUSEMOVE:
|
|
|
|
/* save the flags to see if any got modified */
|
|
|
|
temp = infoPtr->Flags;
|
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
/* Now see which one is the 'active' arrow */
|
|
|
|
arrow = UPDOWN_GetArrowFromPoint (infoPtr, &rect, pt);
|
2002-03-28 23:05:18 +01:00
|
|
|
|
|
|
|
/* Update the flags if we are in/out */
|
2002-04-01 22:57:44 +02:00
|
|
|
infoPtr->Flags &= ~(FLAG_MOUSEIN | FLAG_ARROW);
|
|
|
|
if(arrow) {
|
|
|
|
infoPtr->Flags |= FLAG_MOUSEIN | arrow;
|
2002-03-28 23:05:18 +01:00
|
|
|
} else {
|
|
|
|
if(infoPtr->AccelIndex != -1) infoPtr->AccelIndex = 0;
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/* If state changed, redraw the control */
|
2002-04-01 22:57:44 +02:00
|
|
|
if(temp != infoPtr->Flags)
|
2005-07-25 13:23:42 +02:00
|
|
|
InvalidateRect (infoPtr->Self, NULL, FALSE);
|
|
|
|
|
|
|
|
/* Set up tracking so the mousein flags can be reset when the
|
|
|
|
* mouse leaves the control */
|
|
|
|
tme.cbSize = sizeof( tme );
|
|
|
|
tme.dwFlags = TME_LEAVE;
|
|
|
|
tme.hwndTrack = infoPtr->Self;
|
|
|
|
TrackMouseEvent (&tme);
|
|
|
|
|
|
|
|
break;
|
|
|
|
case WM_MOUSELEAVE:
|
|
|
|
infoPtr->Flags &= ~(FLAG_MOUSEIN | FLAG_ARROW);
|
|
|
|
InvalidateRect (infoPtr->Self, NULL, FALSE);
|
2002-03-28 23:05:18 +01:00
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
ERR("Impossible case (msg=%x)!\n", msg);
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* UpDownWndProc
|
|
|
|
*/
|
2004-10-25 23:47:57 +02:00
|
|
|
static LRESULT WINAPI UpDownWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2002-03-28 23:05:18 +01:00
|
|
|
UPDOWN_INFO *infoPtr = UPDOWN_GetInfoPtr (hwnd);
|
2005-07-25 13:23:42 +02:00
|
|
|
static const WCHAR themeClass[] = {'S','p','i','n',0};
|
|
|
|
HTHEME theme;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2007-05-24 16:41:17 +02:00
|
|
|
TRACE("hwnd=%p msg=%04x wparam=%08lx lparam=%08lx\n", hwnd, message, wParam, lParam);
|
2004-11-09 21:03:47 +01:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
if (!infoPtr && (message != WM_CREATE))
|
2002-06-01 01:06:46 +02:00
|
|
|
return DefWindowProcW (hwnd, message, wParam, lParam);
|
2002-03-28 23:05:18 +01:00
|
|
|
|
|
|
|
switch(message)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2002-03-28 23:05:18 +01:00
|
|
|
case WM_CREATE:
|
2009-12-03 11:38:27 +01:00
|
|
|
{
|
|
|
|
CREATESTRUCTW *pcs = (CREATESTRUCTW*)lParam;
|
|
|
|
|
2008-10-23 23:52:10 +02:00
|
|
|
infoPtr = Alloc (sizeof(UPDOWN_INFO));
|
2004-08-25 19:33:01 +02:00
|
|
|
SetWindowLongPtrW (hwnd, 0, (DWORD_PTR)infoPtr);
|
2002-03-28 23:05:18 +01:00
|
|
|
|
|
|
|
/* initialize the info struct */
|
|
|
|
infoPtr->Self = hwnd;
|
2009-12-03 11:38:27 +01:00
|
|
|
infoPtr->Notify = pcs->hwndParent;
|
|
|
|
infoPtr->dwStyle = pcs->style;
|
2002-03-28 23:05:18 +01:00
|
|
|
infoPtr->AccelCount = 0;
|
|
|
|
infoPtr->AccelVect = 0;
|
|
|
|
infoPtr->AccelIndex = -1;
|
2002-06-01 01:06:46 +02:00
|
|
|
infoPtr->CurVal = 0;
|
2003-09-03 01:05:21 +02:00
|
|
|
infoPtr->MinVal = 100;
|
|
|
|
infoPtr->MaxVal = 0;
|
2002-03-28 23:05:18 +01:00
|
|
|
infoPtr->Base = 10; /* Default to base 10 */
|
|
|
|
infoPtr->Buddy = 0; /* No buddy window yet */
|
2009-09-20 01:57:09 +02:00
|
|
|
infoPtr->Flags = (infoPtr->dwStyle & UDS_SETBUDDYINT) ? FLAG_BUDDYINT : 0;
|
2002-03-28 23:05:18 +01:00
|
|
|
|
2005-03-25 11:27:11 +01:00
|
|
|
SetWindowLongW (hwnd, GWL_STYLE, infoPtr->dwStyle & ~WS_BORDER);
|
2009-12-03 11:38:27 +01:00
|
|
|
if (!(infoPtr->dwStyle & UDS_HORZ))
|
|
|
|
SetWindowPos (hwnd, NULL, 0, 0, DEFAULT_WIDTH, pcs->cy,
|
2009-12-22 20:01:31 +01:00
|
|
|
SWP_NOOWNERZORDER | SWP_NOZORDER | SWP_NOMOVE);
|
2005-03-25 11:27:11 +01:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/* Do we pick the buddy win ourselves? */
|
2005-03-25 11:27:11 +01:00
|
|
|
if (infoPtr->dwStyle & UDS_AUTOBUDDY)
|
2002-03-28 23:05:18 +01:00
|
|
|
UPDOWN_SetBuddy (infoPtr, GetWindow (hwnd, GW_HWNDPREV));
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2009-12-22 20:01:31 +01:00
|
|
|
OpenThemeData (hwnd, themeClass);
|
2005-07-25 13:23:42 +02:00
|
|
|
|
2002-10-24 00:19:10 +02:00
|
|
|
TRACE("UpDown Ctrl creation, hwnd=%p\n", hwnd);
|
2009-12-03 11:38:27 +01:00
|
|
|
}
|
2002-03-28 23:05:18 +01:00
|
|
|
break;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
case WM_DESTROY:
|
2007-03-07 21:55:31 +01:00
|
|
|
Free (infoPtr->AccelVect);
|
2018-01-21 17:51:36 +01:00
|
|
|
UPDOWN_ResetSubclass (infoPtr);
|
2003-09-22 23:32:33 +02:00
|
|
|
Free (infoPtr);
|
2004-08-25 19:33:01 +02:00
|
|
|
SetWindowLongPtrW (hwnd, 0, 0);
|
2005-07-25 13:23:42 +02:00
|
|
|
theme = GetWindowTheme (hwnd);
|
|
|
|
CloseThemeData (theme);
|
2002-10-24 00:19:10 +02:00
|
|
|
TRACE("UpDown Ctrl destruction, hwnd=%p\n", hwnd);
|
2002-03-28 23:05:18 +01:00
|
|
|
break;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
case WM_ENABLE:
|
2005-05-11 14:01:27 +02:00
|
|
|
if (wParam) {
|
|
|
|
infoPtr->dwStyle &= ~WS_DISABLED;
|
|
|
|
} else {
|
|
|
|
infoPtr->dwStyle |= WS_DISABLED;
|
|
|
|
UPDOWN_CancelMode (infoPtr);
|
|
|
|
}
|
2002-04-01 22:57:44 +02:00
|
|
|
InvalidateRect (infoPtr->Self, NULL, FALSE);
|
2002-03-28 23:05:18 +01:00
|
|
|
break;
|
|
|
|
|
2005-03-25 11:27:11 +01:00
|
|
|
case WM_STYLECHANGED:
|
|
|
|
if (wParam == GWL_STYLE) {
|
|
|
|
infoPtr->dwStyle = ((LPSTYLESTRUCT)lParam)->styleNew;
|
|
|
|
InvalidateRect (infoPtr->Self, NULL, FALSE);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
2005-07-25 13:23:42 +02:00
|
|
|
case WM_THEMECHANGED:
|
|
|
|
theme = GetWindowTheme (hwnd);
|
|
|
|
CloseThemeData (theme);
|
|
|
|
OpenThemeData (hwnd, themeClass);
|
|
|
|
InvalidateRect (hwnd, NULL, FALSE);
|
|
|
|
break;
|
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
case WM_TIMER:
|
2002-04-01 22:57:44 +02:00
|
|
|
/* is this the auto-press timer? */
|
|
|
|
if(wParam == TIMER_AUTOPRESS) {
|
|
|
|
KillTimer(hwnd, TIMER_AUTOPRESS);
|
|
|
|
infoPtr->Flags &= ~(FLAG_PRESSED | FLAG_ARROW);
|
|
|
|
InvalidateRect(infoPtr->Self, NULL, FALSE);
|
|
|
|
}
|
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
/* if initial timer, kill it and start the repeat timer */
|
2002-04-01 22:57:44 +02:00
|
|
|
if(wParam == TIMER_AUTOREPEAT) {
|
2010-02-04 17:05:14 +01:00
|
|
|
INT delay;
|
2008-07-27 22:16:59 +02:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
KillTimer(hwnd, TIMER_AUTOREPEAT);
|
2002-03-28 23:05:18 +01:00
|
|
|
/* if no accel info given, used default timer */
|
|
|
|
if(infoPtr->AccelCount==0 || infoPtr->AccelVect==0) {
|
|
|
|
infoPtr->AccelIndex = -1;
|
2010-02-04 17:05:14 +01:00
|
|
|
delay = REPEAT_DELAY;
|
2002-03-28 23:05:18 +01:00
|
|
|
} else {
|
|
|
|
infoPtr->AccelIndex = 0; /* otherwise, use it */
|
2010-02-04 17:05:14 +01:00
|
|
|
delay = infoPtr->AccelVect[infoPtr->AccelIndex].nSec * 1000 + 1;
|
2002-03-28 23:05:18 +01:00
|
|
|
}
|
2010-02-04 17:05:14 +01:00
|
|
|
SetTimer(hwnd, TIMER_ACCEL, delay, 0);
|
2002-03-28 23:05:18 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/* now, if the mouse is above us, do the thing...*/
|
|
|
|
if(infoPtr->Flags & FLAG_MOUSEIN) {
|
2008-07-27 22:16:59 +02:00
|
|
|
int temp;
|
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
temp = infoPtr->AccelIndex == -1 ? 1 : infoPtr->AccelVect[infoPtr->AccelIndex].nInc;
|
2002-04-01 22:57:44 +02:00
|
|
|
UPDOWN_DoAction(infoPtr, temp, infoPtr->Flags & FLAG_ARROW);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
if(infoPtr->AccelIndex != -1 && infoPtr->AccelIndex < infoPtr->AccelCount-1) {
|
2002-04-01 22:57:44 +02:00
|
|
|
KillTimer(hwnd, TIMER_ACCEL);
|
2002-03-28 23:05:18 +01:00
|
|
|
infoPtr->AccelIndex++; /* move to the next accel info */
|
|
|
|
temp = infoPtr->AccelVect[infoPtr->AccelIndex].nSec * 1000 + 1;
|
|
|
|
/* make sure we have at least 1ms intervals */
|
2002-06-01 01:06:46 +02:00
|
|
|
SetTimer(hwnd, TIMER_ACCEL, temp, 0);
|
2002-03-28 23:05:18 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case WM_CANCELMODE:
|
|
|
|
return UPDOWN_CancelMode (infoPtr);
|
|
|
|
|
|
|
|
case WM_LBUTTONUP:
|
2002-04-01 22:57:44 +02:00
|
|
|
if (GetCapture() != infoPtr->Self) break;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-04-01 22:57:44 +02:00
|
|
|
if ( (infoPtr->Flags & FLAG_MOUSEIN) &&
|
|
|
|
(infoPtr->Flags & FLAG_ARROW) ) {
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2003-11-20 23:04:13 +01:00
|
|
|
SendMessageW( infoPtr->Notify,
|
2005-03-25 11:27:11 +01:00
|
|
|
(infoPtr->dwStyle & UDS_HORZ) ? WM_HSCROLL : WM_VSCROLL,
|
2002-09-06 21:41:17 +02:00
|
|
|
MAKELONG(SB_ENDSCROLL, infoPtr->CurVal),
|
|
|
|
(LPARAM)hwnd);
|
2002-04-01 22:57:44 +02:00
|
|
|
if (UPDOWN_IsBuddyEdit(infoPtr))
|
|
|
|
SendMessageW(infoPtr->Buddy, EM_SETSEL, 0, MAKELONG(0, -1));
|
|
|
|
}
|
|
|
|
UPDOWN_CancelMode(infoPtr);
|
2002-03-28 23:05:18 +01:00
|
|
|
break;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
case WM_LBUTTONDOWN:
|
|
|
|
case WM_MOUSEMOVE:
|
2005-07-25 13:23:42 +02:00
|
|
|
case WM_MOUSELEAVE:
|
2002-09-09 21:21:30 +02:00
|
|
|
if(UPDOWN_IsEnabled(infoPtr))
|
2004-11-24 19:28:31 +01:00
|
|
|
UPDOWN_HandleMouseEvent (infoPtr, message, (SHORT)LOWORD(lParam), (SHORT)HIWORD(lParam));
|
2002-03-28 23:05:18 +01:00
|
|
|
break;
|
|
|
|
|
2008-04-11 09:19:58 +02:00
|
|
|
case WM_MOUSEWHEEL:
|
|
|
|
UPDOWN_MouseWheel(infoPtr, wParam);
|
|
|
|
break;
|
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
case WM_KEYDOWN:
|
2005-03-25 11:27:11 +01:00
|
|
|
if((infoPtr->dwStyle & UDS_ARROWKEYS) && UPDOWN_IsEnabled(infoPtr))
|
2002-04-01 22:57:44 +02:00
|
|
|
return UPDOWN_KeyPressed(infoPtr, (int)wParam);
|
2002-03-28 23:05:18 +01:00
|
|
|
break;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2005-11-08 13:52:35 +01:00
|
|
|
case WM_PRINTCLIENT:
|
2002-03-28 23:05:18 +01:00
|
|
|
case WM_PAINT:
|
2002-04-01 22:57:44 +02:00
|
|
|
return UPDOWN_Paint (infoPtr, (HDC)wParam);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
case UDM_GETACCEL:
|
|
|
|
if (wParam==0 && lParam==0) return infoPtr->AccelCount;
|
|
|
|
if (wParam && lParam) {
|
2008-07-27 22:16:59 +02:00
|
|
|
int temp = min(infoPtr->AccelCount, wParam);
|
2002-03-28 23:05:18 +01:00
|
|
|
memcpy((void *)lParam, infoPtr->AccelVect, temp*sizeof(UDACCEL));
|
|
|
|
return temp;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
case UDM_SETACCEL:
|
2008-07-27 22:16:59 +02:00
|
|
|
{
|
2004-11-09 21:03:47 +01:00
|
|
|
TRACE("UDM_SETACCEL\n");
|
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
if(infoPtr->AccelVect) {
|
2003-09-22 23:32:33 +02:00
|
|
|
Free (infoPtr->AccelVect);
|
2002-03-28 23:05:18 +01:00
|
|
|
infoPtr->AccelCount = 0;
|
|
|
|
infoPtr->AccelVect = 0;
|
|
|
|
}
|
|
|
|
if(wParam==0) return TRUE;
|
2003-09-22 23:32:33 +02:00
|
|
|
infoPtr->AccelVect = Alloc (wParam*sizeof(UDACCEL));
|
2002-03-28 23:05:18 +01:00
|
|
|
if(infoPtr->AccelVect == 0) return FALSE;
|
|
|
|
memcpy(infoPtr->AccelVect, (void*)lParam, wParam*sizeof(UDACCEL));
|
2004-11-09 21:03:47 +01:00
|
|
|
infoPtr->AccelCount = wParam;
|
|
|
|
|
2010-02-04 17:05:14 +01:00
|
|
|
if (TRACE_ON(updown))
|
|
|
|
{
|
2012-12-28 23:05:31 +01:00
|
|
|
UINT i;
|
2010-02-04 17:05:14 +01:00
|
|
|
|
|
|
|
for (i = 0; i < wParam; i++)
|
2012-12-28 23:05:31 +01:00
|
|
|
TRACE("%u: nSec %u nInc %u\n", i,
|
2010-02-04 17:05:14 +01:00
|
|
|
infoPtr->AccelVect[i].nSec, infoPtr->AccelVect[i].nInc);
|
|
|
|
}
|
2004-11-09 21:03:47 +01:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
return TRUE;
|
2008-07-27 22:16:59 +02:00
|
|
|
}
|
2002-03-28 23:05:18 +01:00
|
|
|
case UDM_GETBASE:
|
|
|
|
return infoPtr->Base;
|
|
|
|
|
|
|
|
case UDM_SETBASE:
|
2007-05-24 16:41:17 +02:00
|
|
|
TRACE("UpDown Ctrl new base(%ld), hwnd=%p\n", wParam, hwnd);
|
2002-03-28 23:05:18 +01:00
|
|
|
if (wParam==10 || wParam==16) {
|
2009-09-20 12:05:18 +02:00
|
|
|
WPARAM old_base = infoPtr->Base;
|
2002-03-28 23:05:18 +01:00
|
|
|
infoPtr->Base = wParam;
|
2009-09-20 12:05:18 +02:00
|
|
|
|
|
|
|
if (old_base != infoPtr->Base)
|
|
|
|
UPDOWN_SetBuddyInt(infoPtr);
|
|
|
|
|
|
|
|
return old_base;
|
2002-03-28 23:05:18 +01:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case UDM_GETBUDDY:
|
2002-09-06 21:41:17 +02:00
|
|
|
return (LRESULT)infoPtr->Buddy;
|
2002-03-28 23:05:18 +01:00
|
|
|
|
|
|
|
case UDM_SETBUDDY:
|
2004-03-15 21:20:41 +01:00
|
|
|
return (LRESULT)UPDOWN_SetBuddy (infoPtr, (HWND)wParam);
|
2002-03-28 23:05:18 +01:00
|
|
|
|
|
|
|
case UDM_GETPOS:
|
2008-07-27 22:16:59 +02:00
|
|
|
{
|
2013-10-16 16:34:51 +02:00
|
|
|
BOOL err;
|
|
|
|
int pos;
|
|
|
|
|
|
|
|
pos = UPDOWN_GetPos(infoPtr, &err);
|
|
|
|
return MAKELONG(pos, err);
|
2008-07-27 22:16:59 +02:00
|
|
|
}
|
2002-03-28 23:05:18 +01:00
|
|
|
case UDM_SETPOS:
|
2008-07-27 22:16:59 +02:00
|
|
|
{
|
2013-10-16 16:34:39 +02:00
|
|
|
return UPDOWN_SetPos(infoPtr, (short)LOWORD(lParam));
|
2008-07-27 22:16:59 +02:00
|
|
|
}
|
2002-03-28 23:05:18 +01:00
|
|
|
case UDM_GETRANGE:
|
|
|
|
return MAKELONG(infoPtr->MaxVal, infoPtr->MinVal);
|
|
|
|
|
|
|
|
case UDM_SETRANGE:
|
2009-04-10 10:52:27 +02:00
|
|
|
/* we must have:
|
|
|
|
UD_MINVAL <= Max <= UD_MAXVAL
|
|
|
|
UD_MINVAL <= Min <= UD_MAXVAL
|
|
|
|
|Max-Min| <= UD_MAXVAL */
|
|
|
|
UPDOWN_SetRange(infoPtr, (short)lParam, (short)HIWORD(lParam));
|
2002-06-01 01:06:46 +02:00
|
|
|
break;
|
2002-03-28 23:05:18 +01:00
|
|
|
|
|
|
|
case UDM_GETRANGE32:
|
|
|
|
if (wParam) *(LPINT)wParam = infoPtr->MinVal;
|
|
|
|
if (lParam) *(LPINT)lParam = infoPtr->MaxVal;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case UDM_SETRANGE32:
|
2009-04-10 10:52:27 +02:00
|
|
|
UPDOWN_SetRange(infoPtr, (INT)lParam, (INT)wParam);
|
2002-03-28 23:05:18 +01:00
|
|
|
break;
|
|
|
|
|
|
|
|
case UDM_GETPOS32:
|
2009-09-20 01:57:09 +02:00
|
|
|
{
|
2013-10-16 16:34:51 +02:00
|
|
|
return UPDOWN_GetPos(infoPtr, (BOOL*)lParam);
|
2009-09-20 01:57:09 +02:00
|
|
|
}
|
2002-03-28 23:05:18 +01:00
|
|
|
case UDM_SETPOS32:
|
2008-07-27 22:16:59 +02:00
|
|
|
{
|
2013-10-16 16:34:39 +02:00
|
|
|
return UPDOWN_SetPos(infoPtr, (int)lParam);
|
2008-07-27 22:16:59 +02:00
|
|
|
}
|
2002-04-01 22:57:44 +02:00
|
|
|
case UDM_GETUNICODEFORMAT:
|
|
|
|
/* we lie a bit here, we're always using Unicode internally */
|
|
|
|
return infoPtr->UnicodeFormat;
|
|
|
|
|
|
|
|
case UDM_SETUNICODEFORMAT:
|
2008-07-27 22:16:59 +02:00
|
|
|
{
|
2002-04-01 22:57:44 +02:00
|
|
|
/* do we really need to honour this flag? */
|
2008-07-27 22:16:59 +02:00
|
|
|
int temp = infoPtr->UnicodeFormat;
|
2002-04-01 22:57:44 +02:00
|
|
|
infoPtr->UnicodeFormat = (BOOL)wParam;
|
|
|
|
return temp;
|
2008-07-27 22:16:59 +02:00
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
default:
|
2008-07-22 00:18:09 +02:00
|
|
|
if ((message >= WM_USER) && (message < WM_APP) && !COMCTL32_IsReflectedMessage(message))
|
2007-05-24 16:41:17 +02:00
|
|
|
ERR("unknown msg %04x wp=%04lx lp=%08lx\n", message, wParam, lParam);
|
2002-06-01 01:06:46 +02:00
|
|
|
return DefWindowProcW (hwnd, message, wParam, lParam);
|
|
|
|
}
|
1997-08-24 18:00:30 +02:00
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
Release 980517
Sun May 17 16:23:56 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/profile.c]
Fix the return value of PROFILE_GetSection
* [misc/crtdll.c]
Do _getdrive, fix _chdrive.
* [misc/commdlg.c]
First cut at ChooseColor[WA].
* [misc/network.c]
Do something sensible for WNetGetDirectoryType16.
Sun May 17 10:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [controls/menu.c]
Fixed disabled sub menus with MF_BYPOSITION that were not disabled.
* [misc/crtdll.c] [relay32/crtdll.spec] [include/winerror.h]
Implemented fscanf, fsetpos, _access, _fpreset (thanks to Uwe Bonnes),
and _ltoa.
* [loader/task.c]
MakeProcInstance: must use CURRENT_DS if hInst == NULL.
* [misc/shell.c]
SHELL_GetResourceTable, InternalExtractIcon: fixed broken .ICO handling
* [windows/winpos.c]
DeferWindowPos: removed "same parent" requirement.
Which doc states that this is required ?
Sat May 16 20:08:11 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/module.c] [loader/ne/module.c]
More NE module cleanups.
* [loader/task.c]
Fixed SwitchStackBack().
Fri May 15 10:04:27 1998 Marcus Meissner <marcus@jet.franken.de>
* [configure.in][inlcude/acconfig.h]
Fixed broken OSS check, added check for working sigaltstack,
fixed broken statfs checks on some linux systems.
* [files/directory.c][loader/pe_image.c][relay32/builtin.c]
[loader/module.c]
Added handling of win32 module pathnames.
* [relay32/wnaspi32.spec]
New file.
* [misc/lzexpand.c]
LZCopy auto-decompresses LZ compressed files, even if they are not
specially flagged. Fixes some InstallShield problems.
* [misc/registry.c]
Some fixes for RegQueryInfoKey (reference program monkey.exe
from Win32 SDK works now better). Probably still has faults.
Fri May 15 08:58:58 1998 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/mapping.c] [include/dc.h] [include/gdi.h] [objects/dc.c]
Reworked the way world transformations and mapping modes are handled
so that both of these transformations can be computed in a single
step.
* [graphics/painting.c] [graphics/path.c] [include/path.h]
More GDI path support.
* [graphics/x11drv/graphics.c]
Fixed the return value of GRAPH_DrawArc for the zero height /
zero width case to reflect Windows' behaviour.
* [include/windows.h] [relay32/gdi32.spec] [objects/dc.c]
Implemented ModifyWorldTransform and CombineTransform.
Tue May 14 18:03:46 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][relay32/comctl32.spec]
[controls/*.c][include/*.h]
Implemented InitCommonControlsEx (dll version 4.72 compatible).
InitCommonControls calls ImageCommonControlsEx.
Registering code of the common controls had to be changed
(see XXXX_Register functions).
* [controls/status.c][include/commctrl.h][include/status.h]
Implemented most new features and fixed the look and feel.
* [contols/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Implemented MenuHelp (incomplete).
* [controls/status.c][controls/progress.c]
Changed allocation strategy for control specific memory.
* [controls/header.c][include/header.h][include/commctrl.h]
First implementation of header control.
* [windows/defwnd.c][windows/syscolors.c]
Fixed default control colors for Win95 look.
* [windows/nonclient.c]
Fixed off by one error for Win95 look. Top border of child windows
should be visible.
* [misc/imagelist.h]
Improved documentation and fixed some bugs.
Thu May 14 15:42:21 1998 Robert Wilhelm <robert@physiol.med.tu-muenchen.de>
* [relay32/crtdll.spec]
Added hypot,j0,j1,jn and ceil.
Wed May 13 19:10:10 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [controls/listbox.c]
Item height is now exactly font height.
Wine listboxes now behave like Windows' when they are
created without WS_VSCROLL but the program subsequently
calls ShowScrollBar or SetScrollInfo.
Wed May 13 18:33:01 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [relay32/relay386.c]
Restore ES also in the non-debug case.
* [windows/event.c]
Bugfix: Blocking TSXNextEvent could deadlock Wine.
* [win32/process.c] [windows/message.c]
Silly stubs for MsgWaitForMultipleObjects / PostThreadMessage
that make some programs run better.
* [windows/winproc.c]
WINPROC_MapMsg32Ato16/16To32A: added WM_NOTIFY.
* [win32/kernel32.c]
Added 16->32 thunking and improved 32->16 thunking functions.
* [tools/build.c]
Added new variant of CallFrom16 stub for use with Win95 thunks.
* [if1632/kernel.spec] [if1632/builtin.c] [win32/kernel32.c]
Added a few undocumented KERNEL functions.
* [loader/ne/module.c] [loader/ne/segment.c]
Call DllEntryPoint for 16-bit DLLs with subsystem >= 4.0.
* [win32/kernel32.spec] [win32/wow32.spec] [win32/ordinals.c]
Use names from the Oct 94 beta release for undoc. functions.
Wed May 13 14:18:26 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Code cleanup.
* [misc/cpu.c]
Commented out the registry puts temporarily.
* [programs/regtest/*]
New registry testing program.
Tue May 12 22:54:03 1998 Michael Mess <michael@kawo2.rwth-aachen.de>
* [multimedia/audio.c]
ioctl's do not commute in /dev/dsp initialization.
Tue May 12 20:11:42 1998 Karl Garrison <karlos@eznet.net>
* [win32/console.c]
Implemented SetConsoleTextAttribute, FillConsoleOutputCharacter.
Improved cursor positioning.
This allows for text colors in an xterm, rxvt, or console.
Tue May 12 17:57:52 1998 Petter Reinholdtsen <pere@td.org.uit.no>
* [Makefile.in]
Create prefix/{bin|lib} directories if missing during install.
Sun May 10 19:37:51 1998 Jan Willamowius <jan@janhh.shnet.org>
* [multimedia/mmio.c]
Have mmioSetBuffer return success (0), so Corel Draw 4
keeps working. (IO is still unbuffered)
Wed May 6 16:57:55 1998 James Juran <jrj120@psu.edu>
* [Makefile.in] [Make.rules.in]
Changed "make clean" to remove `textedit` backup files (*%)
* [controls/menu.c][graphics/x11drv/xfont.c][include/libres.h]
[loader/main.c][loader/ne/module.c][scheduler/synchro.c]
[win32/time.c][windows/winpos.c][include/windows.h]
Fixed miscellaneous compilation warnings.
* [misc/main.c][miscemu/main.c][include/main.h]
Moved prototypes to new include file main.h, various cleanups.
Tue May 5 21:05:06 1998 Morten Welinder <terra@diku.dk>
* [misc/winsock.c]
Don't refer to __FreeBSD__ when HAVE_STRERROR is meant.
* [misc/debugstr.c]
For debug_dumpstrSend, send strings to stderr.
Tue May 5 21:47:40 1998 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [objects/region.c]
Fix for REGION_RegionOp() if newReg is one of the source regions.
Tue May 5 18:27:32 1998 Jim Peterson <jspeter@roanoke.infi.net>
* [misc/main.c]
Add '-h/-help' option and print WINE_RELEASE_INFO with usage message.
* [misc/spy.c]
Realign trace messages.
Tue May 5 15:46:47 1998 Donnie V. Savage <dsavage@cisco.com>
* [graphics/ddraw.c]
Fixed compile warnings
* [misc/winsock.c]
Warnings should not be errors.
Tue May 5 13:40:42 1998 Jim Peterson <jspeter@roanoke.infi.net>
* [*/*]
Remove many warnings through explicit casts, added #include's,
and corrected printf formats.
Tue May 5 05:18:12 1998 Insomnia (Stea Greene) <insomnia@core.binghamton.edu>
* [graphics/ddraw.c]
Kept unchanged portion of old palette when changing only a few
palette entries. Really should only deallocate the changed cells.
This make StarCraft work almost perfectly (sound overflows still
cause static).
Mon May 4 15:04:57 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/lstr.c]
FormatMessage: terminate string on %0, undo linefeed strip.
1998-05-17 19:13:43 +02:00
|
|
|
/***********************************************************************
|
1998-10-24 12:49:27 +02:00
|
|
|
* UPDOWN_Register [Internal]
|
Release 980517
Sun May 17 16:23:56 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/profile.c]
Fix the return value of PROFILE_GetSection
* [misc/crtdll.c]
Do _getdrive, fix _chdrive.
* [misc/commdlg.c]
First cut at ChooseColor[WA].
* [misc/network.c]
Do something sensible for WNetGetDirectoryType16.
Sun May 17 10:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [controls/menu.c]
Fixed disabled sub menus with MF_BYPOSITION that were not disabled.
* [misc/crtdll.c] [relay32/crtdll.spec] [include/winerror.h]
Implemented fscanf, fsetpos, _access, _fpreset (thanks to Uwe Bonnes),
and _ltoa.
* [loader/task.c]
MakeProcInstance: must use CURRENT_DS if hInst == NULL.
* [misc/shell.c]
SHELL_GetResourceTable, InternalExtractIcon: fixed broken .ICO handling
* [windows/winpos.c]
DeferWindowPos: removed "same parent" requirement.
Which doc states that this is required ?
Sat May 16 20:08:11 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/module.c] [loader/ne/module.c]
More NE module cleanups.
* [loader/task.c]
Fixed SwitchStackBack().
Fri May 15 10:04:27 1998 Marcus Meissner <marcus@jet.franken.de>
* [configure.in][inlcude/acconfig.h]
Fixed broken OSS check, added check for working sigaltstack,
fixed broken statfs checks on some linux systems.
* [files/directory.c][loader/pe_image.c][relay32/builtin.c]
[loader/module.c]
Added handling of win32 module pathnames.
* [relay32/wnaspi32.spec]
New file.
* [misc/lzexpand.c]
LZCopy auto-decompresses LZ compressed files, even if they are not
specially flagged. Fixes some InstallShield problems.
* [misc/registry.c]
Some fixes for RegQueryInfoKey (reference program monkey.exe
from Win32 SDK works now better). Probably still has faults.
Fri May 15 08:58:58 1998 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/mapping.c] [include/dc.h] [include/gdi.h] [objects/dc.c]
Reworked the way world transformations and mapping modes are handled
so that both of these transformations can be computed in a single
step.
* [graphics/painting.c] [graphics/path.c] [include/path.h]
More GDI path support.
* [graphics/x11drv/graphics.c]
Fixed the return value of GRAPH_DrawArc for the zero height /
zero width case to reflect Windows' behaviour.
* [include/windows.h] [relay32/gdi32.spec] [objects/dc.c]
Implemented ModifyWorldTransform and CombineTransform.
Tue May 14 18:03:46 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][relay32/comctl32.spec]
[controls/*.c][include/*.h]
Implemented InitCommonControlsEx (dll version 4.72 compatible).
InitCommonControls calls ImageCommonControlsEx.
Registering code of the common controls had to be changed
(see XXXX_Register functions).
* [controls/status.c][include/commctrl.h][include/status.h]
Implemented most new features and fixed the look and feel.
* [contols/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Implemented MenuHelp (incomplete).
* [controls/status.c][controls/progress.c]
Changed allocation strategy for control specific memory.
* [controls/header.c][include/header.h][include/commctrl.h]
First implementation of header control.
* [windows/defwnd.c][windows/syscolors.c]
Fixed default control colors for Win95 look.
* [windows/nonclient.c]
Fixed off by one error for Win95 look. Top border of child windows
should be visible.
* [misc/imagelist.h]
Improved documentation and fixed some bugs.
Thu May 14 15:42:21 1998 Robert Wilhelm <robert@physiol.med.tu-muenchen.de>
* [relay32/crtdll.spec]
Added hypot,j0,j1,jn and ceil.
Wed May 13 19:10:10 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [controls/listbox.c]
Item height is now exactly font height.
Wine listboxes now behave like Windows' when they are
created without WS_VSCROLL but the program subsequently
calls ShowScrollBar or SetScrollInfo.
Wed May 13 18:33:01 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [relay32/relay386.c]
Restore ES also in the non-debug case.
* [windows/event.c]
Bugfix: Blocking TSXNextEvent could deadlock Wine.
* [win32/process.c] [windows/message.c]
Silly stubs for MsgWaitForMultipleObjects / PostThreadMessage
that make some programs run better.
* [windows/winproc.c]
WINPROC_MapMsg32Ato16/16To32A: added WM_NOTIFY.
* [win32/kernel32.c]
Added 16->32 thunking and improved 32->16 thunking functions.
* [tools/build.c]
Added new variant of CallFrom16 stub for use with Win95 thunks.
* [if1632/kernel.spec] [if1632/builtin.c] [win32/kernel32.c]
Added a few undocumented KERNEL functions.
* [loader/ne/module.c] [loader/ne/segment.c]
Call DllEntryPoint for 16-bit DLLs with subsystem >= 4.0.
* [win32/kernel32.spec] [win32/wow32.spec] [win32/ordinals.c]
Use names from the Oct 94 beta release for undoc. functions.
Wed May 13 14:18:26 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Code cleanup.
* [misc/cpu.c]
Commented out the registry puts temporarily.
* [programs/regtest/*]
New registry testing program.
Tue May 12 22:54:03 1998 Michael Mess <michael@kawo2.rwth-aachen.de>
* [multimedia/audio.c]
ioctl's do not commute in /dev/dsp initialization.
Tue May 12 20:11:42 1998 Karl Garrison <karlos@eznet.net>
* [win32/console.c]
Implemented SetConsoleTextAttribute, FillConsoleOutputCharacter.
Improved cursor positioning.
This allows for text colors in an xterm, rxvt, or console.
Tue May 12 17:57:52 1998 Petter Reinholdtsen <pere@td.org.uit.no>
* [Makefile.in]
Create prefix/{bin|lib} directories if missing during install.
Sun May 10 19:37:51 1998 Jan Willamowius <jan@janhh.shnet.org>
* [multimedia/mmio.c]
Have mmioSetBuffer return success (0), so Corel Draw 4
keeps working. (IO is still unbuffered)
Wed May 6 16:57:55 1998 James Juran <jrj120@psu.edu>
* [Makefile.in] [Make.rules.in]
Changed "make clean" to remove `textedit` backup files (*%)
* [controls/menu.c][graphics/x11drv/xfont.c][include/libres.h]
[loader/main.c][loader/ne/module.c][scheduler/synchro.c]
[win32/time.c][windows/winpos.c][include/windows.h]
Fixed miscellaneous compilation warnings.
* [misc/main.c][miscemu/main.c][include/main.h]
Moved prototypes to new include file main.h, various cleanups.
Tue May 5 21:05:06 1998 Morten Welinder <terra@diku.dk>
* [misc/winsock.c]
Don't refer to __FreeBSD__ when HAVE_STRERROR is meant.
* [misc/debugstr.c]
For debug_dumpstrSend, send strings to stderr.
Tue May 5 21:47:40 1998 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [objects/region.c]
Fix for REGION_RegionOp() if newReg is one of the source regions.
Tue May 5 18:27:32 1998 Jim Peterson <jspeter@roanoke.infi.net>
* [misc/main.c]
Add '-h/-help' option and print WINE_RELEASE_INFO with usage message.
* [misc/spy.c]
Realign trace messages.
Tue May 5 15:46:47 1998 Donnie V. Savage <dsavage@cisco.com>
* [graphics/ddraw.c]
Fixed compile warnings
* [misc/winsock.c]
Warnings should not be errors.
Tue May 5 13:40:42 1998 Jim Peterson <jspeter@roanoke.infi.net>
* [*/*]
Remove many warnings through explicit casts, added #include's,
and corrected printf formats.
Tue May 5 05:18:12 1998 Insomnia (Stea Greene) <insomnia@core.binghamton.edu>
* [graphics/ddraw.c]
Kept unchanged portion of old palette when changing only a few
palette entries. Really should only deallocate the changed cells.
This make StarCraft work almost perfectly (sound overflows still
cause static).
Mon May 4 15:04:57 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/lstr.c]
FormatMessage: terminate string on %0, undo linefeed strip.
1998-05-17 19:13:43 +02:00
|
|
|
*
|
|
|
|
* Registers the updown window class.
|
|
|
|
*/
|
2002-09-04 20:45:42 +02:00
|
|
|
void UPDOWN_Register(void)
|
Release 980517
Sun May 17 16:23:56 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/profile.c]
Fix the return value of PROFILE_GetSection
* [misc/crtdll.c]
Do _getdrive, fix _chdrive.
* [misc/commdlg.c]
First cut at ChooseColor[WA].
* [misc/network.c]
Do something sensible for WNetGetDirectoryType16.
Sun May 17 10:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [controls/menu.c]
Fixed disabled sub menus with MF_BYPOSITION that were not disabled.
* [misc/crtdll.c] [relay32/crtdll.spec] [include/winerror.h]
Implemented fscanf, fsetpos, _access, _fpreset (thanks to Uwe Bonnes),
and _ltoa.
* [loader/task.c]
MakeProcInstance: must use CURRENT_DS if hInst == NULL.
* [misc/shell.c]
SHELL_GetResourceTable, InternalExtractIcon: fixed broken .ICO handling
* [windows/winpos.c]
DeferWindowPos: removed "same parent" requirement.
Which doc states that this is required ?
Sat May 16 20:08:11 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/module.c] [loader/ne/module.c]
More NE module cleanups.
* [loader/task.c]
Fixed SwitchStackBack().
Fri May 15 10:04:27 1998 Marcus Meissner <marcus@jet.franken.de>
* [configure.in][inlcude/acconfig.h]
Fixed broken OSS check, added check for working sigaltstack,
fixed broken statfs checks on some linux systems.
* [files/directory.c][loader/pe_image.c][relay32/builtin.c]
[loader/module.c]
Added handling of win32 module pathnames.
* [relay32/wnaspi32.spec]
New file.
* [misc/lzexpand.c]
LZCopy auto-decompresses LZ compressed files, even if they are not
specially flagged. Fixes some InstallShield problems.
* [misc/registry.c]
Some fixes for RegQueryInfoKey (reference program monkey.exe
from Win32 SDK works now better). Probably still has faults.
Fri May 15 08:58:58 1998 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/mapping.c] [include/dc.h] [include/gdi.h] [objects/dc.c]
Reworked the way world transformations and mapping modes are handled
so that both of these transformations can be computed in a single
step.
* [graphics/painting.c] [graphics/path.c] [include/path.h]
More GDI path support.
* [graphics/x11drv/graphics.c]
Fixed the return value of GRAPH_DrawArc for the zero height /
zero width case to reflect Windows' behaviour.
* [include/windows.h] [relay32/gdi32.spec] [objects/dc.c]
Implemented ModifyWorldTransform and CombineTransform.
Tue May 14 18:03:46 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][relay32/comctl32.spec]
[controls/*.c][include/*.h]
Implemented InitCommonControlsEx (dll version 4.72 compatible).
InitCommonControls calls ImageCommonControlsEx.
Registering code of the common controls had to be changed
(see XXXX_Register functions).
* [controls/status.c][include/commctrl.h][include/status.h]
Implemented most new features and fixed the look and feel.
* [contols/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Implemented MenuHelp (incomplete).
* [controls/status.c][controls/progress.c]
Changed allocation strategy for control specific memory.
* [controls/header.c][include/header.h][include/commctrl.h]
First implementation of header control.
* [windows/defwnd.c][windows/syscolors.c]
Fixed default control colors for Win95 look.
* [windows/nonclient.c]
Fixed off by one error for Win95 look. Top border of child windows
should be visible.
* [misc/imagelist.h]
Improved documentation and fixed some bugs.
Thu May 14 15:42:21 1998 Robert Wilhelm <robert@physiol.med.tu-muenchen.de>
* [relay32/crtdll.spec]
Added hypot,j0,j1,jn and ceil.
Wed May 13 19:10:10 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [controls/listbox.c]
Item height is now exactly font height.
Wine listboxes now behave like Windows' when they are
created without WS_VSCROLL but the program subsequently
calls ShowScrollBar or SetScrollInfo.
Wed May 13 18:33:01 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [relay32/relay386.c]
Restore ES also in the non-debug case.
* [windows/event.c]
Bugfix: Blocking TSXNextEvent could deadlock Wine.
* [win32/process.c] [windows/message.c]
Silly stubs for MsgWaitForMultipleObjects / PostThreadMessage
that make some programs run better.
* [windows/winproc.c]
WINPROC_MapMsg32Ato16/16To32A: added WM_NOTIFY.
* [win32/kernel32.c]
Added 16->32 thunking and improved 32->16 thunking functions.
* [tools/build.c]
Added new variant of CallFrom16 stub for use with Win95 thunks.
* [if1632/kernel.spec] [if1632/builtin.c] [win32/kernel32.c]
Added a few undocumented KERNEL functions.
* [loader/ne/module.c] [loader/ne/segment.c]
Call DllEntryPoint for 16-bit DLLs with subsystem >= 4.0.
* [win32/kernel32.spec] [win32/wow32.spec] [win32/ordinals.c]
Use names from the Oct 94 beta release for undoc. functions.
Wed May 13 14:18:26 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Code cleanup.
* [misc/cpu.c]
Commented out the registry puts temporarily.
* [programs/regtest/*]
New registry testing program.
Tue May 12 22:54:03 1998 Michael Mess <michael@kawo2.rwth-aachen.de>
* [multimedia/audio.c]
ioctl's do not commute in /dev/dsp initialization.
Tue May 12 20:11:42 1998 Karl Garrison <karlos@eznet.net>
* [win32/console.c]
Implemented SetConsoleTextAttribute, FillConsoleOutputCharacter.
Improved cursor positioning.
This allows for text colors in an xterm, rxvt, or console.
Tue May 12 17:57:52 1998 Petter Reinholdtsen <pere@td.org.uit.no>
* [Makefile.in]
Create prefix/{bin|lib} directories if missing during install.
Sun May 10 19:37:51 1998 Jan Willamowius <jan@janhh.shnet.org>
* [multimedia/mmio.c]
Have mmioSetBuffer return success (0), so Corel Draw 4
keeps working. (IO is still unbuffered)
Wed May 6 16:57:55 1998 James Juran <jrj120@psu.edu>
* [Makefile.in] [Make.rules.in]
Changed "make clean" to remove `textedit` backup files (*%)
* [controls/menu.c][graphics/x11drv/xfont.c][include/libres.h]
[loader/main.c][loader/ne/module.c][scheduler/synchro.c]
[win32/time.c][windows/winpos.c][include/windows.h]
Fixed miscellaneous compilation warnings.
* [misc/main.c][miscemu/main.c][include/main.h]
Moved prototypes to new include file main.h, various cleanups.
Tue May 5 21:05:06 1998 Morten Welinder <terra@diku.dk>
* [misc/winsock.c]
Don't refer to __FreeBSD__ when HAVE_STRERROR is meant.
* [misc/debugstr.c]
For debug_dumpstrSend, send strings to stderr.
Tue May 5 21:47:40 1998 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [objects/region.c]
Fix for REGION_RegionOp() if newReg is one of the source regions.
Tue May 5 18:27:32 1998 Jim Peterson <jspeter@roanoke.infi.net>
* [misc/main.c]
Add '-h/-help' option and print WINE_RELEASE_INFO with usage message.
* [misc/spy.c]
Realign trace messages.
Tue May 5 15:46:47 1998 Donnie V. Savage <dsavage@cisco.com>
* [graphics/ddraw.c]
Fixed compile warnings
* [misc/winsock.c]
Warnings should not be errors.
Tue May 5 13:40:42 1998 Jim Peterson <jspeter@roanoke.infi.net>
* [*/*]
Remove many warnings through explicit casts, added #include's,
and corrected printf formats.
Tue May 5 05:18:12 1998 Insomnia (Stea Greene) <insomnia@core.binghamton.edu>
* [graphics/ddraw.c]
Kept unchanged portion of old palette when changing only a few
palette entries. Really should only deallocate the changed cells.
This make StarCraft work almost perfectly (sound overflows still
cause static).
Mon May 4 15:04:57 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/lstr.c]
FormatMessage: terminate string on %0, undo linefeed strip.
1998-05-17 19:13:43 +02:00
|
|
|
{
|
2002-03-28 23:05:18 +01:00
|
|
|
WNDCLASSW wndClass;
|
Release 980517
Sun May 17 16:23:56 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/profile.c]
Fix the return value of PROFILE_GetSection
* [misc/crtdll.c]
Do _getdrive, fix _chdrive.
* [misc/commdlg.c]
First cut at ChooseColor[WA].
* [misc/network.c]
Do something sensible for WNetGetDirectoryType16.
Sun May 17 10:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [controls/menu.c]
Fixed disabled sub menus with MF_BYPOSITION that were not disabled.
* [misc/crtdll.c] [relay32/crtdll.spec] [include/winerror.h]
Implemented fscanf, fsetpos, _access, _fpreset (thanks to Uwe Bonnes),
and _ltoa.
* [loader/task.c]
MakeProcInstance: must use CURRENT_DS if hInst == NULL.
* [misc/shell.c]
SHELL_GetResourceTable, InternalExtractIcon: fixed broken .ICO handling
* [windows/winpos.c]
DeferWindowPos: removed "same parent" requirement.
Which doc states that this is required ?
Sat May 16 20:08:11 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/module.c] [loader/ne/module.c]
More NE module cleanups.
* [loader/task.c]
Fixed SwitchStackBack().
Fri May 15 10:04:27 1998 Marcus Meissner <marcus@jet.franken.de>
* [configure.in][inlcude/acconfig.h]
Fixed broken OSS check, added check for working sigaltstack,
fixed broken statfs checks on some linux systems.
* [files/directory.c][loader/pe_image.c][relay32/builtin.c]
[loader/module.c]
Added handling of win32 module pathnames.
* [relay32/wnaspi32.spec]
New file.
* [misc/lzexpand.c]
LZCopy auto-decompresses LZ compressed files, even if they are not
specially flagged. Fixes some InstallShield problems.
* [misc/registry.c]
Some fixes for RegQueryInfoKey (reference program monkey.exe
from Win32 SDK works now better). Probably still has faults.
Fri May 15 08:58:58 1998 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/mapping.c] [include/dc.h] [include/gdi.h] [objects/dc.c]
Reworked the way world transformations and mapping modes are handled
so that both of these transformations can be computed in a single
step.
* [graphics/painting.c] [graphics/path.c] [include/path.h]
More GDI path support.
* [graphics/x11drv/graphics.c]
Fixed the return value of GRAPH_DrawArc for the zero height /
zero width case to reflect Windows' behaviour.
* [include/windows.h] [relay32/gdi32.spec] [objects/dc.c]
Implemented ModifyWorldTransform and CombineTransform.
Tue May 14 18:03:46 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][relay32/comctl32.spec]
[controls/*.c][include/*.h]
Implemented InitCommonControlsEx (dll version 4.72 compatible).
InitCommonControls calls ImageCommonControlsEx.
Registering code of the common controls had to be changed
(see XXXX_Register functions).
* [controls/status.c][include/commctrl.h][include/status.h]
Implemented most new features and fixed the look and feel.
* [contols/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Implemented MenuHelp (incomplete).
* [controls/status.c][controls/progress.c]
Changed allocation strategy for control specific memory.
* [controls/header.c][include/header.h][include/commctrl.h]
First implementation of header control.
* [windows/defwnd.c][windows/syscolors.c]
Fixed default control colors for Win95 look.
* [windows/nonclient.c]
Fixed off by one error for Win95 look. Top border of child windows
should be visible.
* [misc/imagelist.h]
Improved documentation and fixed some bugs.
Thu May 14 15:42:21 1998 Robert Wilhelm <robert@physiol.med.tu-muenchen.de>
* [relay32/crtdll.spec]
Added hypot,j0,j1,jn and ceil.
Wed May 13 19:10:10 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [controls/listbox.c]
Item height is now exactly font height.
Wine listboxes now behave like Windows' when they are
created without WS_VSCROLL but the program subsequently
calls ShowScrollBar or SetScrollInfo.
Wed May 13 18:33:01 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [relay32/relay386.c]
Restore ES also in the non-debug case.
* [windows/event.c]
Bugfix: Blocking TSXNextEvent could deadlock Wine.
* [win32/process.c] [windows/message.c]
Silly stubs for MsgWaitForMultipleObjects / PostThreadMessage
that make some programs run better.
* [windows/winproc.c]
WINPROC_MapMsg32Ato16/16To32A: added WM_NOTIFY.
* [win32/kernel32.c]
Added 16->32 thunking and improved 32->16 thunking functions.
* [tools/build.c]
Added new variant of CallFrom16 stub for use with Win95 thunks.
* [if1632/kernel.spec] [if1632/builtin.c] [win32/kernel32.c]
Added a few undocumented KERNEL functions.
* [loader/ne/module.c] [loader/ne/segment.c]
Call DllEntryPoint for 16-bit DLLs with subsystem >= 4.0.
* [win32/kernel32.spec] [win32/wow32.spec] [win32/ordinals.c]
Use names from the Oct 94 beta release for undoc. functions.
Wed May 13 14:18:26 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Code cleanup.
* [misc/cpu.c]
Commented out the registry puts temporarily.
* [programs/regtest/*]
New registry testing program.
Tue May 12 22:54:03 1998 Michael Mess <michael@kawo2.rwth-aachen.de>
* [multimedia/audio.c]
ioctl's do not commute in /dev/dsp initialization.
Tue May 12 20:11:42 1998 Karl Garrison <karlos@eznet.net>
* [win32/console.c]
Implemented SetConsoleTextAttribute, FillConsoleOutputCharacter.
Improved cursor positioning.
This allows for text colors in an xterm, rxvt, or console.
Tue May 12 17:57:52 1998 Petter Reinholdtsen <pere@td.org.uit.no>
* [Makefile.in]
Create prefix/{bin|lib} directories if missing during install.
Sun May 10 19:37:51 1998 Jan Willamowius <jan@janhh.shnet.org>
* [multimedia/mmio.c]
Have mmioSetBuffer return success (0), so Corel Draw 4
keeps working. (IO is still unbuffered)
Wed May 6 16:57:55 1998 James Juran <jrj120@psu.edu>
* [Makefile.in] [Make.rules.in]
Changed "make clean" to remove `textedit` backup files (*%)
* [controls/menu.c][graphics/x11drv/xfont.c][include/libres.h]
[loader/main.c][loader/ne/module.c][scheduler/synchro.c]
[win32/time.c][windows/winpos.c][include/windows.h]
Fixed miscellaneous compilation warnings.
* [misc/main.c][miscemu/main.c][include/main.h]
Moved prototypes to new include file main.h, various cleanups.
Tue May 5 21:05:06 1998 Morten Welinder <terra@diku.dk>
* [misc/winsock.c]
Don't refer to __FreeBSD__ when HAVE_STRERROR is meant.
* [misc/debugstr.c]
For debug_dumpstrSend, send strings to stderr.
Tue May 5 21:47:40 1998 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [objects/region.c]
Fix for REGION_RegionOp() if newReg is one of the source regions.
Tue May 5 18:27:32 1998 Jim Peterson <jspeter@roanoke.infi.net>
* [misc/main.c]
Add '-h/-help' option and print WINE_RELEASE_INFO with usage message.
* [misc/spy.c]
Realign trace messages.
Tue May 5 15:46:47 1998 Donnie V. Savage <dsavage@cisco.com>
* [graphics/ddraw.c]
Fixed compile warnings
* [misc/winsock.c]
Warnings should not be errors.
Tue May 5 13:40:42 1998 Jim Peterson <jspeter@roanoke.infi.net>
* [*/*]
Remove many warnings through explicit casts, added #include's,
and corrected printf formats.
Tue May 5 05:18:12 1998 Insomnia (Stea Greene) <insomnia@core.binghamton.edu>
* [graphics/ddraw.c]
Kept unchanged portion of old palette when changing only a few
palette entries. Really should only deallocate the changed cells.
This make StarCraft work almost perfectly (sound overflows still
cause static).
Mon May 4 15:04:57 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/lstr.c]
FormatMessage: terminate string on %0, undo linefeed strip.
1998-05-17 19:13:43 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
ZeroMemory( &wndClass, sizeof( WNDCLASSW ) );
|
2004-03-15 21:10:32 +01:00
|
|
|
wndClass.style = CS_GLOBALCLASS | CS_VREDRAW | CS_HREDRAW;
|
2004-09-14 02:45:26 +02:00
|
|
|
wndClass.lpfnWndProc = UpDownWindowProc;
|
Release 980517
Sun May 17 16:23:56 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/profile.c]
Fix the return value of PROFILE_GetSection
* [misc/crtdll.c]
Do _getdrive, fix _chdrive.
* [misc/commdlg.c]
First cut at ChooseColor[WA].
* [misc/network.c]
Do something sensible for WNetGetDirectoryType16.
Sun May 17 10:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [controls/menu.c]
Fixed disabled sub menus with MF_BYPOSITION that were not disabled.
* [misc/crtdll.c] [relay32/crtdll.spec] [include/winerror.h]
Implemented fscanf, fsetpos, _access, _fpreset (thanks to Uwe Bonnes),
and _ltoa.
* [loader/task.c]
MakeProcInstance: must use CURRENT_DS if hInst == NULL.
* [misc/shell.c]
SHELL_GetResourceTable, InternalExtractIcon: fixed broken .ICO handling
* [windows/winpos.c]
DeferWindowPos: removed "same parent" requirement.
Which doc states that this is required ?
Sat May 16 20:08:11 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/module.c] [loader/ne/module.c]
More NE module cleanups.
* [loader/task.c]
Fixed SwitchStackBack().
Fri May 15 10:04:27 1998 Marcus Meissner <marcus@jet.franken.de>
* [configure.in][inlcude/acconfig.h]
Fixed broken OSS check, added check for working sigaltstack,
fixed broken statfs checks on some linux systems.
* [files/directory.c][loader/pe_image.c][relay32/builtin.c]
[loader/module.c]
Added handling of win32 module pathnames.
* [relay32/wnaspi32.spec]
New file.
* [misc/lzexpand.c]
LZCopy auto-decompresses LZ compressed files, even if they are not
specially flagged. Fixes some InstallShield problems.
* [misc/registry.c]
Some fixes for RegQueryInfoKey (reference program monkey.exe
from Win32 SDK works now better). Probably still has faults.
Fri May 15 08:58:58 1998 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/mapping.c] [include/dc.h] [include/gdi.h] [objects/dc.c]
Reworked the way world transformations and mapping modes are handled
so that both of these transformations can be computed in a single
step.
* [graphics/painting.c] [graphics/path.c] [include/path.h]
More GDI path support.
* [graphics/x11drv/graphics.c]
Fixed the return value of GRAPH_DrawArc for the zero height /
zero width case to reflect Windows' behaviour.
* [include/windows.h] [relay32/gdi32.spec] [objects/dc.c]
Implemented ModifyWorldTransform and CombineTransform.
Tue May 14 18:03:46 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][relay32/comctl32.spec]
[controls/*.c][include/*.h]
Implemented InitCommonControlsEx (dll version 4.72 compatible).
InitCommonControls calls ImageCommonControlsEx.
Registering code of the common controls had to be changed
(see XXXX_Register functions).
* [controls/status.c][include/commctrl.h][include/status.h]
Implemented most new features and fixed the look and feel.
* [contols/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Implemented MenuHelp (incomplete).
* [controls/status.c][controls/progress.c]
Changed allocation strategy for control specific memory.
* [controls/header.c][include/header.h][include/commctrl.h]
First implementation of header control.
* [windows/defwnd.c][windows/syscolors.c]
Fixed default control colors for Win95 look.
* [windows/nonclient.c]
Fixed off by one error for Win95 look. Top border of child windows
should be visible.
* [misc/imagelist.h]
Improved documentation and fixed some bugs.
Thu May 14 15:42:21 1998 Robert Wilhelm <robert@physiol.med.tu-muenchen.de>
* [relay32/crtdll.spec]
Added hypot,j0,j1,jn and ceil.
Wed May 13 19:10:10 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [controls/listbox.c]
Item height is now exactly font height.
Wine listboxes now behave like Windows' when they are
created without WS_VSCROLL but the program subsequently
calls ShowScrollBar or SetScrollInfo.
Wed May 13 18:33:01 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [relay32/relay386.c]
Restore ES also in the non-debug case.
* [windows/event.c]
Bugfix: Blocking TSXNextEvent could deadlock Wine.
* [win32/process.c] [windows/message.c]
Silly stubs for MsgWaitForMultipleObjects / PostThreadMessage
that make some programs run better.
* [windows/winproc.c]
WINPROC_MapMsg32Ato16/16To32A: added WM_NOTIFY.
* [win32/kernel32.c]
Added 16->32 thunking and improved 32->16 thunking functions.
* [tools/build.c]
Added new variant of CallFrom16 stub for use with Win95 thunks.
* [if1632/kernel.spec] [if1632/builtin.c] [win32/kernel32.c]
Added a few undocumented KERNEL functions.
* [loader/ne/module.c] [loader/ne/segment.c]
Call DllEntryPoint for 16-bit DLLs with subsystem >= 4.0.
* [win32/kernel32.spec] [win32/wow32.spec] [win32/ordinals.c]
Use names from the Oct 94 beta release for undoc. functions.
Wed May 13 14:18:26 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Code cleanup.
* [misc/cpu.c]
Commented out the registry puts temporarily.
* [programs/regtest/*]
New registry testing program.
Tue May 12 22:54:03 1998 Michael Mess <michael@kawo2.rwth-aachen.de>
* [multimedia/audio.c]
ioctl's do not commute in /dev/dsp initialization.
Tue May 12 20:11:42 1998 Karl Garrison <karlos@eznet.net>
* [win32/console.c]
Implemented SetConsoleTextAttribute, FillConsoleOutputCharacter.
Improved cursor positioning.
This allows for text colors in an xterm, rxvt, or console.
Tue May 12 17:57:52 1998 Petter Reinholdtsen <pere@td.org.uit.no>
* [Makefile.in]
Create prefix/{bin|lib} directories if missing during install.
Sun May 10 19:37:51 1998 Jan Willamowius <jan@janhh.shnet.org>
* [multimedia/mmio.c]
Have mmioSetBuffer return success (0), so Corel Draw 4
keeps working. (IO is still unbuffered)
Wed May 6 16:57:55 1998 James Juran <jrj120@psu.edu>
* [Makefile.in] [Make.rules.in]
Changed "make clean" to remove `textedit` backup files (*%)
* [controls/menu.c][graphics/x11drv/xfont.c][include/libres.h]
[loader/main.c][loader/ne/module.c][scheduler/synchro.c]
[win32/time.c][windows/winpos.c][include/windows.h]
Fixed miscellaneous compilation warnings.
* [misc/main.c][miscemu/main.c][include/main.h]
Moved prototypes to new include file main.h, various cleanups.
Tue May 5 21:05:06 1998 Morten Welinder <terra@diku.dk>
* [misc/winsock.c]
Don't refer to __FreeBSD__ when HAVE_STRERROR is meant.
* [misc/debugstr.c]
For debug_dumpstrSend, send strings to stderr.
Tue May 5 21:47:40 1998 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [objects/region.c]
Fix for REGION_RegionOp() if newReg is one of the source regions.
Tue May 5 18:27:32 1998 Jim Peterson <jspeter@roanoke.infi.net>
* [misc/main.c]
Add '-h/-help' option and print WINE_RELEASE_INFO with usage message.
* [misc/spy.c]
Realign trace messages.
Tue May 5 15:46:47 1998 Donnie V. Savage <dsavage@cisco.com>
* [graphics/ddraw.c]
Fixed compile warnings
* [misc/winsock.c]
Warnings should not be errors.
Tue May 5 13:40:42 1998 Jim Peterson <jspeter@roanoke.infi.net>
* [*/*]
Remove many warnings through explicit casts, added #include's,
and corrected printf formats.
Tue May 5 05:18:12 1998 Insomnia (Stea Greene) <insomnia@core.binghamton.edu>
* [graphics/ddraw.c]
Kept unchanged portion of old palette when changing only a few
palette entries. Really should only deallocate the changed cells.
This make StarCraft work almost perfectly (sound overflows still
cause static).
Mon May 4 15:04:57 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/lstr.c]
FormatMessage: terminate string on %0, undo linefeed strip.
1998-05-17 19:13:43 +02:00
|
|
|
wndClass.cbClsExtra = 0;
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
wndClass.cbWndExtra = sizeof(UPDOWN_INFO*);
|
2003-09-10 05:56:47 +02:00
|
|
|
wndClass.hCursor = LoadCursorW( 0, (LPWSTR)IDC_ARROW );
|
2004-09-14 02:45:26 +02:00
|
|
|
wndClass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
|
2002-03-28 23:05:18 +01:00
|
|
|
wndClass.lpszClassName = UPDOWN_CLASSW;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2002-03-28 23:05:18 +01:00
|
|
|
RegisterClassW( &wndClass );
|
Release 980517
Sun May 17 16:23:56 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/profile.c]
Fix the return value of PROFILE_GetSection
* [misc/crtdll.c]
Do _getdrive, fix _chdrive.
* [misc/commdlg.c]
First cut at ChooseColor[WA].
* [misc/network.c]
Do something sensible for WNetGetDirectoryType16.
Sun May 17 10:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [controls/menu.c]
Fixed disabled sub menus with MF_BYPOSITION that were not disabled.
* [misc/crtdll.c] [relay32/crtdll.spec] [include/winerror.h]
Implemented fscanf, fsetpos, _access, _fpreset (thanks to Uwe Bonnes),
and _ltoa.
* [loader/task.c]
MakeProcInstance: must use CURRENT_DS if hInst == NULL.
* [misc/shell.c]
SHELL_GetResourceTable, InternalExtractIcon: fixed broken .ICO handling
* [windows/winpos.c]
DeferWindowPos: removed "same parent" requirement.
Which doc states that this is required ?
Sat May 16 20:08:11 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/module.c] [loader/ne/module.c]
More NE module cleanups.
* [loader/task.c]
Fixed SwitchStackBack().
Fri May 15 10:04:27 1998 Marcus Meissner <marcus@jet.franken.de>
* [configure.in][inlcude/acconfig.h]
Fixed broken OSS check, added check for working sigaltstack,
fixed broken statfs checks on some linux systems.
* [files/directory.c][loader/pe_image.c][relay32/builtin.c]
[loader/module.c]
Added handling of win32 module pathnames.
* [relay32/wnaspi32.spec]
New file.
* [misc/lzexpand.c]
LZCopy auto-decompresses LZ compressed files, even if they are not
specially flagged. Fixes some InstallShield problems.
* [misc/registry.c]
Some fixes for RegQueryInfoKey (reference program monkey.exe
from Win32 SDK works now better). Probably still has faults.
Fri May 15 08:58:58 1998 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/mapping.c] [include/dc.h] [include/gdi.h] [objects/dc.c]
Reworked the way world transformations and mapping modes are handled
so that both of these transformations can be computed in a single
step.
* [graphics/painting.c] [graphics/path.c] [include/path.h]
More GDI path support.
* [graphics/x11drv/graphics.c]
Fixed the return value of GRAPH_DrawArc for the zero height /
zero width case to reflect Windows' behaviour.
* [include/windows.h] [relay32/gdi32.spec] [objects/dc.c]
Implemented ModifyWorldTransform and CombineTransform.
Tue May 14 18:03:46 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][relay32/comctl32.spec]
[controls/*.c][include/*.h]
Implemented InitCommonControlsEx (dll version 4.72 compatible).
InitCommonControls calls ImageCommonControlsEx.
Registering code of the common controls had to be changed
(see XXXX_Register functions).
* [controls/status.c][include/commctrl.h][include/status.h]
Implemented most new features and fixed the look and feel.
* [contols/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Implemented MenuHelp (incomplete).
* [controls/status.c][controls/progress.c]
Changed allocation strategy for control specific memory.
* [controls/header.c][include/header.h][include/commctrl.h]
First implementation of header control.
* [windows/defwnd.c][windows/syscolors.c]
Fixed default control colors for Win95 look.
* [windows/nonclient.c]
Fixed off by one error for Win95 look. Top border of child windows
should be visible.
* [misc/imagelist.h]
Improved documentation and fixed some bugs.
Thu May 14 15:42:21 1998 Robert Wilhelm <robert@physiol.med.tu-muenchen.de>
* [relay32/crtdll.spec]
Added hypot,j0,j1,jn and ceil.
Wed May 13 19:10:10 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [controls/listbox.c]
Item height is now exactly font height.
Wine listboxes now behave like Windows' when they are
created without WS_VSCROLL but the program subsequently
calls ShowScrollBar or SetScrollInfo.
Wed May 13 18:33:01 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [relay32/relay386.c]
Restore ES also in the non-debug case.
* [windows/event.c]
Bugfix: Blocking TSXNextEvent could deadlock Wine.
* [win32/process.c] [windows/message.c]
Silly stubs for MsgWaitForMultipleObjects / PostThreadMessage
that make some programs run better.
* [windows/winproc.c]
WINPROC_MapMsg32Ato16/16To32A: added WM_NOTIFY.
* [win32/kernel32.c]
Added 16->32 thunking and improved 32->16 thunking functions.
* [tools/build.c]
Added new variant of CallFrom16 stub for use with Win95 thunks.
* [if1632/kernel.spec] [if1632/builtin.c] [win32/kernel32.c]
Added a few undocumented KERNEL functions.
* [loader/ne/module.c] [loader/ne/segment.c]
Call DllEntryPoint for 16-bit DLLs with subsystem >= 4.0.
* [win32/kernel32.spec] [win32/wow32.spec] [win32/ordinals.c]
Use names from the Oct 94 beta release for undoc. functions.
Wed May 13 14:18:26 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Code cleanup.
* [misc/cpu.c]
Commented out the registry puts temporarily.
* [programs/regtest/*]
New registry testing program.
Tue May 12 22:54:03 1998 Michael Mess <michael@kawo2.rwth-aachen.de>
* [multimedia/audio.c]
ioctl's do not commute in /dev/dsp initialization.
Tue May 12 20:11:42 1998 Karl Garrison <karlos@eznet.net>
* [win32/console.c]
Implemented SetConsoleTextAttribute, FillConsoleOutputCharacter.
Improved cursor positioning.
This allows for text colors in an xterm, rxvt, or console.
Tue May 12 17:57:52 1998 Petter Reinholdtsen <pere@td.org.uit.no>
* [Makefile.in]
Create prefix/{bin|lib} directories if missing during install.
Sun May 10 19:37:51 1998 Jan Willamowius <jan@janhh.shnet.org>
* [multimedia/mmio.c]
Have mmioSetBuffer return success (0), so Corel Draw 4
keeps working. (IO is still unbuffered)
Wed May 6 16:57:55 1998 James Juran <jrj120@psu.edu>
* [Makefile.in] [Make.rules.in]
Changed "make clean" to remove `textedit` backup files (*%)
* [controls/menu.c][graphics/x11drv/xfont.c][include/libres.h]
[loader/main.c][loader/ne/module.c][scheduler/synchro.c]
[win32/time.c][windows/winpos.c][include/windows.h]
Fixed miscellaneous compilation warnings.
* [misc/main.c][miscemu/main.c][include/main.h]
Moved prototypes to new include file main.h, various cleanups.
Tue May 5 21:05:06 1998 Morten Welinder <terra@diku.dk>
* [misc/winsock.c]
Don't refer to __FreeBSD__ when HAVE_STRERROR is meant.
* [misc/debugstr.c]
For debug_dumpstrSend, send strings to stderr.
Tue May 5 21:47:40 1998 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [objects/region.c]
Fix for REGION_RegionOp() if newReg is one of the source regions.
Tue May 5 18:27:32 1998 Jim Peterson <jspeter@roanoke.infi.net>
* [misc/main.c]
Add '-h/-help' option and print WINE_RELEASE_INFO with usage message.
* [misc/spy.c]
Realign trace messages.
Tue May 5 15:46:47 1998 Donnie V. Savage <dsavage@cisco.com>
* [graphics/ddraw.c]
Fixed compile warnings
* [misc/winsock.c]
Warnings should not be errors.
Tue May 5 13:40:42 1998 Jim Peterson <jspeter@roanoke.infi.net>
* [*/*]
Remove many warnings through explicit casts, added #include's,
and corrected printf formats.
Tue May 5 05:18:12 1998 Insomnia (Stea Greene) <insomnia@core.binghamton.edu>
* [graphics/ddraw.c]
Kept unchanged portion of old palette when changing only a few
palette entries. Really should only deallocate the changed cells.
This make StarCraft work almost perfectly (sound overflows still
cause static).
Mon May 4 15:04:57 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/lstr.c]
FormatMessage: terminate string on %0, undo linefeed strip.
1998-05-17 19:13:43 +02:00
|
|
|
}
|
|
|
|
|
1998-10-24 12:49:27 +02:00
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* UPDOWN_Unregister [Internal]
|
|
|
|
*
|
|
|
|
* Unregisters the updown window class.
|
|
|
|
*/
|
2002-09-04 20:45:42 +02:00
|
|
|
void UPDOWN_Unregister (void)
|
1998-10-24 12:49:27 +02:00
|
|
|
{
|
2002-12-02 19:10:57 +01:00
|
|
|
UnregisterClassW (UPDOWN_CLASSW, NULL);
|
1998-10-24 12:49:27 +02:00
|
|
|
}
|