Commit Graph

461 Commits

Author SHA1 Message Date
Dmitry Timoshkov d0ff2ec08b Make bitmap menu items look like in windows when selected,
i.e. inverted and hilited (in Win98 look).
2000-11-01 02:11:41 +00:00
Francois Gouget e3810e3acc Check for SB_CTL before displaying a caret. 2000-11-01 01:52:37 +00:00
Francois Gouget eecb40ec43 Hide the caret only on the first WM_KEYDOWN. 2000-10-31 01:03:15 +00:00
Andreas Mohr 45c9fd892f - set the item height not only for the listbox, but also for the text field
- center text vertically
- beautify comments
2000-10-28 00:29:58 +00:00
Dmitry Timoshkov ef55932f4b Ask application to reinitialize its menu before processing an
accelerator key.
2000-10-26 21:47:20 +00:00
Francois Methot 9a58351fda Added support of blinking thumb as found in Windows scrollbar. 2000-10-25 21:26:27 +00:00
Aric Stewart c946b1cccd Converted menu string handling to Unicode. 2000-10-24 21:28:19 +00:00
Susan Farley a4251bbe4c Do not block CBN_EDITCHANGE for WM_PASTE or WM_CUT with the
NOEDITNOTIFY flag, as these msgs can come directly from the app to the
combo wndproc.
2000-10-24 01:38:49 +00:00
Ulrich Weigand 6bfbc3d23e Do not send EN_UPDATE to multi-line edit controls. 2000-10-23 00:38:10 +00:00
Francois Gouget 93fd46af54 Fixed the text color of higlighted menu bar item for the Win98 look.
Clicking on a separator should not close the menu.
Do not right align 'bitmap' items and the help menu for the Win9x look
and feels.
2000-10-23 00:37:49 +00:00
Alexandre Julliard 15bfcd0398 Moved $(MODULE).o rule out of Make.rules into the individual
Makefiles.
2000-09-29 00:28:25 +00:00
Alexandre Julliard 83f52d11c1 Moved all Win16 definitions out of the standard Windows headers. 2000-09-26 22:20:14 +00:00
Alexandre Julliard 072dfb57e3 Removed inclusion of wine/winestring.h from winbase.h and added it to
the C files that need it.
2000-09-25 23:30:56 +00:00
Gerard Patel 8caa407c05 In WM_DRAWITEM, always calls the app with a valid current focus_item. 2000-09-24 19:29:18 +00:00
Andreas Mohr 6f07e8abbc Fixed window lock problem in SetMenu(). 2000-09-19 02:38:11 +00:00
Serge Ivanov 6117fc4165 (Merged by Marcus Meissner <marcus@jet.franken.de>)
Fixed problem with origin for DST_COMPLEX style.
Fixed handling of DSS_DISABLED and DSS_DEFAULT styles.

Added handling of BS_MULTILINE style, label alignment
styles (BS_RIGHT, etc.) and some exotic styles BS_FLAT (only
pushbuttons for now), and BS_PUSHLIKE.

Modified label drawing procedure: now all kinds of buttons
use common BUTTON_DrawLabel function. Actual label drawing is
performed by DrawStateW function.

GroupBox must use WM_CTLCOLORSTATIC instead of WM_CTLCOLORBTN message.
2000-09-13 00:00:55 +00:00
Gerard Patel ed66930518 SetScrollInfo : don't show/hide scrollbar if no parameter (minval,
maxval) change.
2000-09-12 23:59:10 +00:00
Andreas Mohr 20cd9356a8 - fixes debugger output
- get rid of wrong comments
- fix comments
- .spec spelling fix
- improve warning message
2000-09-12 23:40:40 +00:00
Mike McCormack 5ae1c396cc Avoid divide by zero when listbox set to zero height. 2000-09-09 19:39:24 +00:00
Dmitry Timoshkov fbb2c9bdf8 GetMenu might be used to get child window id. 2000-09-09 19:38:34 +00:00
Andreas Mohr 2b5d9c6e50 Always call LISTVIEW_SetSelection() for an item, even if that item
has been selected before, in order to let other items get erased.
2000-08-29 03:52:16 +00:00
Susan Farley 597cb552ce Update the edit box before rolling up the listbox, so the
selection isn't lost.
2000-08-14 17:18:49 +00:00
Alexandre Julliard c7e7df8b17 Replaced all lstr* calls from inside Wine code by their str* equivalent. 2000-08-14 14:41:19 +00:00
Alexandre Julliard 198746d812 Replaced global Callbacks structure by appropriate glue code
generation. Removed a few unused entries in the Callout structure.
2000-08-14 14:29:22 +00:00
Alexandre Julliard 42d20f9dca Merged clipboard driver into USER driver.
Moved all ttydrv source files to dlls/ttydrv.
Load functions pointer for the USER driver from the graphics driver
dll with GetProcAddress.
2000-08-10 01:16:19 +00:00
Alexandre Julliard 5ab9d860f2 Removed some unnecessary #includes and dll dependencies. 2000-08-09 22:35:05 +00:00
Marcus Meissner c4fac7867e Initialize 'str' in ICONTITLE_GetTitlePos. 2000-08-07 23:51:02 +00:00
Susan Farley dbf5a4792c Avoid resetting the background color when clearing out blank areas, as
it may have been set to something other than COLOR_WINDOW by the
application.
2000-08-06 03:35:52 +00:00
Alexandre Julliard cb10fdab99 Replaced lstrlen/lstrcmp by libc equivalents everywhere we don't need
to trap exceptions.
2000-08-06 02:41:16 +00:00
Alexandre Julliard b0efe28f6c Removed a few dependencies on GDI internals from USER dll. 2000-08-04 04:18:04 +00:00
Gerard Patel cef12530eb Change logic of listbox resizing for 16 bits apps for lists without
LBS_NOINTEGRALHEIGHT style.
2000-08-01 20:48:40 +00:00
Ove Kaaven 690142dc5b Fix a few typos and such. 2000-07-23 13:43:00 +00:00
Gerard Patel 9fe0e634e5 Fixed calculation of buffer length after switch of window text to
unicode.
2000-07-23 13:33:48 +00:00
Gerard Patel 9788ba6e54 Set clipping region to client window before owner-drawn painting. 2000-07-16 15:39:37 +00:00
Gerard Patel 0e805aa358 Background of SS_SIMPLE static control is not filled (unless it has
SS_NOPREFIX too).
2000-07-16 14:39:21 +00:00
Dave Hawkes fcd352152f All standard window controls should have CS_PARENTDC, but should still
clip to the control window.
2000-07-15 21:31:42 +00:00
Susan Farley 7251640113 Don't clear selection when initial entry is not in the list. 2000-07-15 21:27:32 +00:00
Marcus Meissner 235d39cf9e Replaced %s by %p in EDIT_WM_SetText. 2000-07-15 15:12:38 +00:00
Dmitry Timoshkov 04da8b8f28 Convert WND.text field to Unicode.
Add new key to wine.ini in the section [x11drv] - TextCP, which means
code page used for texts passed to X.
Accordingly fix handlers of WM_SETTEXT/WM_GETTEXT.
2000-07-10 12:09:31 +00:00
Gerard Patel 2ffbb31e3a Make the focus follow the last selected item for multiselect listboxes. 2000-07-09 12:18:14 +00:00
Gerard Patel d292234835 Set the minimum dropped height to the combo list height if any in
CBDropDown.
2000-06-25 12:47:59 +00:00
Gerard Patel c9e6031dca CB_SETCURSEL should not generate another listbox event after updating
the edit box.
2000-06-18 17:20:37 +00:00
Francois Jacques 20af4c3c87 GetSystemMenu called with bRevert argument set to TRUE now returns
NULL as specified in Platform SDK.
2000-06-18 17:17:54 +00:00
Gerard Patel ac3e81640a Set clipping region to client window in LISTBOX_Paint. 2000-06-15 00:58:42 +00:00
Gerard Patel 41b07fb4d9 WM_SETREDRAW should repaint the listbox when set to on if something
has been changed.
2000-06-15 00:07:20 +00:00
Jason Mawdsley 50523d164f Take focus before setting the caret position and selections. 2000-06-11 20:34:07 +00:00
Sheri Steeves 13ffd58a1f Added save and reset of SetBKMode values in WM_PAINT.
Added handling of lParam value in BM_SETSTYLE.
2000-06-11 20:08:46 +00:00
Huw D M Davies d552d98b51 Add support for icons set by STM_SETIMAGE. 2000-06-11 20:00:33 +00:00
Serge Ivanov 9926d33450 - ComboLBox is always created as child of ComboBox. If ComboBox has style
other than CBS_SIMPLE, parent of listbox is set to desktop.
- In CBDropDown. ComboBox uses only first item to calculate height of
  dropped listbox. Also if listbox is empty its height is unmodified
  (previously it was set to 0).
- Added correct handling of WM_GETDLGCODE and WM_(SYS)KEYDOWN messages.
- General clean-up. Message order is now more precise (at least
  notifications to client); listbox - combobox interaction has slight
  differences comparing to Windows.
2000-06-07 03:48:02 +00:00
Serge Ivanov 9eedcf5852 - Removed dependency of edit control from combobox implementation.
- Edit control uses undocumented window style 0x0200 to detect is it a part
  of combobox. If so it calls GetDlgItem(hwndCombo, 1000) to get ComboLBox
  window handle (see comments for combo.c below).
- EDIT_CheckCombo - modified for correct handling of keyboard messages.
- Processing of WM_GETDLGCODE and WM_CHAR for VK_RETURN and VK_ESCAPE
  depends on whether listbox is dropped down. This prevents closing of dialog
  if listbox is dropped down and allows combobox to process these keyboard
  messages properly.
2000-06-07 03:47:34 +00:00
Serge Ivanov 07917e40e8 - We can use wnd->wIDmenu for ComboLBox (it is not reset anymore in SetParent)
- When user clicks outside of dropped listbox, original selection must be
  restored.
- ComboLBox has caret_on = FALSE on creation, that's why combobox sends
  LB_CARETON message before dropping listbox down (but only for
  CBS_DROPDOWNLIST - I don't now why).
2000-06-07 03:46:57 +00:00
Alexandre Julliard 72bdd5bee7 Stephane Lussier
Sheri Steeves
Haithem Hmida
- Height of the listbox should be adjust when LBS_OWNERDRAWFIXED is set
  and not if LBS_OWNERDRAWVARIABLE is set, previously it was not adjusting
  the size in both cases.
- When the caret index change, items repainting need tp be in this
  order
  a) Paint old caret item without the focus
  b) Paint old caret item without the selection
  c) Paint new caret item with the selection
  d) Paint new caret item with the focus.
- When repainting the listbox, we should paint all items regarding if
  they are slected or not and then paint after the focus item. So focus
  item will end out being painted twice. (That's what Windows does).
2000-06-07 03:17:35 +00:00
Susan Farley b09c6ef5ae Attempt to paint the checkbox and radio buttons better. 2000-06-04 01:32:59 +00:00
Andreas Mohr 2e011a5243 Lots of spelling fixes that accumulated in my tree again, made several
error msgs more verbose, doc updates.
2000-06-01 23:28:25 +00:00
Alexandre Julliard 207f7019e6 Louis-Philippe Gagnon (of Macadamian for Corel)
Static controls weren't receiving WM_LBUTTONDBLCLK messages because the
Static window class was registered without the CS_DBLCLKS style (which it
has in Windows).
2000-06-01 23:15:49 +00:00
Serge Ivanov bfe15b12ad MSDN: "WM_NCHITTEST - Returns HTCLIENT if the control style is
SS_NOTIFY; otherwise, returns HTTRANSPARENT. "
2000-06-01 22:46:51 +00:00
Alexandre Julliard d566a0e309 Serge Ivanov
Returning DLGC_WANTALLKEYS for multiline edit control was not good because
it breaks navigation in dialogs.
2000-05-30 20:50:09 +00:00
David Grant 8a92213111 - Creating combobox with CBS_SIMPLE style shall set internal flag CBF_EDIT.
- Edit text must be selected only if CB is in focus.
- If CB has edit control we have to call CBUpdateEdit to update its
  contents. Invalidating textRect will not force updating of child
  edit control, obviously.
- We have to protect ourselves from changing selection in listbox when
  we receive listbox notification. So LBN_SELCHANGE -> CBUpdateEdit ->
  EN_CHANGE will not reselect item in the lisbox.
2000-05-30 17:48:33 +00:00
Alexandre Julliard dcc175de6a Owen Wang
When you click on an icon to open a combo box, you would expect it to
be enabled so you can choose something in it. In Wine this was not
guaranteed since your default flags could get lost in the process-heap
of the application.
2000-05-30 15:28:06 +00:00
Alexandre Julliard ab2f43f99b Serge Ivanov
- Added handling of WM_MOUSEACTIVATE message
- Added in_focus field to internal listbox's structure. This flag is set on
  receiving WM_SETFOCUS message and is reseted on WM_KILLFOCUS. All calls to
  GetFocus function were replaced with checks of this flag.
- In LISTBOX_HandleLButtonDown: focus is set only if 'in_focus' flag is
  clear
2000-05-26 22:28:34 +00:00
Alexandre Julliard fa2c79398d Henning Hoffmann
Don't send EN_CHANGE after painting the edit.
Send it wherever text is changed.
2000-05-26 01:24:56 +00:00
Ulrich Czekalla 70d5a95236 Moved the EN_UPDATE notification out of the paint handler. Instead,
the notification is sent when an InvalidateRect is made after
modifying the text.
2000-05-26 01:17:34 +00:00
Alexandre Julliard c616625945 Louis-Philippe Gagnon (of Macadamian Technologies for Corel)
Added event handler for WM_MBUTTONDOWN (sends WM_PASTE message).
2000-05-25 23:01:39 +00:00
Rob Farnum b200793de4 Post a WM_CANCELMODE message to wake up the internal menu handling
code. This fixes the problem of a menu being orphaned when the parent
window disappears, or if the parent loses focus.
2000-05-23 23:34:17 +00:00
Ulrich Czekalla c804e3eac4 Capture ^V,^X,^C and translate it to the corresponding message for
paste, cut, copy.
2000-05-23 21:16:07 +00:00
Alexandre Julliard 7f90a8c900 Serge Ivanov
Fixed WM_LBUTTONDBLCLK handling.
2000-05-23 04:18:12 +00:00
Andreas Mohr a8edb3e461 Some part of EDIT_EM_LineLength code was commented (broken). Restored
the capability to calculate the remaining non-selected chars of a
selection area.
2000-05-23 04:05:05 +00:00
Alexandre Julliard f5d4244f71 Sheri Steeves
The edit is now detected correctly if the parent is a combo box. It
wasn't working when the combobox was superclassed.
2000-05-18 00:16:53 +00:00
Susan Farley d34205ef94 Avoid calls to SetFocus when they are unnecessary. 2000-05-15 02:34:20 +00:00
Gerard Patel c6369b0bd7 When new menu Id is not found or index > nitems, insert the new menu
at end of current menu.
2000-05-14 22:52:52 +00:00
Susan Farley f1d467a337 Distinguish RADIOCHECK style menu items from standard checkmark menu
items.
2000-05-12 21:59:31 +00:00
Susan Farley b64aa2460e Like the AUTORADIOBUTTON, the parent of a RADIOBUTTON style button
should be sent a BN_CLICKED when it receives the focus.
2000-05-12 21:51:09 +00:00
Guy Albertelli f12b70addb Revalidate menu handle in mt.hTopMenu after DispatchMessage. 2000-05-11 00:06:11 +00:00
Aric Stewart 70cc169d1c - Wine was passing the wrong hwnd as the owner when processing owner
drawn menubars.
- When doing MENU_CalcItemSize for the menu bar we were not properly
  padding the returned rect.
2000-05-10 21:54:07 +00:00
Ken Thomases 130f0d88c1 Fixed to display popup-menu arrow on owner-drawn popup menus.
Fixed positioning of submenus relative to parent menus.
2000-05-10 21:38:37 +00:00
Chris Morgan c0872e3119 Fixed scrolling bug. 2000-05-07 18:24:36 +00:00
Susan Farley 86d0b031bb Handle ^C, ^V and ^X in an edit control properly. 2000-05-05 18:21:02 +00:00
Ove Kaaven b4018e7a57 Fix edit control's WM_GETTEXT behaviour. 2000-04-23 19:59:11 +00:00
Stephane Lussier 4bdf4af11e Implemented Mousewheel support. 2000-04-18 11:56:33 +00:00
Patrik Stridvall 2d6457c11a Added/fixed some documentation reported by winapi_check. 2000-03-28 20:22:59 +00:00
Francois Gouget 6d77d3a1df Use min/max instead of MIN/MAX. 2000-03-25 21:44:35 +00:00
Huw D M Davies 65a0fa6e4e Send the correct ODA_ code when deselecting an item. 2000-03-25 21:41:17 +00:00
Alexandre Julliard 7f3418fba0 Store monitor size and depth in the generic structure.
Merged monitor driver into USER driver.
2000-03-25 17:30:13 +00:00
Huw D M Davies 2d6eabacc3 Set the correct value for the cch element of MENUITEMINFO in
GetMenuItemInfo.
2000-03-24 19:48:53 +00:00
Huw D M Davies 2e34030a02 Stop a WM_SETTEXT message (and friends) to a combo sending CBN_EDIT*
messages to the parent.
2000-03-24 19:44:39 +00:00
Alexandre Julliard 28c3a1baf3 Moved graphics initialisation to the x11drv/ttydrv dll init code.
Merged event, keyboard and mouse drivers into USER driver.
2000-03-20 18:21:19 +00:00
Patrik Stridvall 6cc47d4924 Removed a lot of unnecessary includes and fixed the compile errors. 2000-03-08 18:26:56 +00:00
Ulrich Czekalla 60b1c38e86 The static control only needs to invalidate its rect when we SetText. 2000-03-08 18:22:51 +00:00
Ulrich Czekalla 33026a2a6e Send WM_HELP message when F1 is pressed. 2000-02-26 19:13:44 +00:00
Yuxi Zhang f94c3c55c1 In the listbox, when the last item is selected and deleted, it still
appeared in the window.

Sheri Steeves <sheri@macadamian.com>
In LISTBOX_UpdateScroll(), if the listbox did not have the WS_SCROLL
style it would just return.  This left the horizontal scroll bar
uninitialized and it was appearing at the bottom of the listbox when
it did not have to.

Serge Ivanov <sergei@corel.com>
LISTBOX_SetColumnWidth adds extra 2 pixels to the passed column width
(it says it is for column margins). Obviously it is wrong, because
margins must be internal.
2000-02-26 19:13:12 +00:00
Bill Jin 4f155e88bc Bitmap buttons were not refreshed correctly. 2000-02-26 18:29:15 +00:00
Alexandre Julliard 916f975624 Improved the selector get/set functions.
Support ANSI-compatible inline asm (with the help of Patrik Stridvall).
2000-02-26 16:51:13 +00:00
Jeremy White d3e22d9d55 Removed #include of wingdi.h and windef.h from winuser.h (and resolved
the resulting compilation failures).
2000-02-10 19:03:02 +00:00
Luc Tourangeau e84b678408 Implementation of Static OwnerDraw. 2000-02-07 16:01:04 +00:00
Alexandre Julliard b2f6f0e7d2 Removed resource.h. 2000-02-03 01:54:36 +00:00
Dmitry Timoshkov 6fb62f52f5 Correct the behaviour of the accelerator keys in dialogs according to
the Windows' one.
2000-01-29 22:09:40 +00:00
Gerard Patel 3e629748cf Validate the menu handles. 2000-01-17 22:22:16 +00:00
Pascal Lessard ae6de763e9 Stop menu tracking when clicking on the menu bar where there is no
menu item.
2000-01-09 02:38:02 +00:00
Marcus Meissner cb3c7bfa70 GetMenuString should return itemlength on 0 nMax or NULL str
InsertItem pos=-1, flags = 0 should append item
(thanks to Sander van Leeuwen)
2000-01-08 22:25:57 +00:00
Rein Klazes e8256f589f Don't show the scrollbar if SetScrollinfo() is called with only the
SIF_DISABLENOSCROLL flag.
2000-01-04 00:28:55 +00:00