Commit Graph

561 Commits

Author SHA1 Message Date
paul
ef89f04c0a lcl, win32: create right color brush when color = clDefault
git-svn-id: trunk@28139 -
2010-11-08 01:32:05 +00:00
paul
48a20553d3 win32: teach WM_CTLCOLORMSGBOX..WM_CTLCOLORSTATIC to handle clDefault
git-svn-id: trunk@28113 -
2010-11-07 13:04:10 +00:00
paul
4030c2d591 win32: don't reset the mouse control on wm_ncmmouseleave, do it on wm_ncmousehover instead
git-svn-id: trunk@27933 -
2010-10-29 04:26:44 +00:00
paul
3efdffe38a win32: skip invisible windows while setting a cursor (bug #0017636)
git-svn-id: trunk@27719 -
2010-10-16 14:49:19 +00:00
blikblum
0d632cce9c win32: use a hardcoded flag to avoid sending LM_CHANGED msg to LCL when handling BM_SETCHECK (TCustomCheckBox), fixes #17425
git-svn-id: trunk@27386 -
2010-09-16 14:08:01 +00:00
mattias
369aa3055c fixed typo dont
git-svn-id: trunk@27304 -
2010-09-11 14:05:21 +00:00
blikblum
8d7d250608 win32: avoid sending LM_CHANGE message when clearing TRadioButton siblings and when setting TRadioButton checked property programatically. Send LM_CHANGE when TRadioButton is unchecked. Don't toggle TRadioButton state when it's already checked. Part of 0017139 and 0017104
git-svn-id: trunk@27050 -
2010-08-10 16:52:13 +00:00
dmitry
f017af8aaa win32: implement IME input support for Edit controls. KeyUp (for VK_RETURN) event is supressed if IME composition is finished, bug #16430
git-svn-id: trunk@26984 -
2010-08-02 23:52:51 +00:00
paul
df4dcb0147 lcl: formatting, cleanup
git-svn-id: trunk@26773 -
2010-07-22 08:19:41 +00:00
paul
35a4f8ad05 lcl, win32: better support for wm_help command. pass context and keyword to DoOnHelp in a compatible to delphi way (issue #0015065)
git-svn-id: trunk@26744 -
2010-07-20 08:43:36 +00:00
paul
6070876176 lcl: formatting
git-svn-id: trunk@26730 -
2010-07-19 03:15:12 +00:00
paul
dbfda353fe win32: fix typo in HandleUnicodeChar (bug #0016950)
git-svn-id: trunk@26729 -
2010-07-19 00:54:26 +00:00
paul
f6d293c39b win32: process UTF8KeyPress properly - look for the key changes. based on patch of José Mejuto (win32 part of issue #0015927)
git-svn-id: trunk@26672 -
2010-07-16 02:16:43 +00:00
paul
a3dac0b6df lcl: redo context menu message handling:
- when called by keyboard pass -1, -1 coords
  - remove child->parent loop from LCL to widgetsets (win32 and wince do this automatically, qt do it too if mouse propagation is on)
  - don't show parent context menu if child has own standard menu (like TEdit)
qt: redo mouse handling, turn on mouse propagation and mouse tracking for most of widgets, stop propagation in event filters
gtk2: implement context menu loop
widgetsets: remove LM_PRESSED, LM_RELEASED messages (LCL does not use them and they are not needed for any compatbility reasons)

git-svn-id: trunk@26637 -
2010-07-14 08:47:02 +00:00
sekelsenmat
9d7aa39624 Implements a new form style: fsSystemStayOnTop, reverts win32 fsStayOnTop to mean staying on top of the App only and implements sending WM_HOTKEY messages to the user TMyForm.WndProc. Also adds the OldFormStyle to the parameters of TWSCustomForm.SetFormStyle so that it isn't always necessary to recreate the Wnd.
git-svn-id: trunk@25531 -
2010-05-20 09:28:21 +00:00
sekelsenmat
3a4f157391 Fixes fsStayOnTop on Windows as defined as staying on top of all windows of any application, regardless of enabled status or anything else for that matter.
git-svn-id: trunk@25520 -
2010-05-19 18:24:12 +00:00
paul
22ffafbcc9 win32: bring selected page to top on switching
git-svn-id: trunk@25420 -
2010-05-15 13:04:16 +00:00
paul
7faf34fbcc win32: use SetWindowPos instead of ShowWindow for page showing/hiding
git-svn-id: trunk@25418 -
2010-05-15 12:47:14 +00:00
paul
77895ca1a7 win32: move wm_getminmaxinfo to the form window proc
git-svn-id: trunk@25293 -
2010-05-10 10:19:31 +00:00
paul
b1347c7a57 win32: call LM_SYSCOMMAND LCL handler before the OS handler (fixes bug #0016426)
git-svn-id: trunk@25289 -
2010-05-10 09:11:27 +00:00
paul
19470fe5a8 win32: don't extract and parse windowinfo from menu (bug #0011087)
git-svn-id: trunk@25233 -
2010-05-07 03:40:45 +00:00
paul
c83026097e win32: initialize LMNotify result with 0 (fixes bug #0013932)
git-svn-id: trunk@25158 -
2010-05-04 01:56:47 +00:00
paul
37bdc6873b lcl: formatting
git-svn-id: trunk@25125 -
2010-05-02 07:00:16 +00:00
paul
0b8c73b16e win32: allow interception of LM_SYSCOMMAND (issue #0013442)
git-svn-id: trunk@25123 -
2010-05-02 06:16:38 +00:00
paul
6e25284b27 win32: move wm_enable groupbox handling to groupbox message handler
git-svn-id: trunk@25053 -
2010-04-29 01:46:04 +00:00
paul
8ef1c9a937 win32: remove groupbox createhandle hack (issue #0016360, issue #0015085)
git-svn-id: trunk@25052 -
2010-04-29 01:26:13 +00:00
paul
68e504e4e8 win32: invalidate window on WM_UPDATEUISTATE to fix occasional control disappearing, move some groupbox only code to groupbox message handler
git-svn-id: trunk@25022 -
2010-04-28 08:10:10 +00:00
paul
a3f7991e43 win32: let windows handle paint messages for checklistbox (a trial to reduce flickering)
git-svn-id: trunk@24987 -
2010-04-27 00:40:39 +00:00
paul
6469d26fdd win32: Move WndText, WndClassName to win32proc to use for debugging in more units
git-svn-id: trunk@24959 -
2010-04-26 09:51:40 +00:00
paul
e4743af864 win32: remove groupbox wm_erasebackground workaround - this reduces flicking
git-svn-id: trunk@24942 -
2010-04-26 01:55:11 +00:00
paul
f95b2f63d5 win32:
- redo FinishCreateWindow to allow window subclassing,
  - subclass combobox to get access to the first messages that control receives
ideintf: remove workaround with ValueComboBox handle check in MeasureItem

git-svn-id: trunk@24686 -
2010-04-17 19:53:55 +00:00
paul
d96d0481d2 win32: clear all LMessages fields at the beginning of the message window proc to prevent passing wrong LParam and WParam to LCL, fill WParam and LParam in case of LM_ACTIVATE, LM_DEACTIVATE since they store new ActiveWindow and other useful data
git-svn-id: trunk@24142 -
2010-03-21 13:48:10 +00:00
paul
eef0d16e78 lcl: fix LM_CONTEXTMENU handling - use another message structure (windows compatible). also hopefully fixes 64bit compilation (issue #0016000)
git-svn-id: trunk@24011 -
2010-03-15 14:23:02 +00:00
paul
1613c3ab5f win32: fix scrollbar regression (issue #0015717)
git-svn-id: trunk@23912 -
2010-03-10 08:40:34 +00:00
paul
a77478ebb9 win32: apply Dmitry patch with modifications for fixing application focus - move focus to last focused window on getting focus event (issue #0015494)
git-svn-id: trunk@23911 -
2010-03-10 08:22:45 +00:00
vincents
86d076e59b win32 and wince interface: fixed range check error, array of const parameters don't accept unsigned 32 bits integers (issue #15815)
git-svn-id: trunk@23890 -
2010-03-09 15:30:05 +00:00
paul
3d4f978f63 win32: move statictext message handling to statictext window proc
git-svn-id: trunk@23639 -
2010-02-05 09:31:44 +00:00
paul
3299c6aa4c win32: move TrackBar code to own window message handlers
git-svn-id: trunk@23635 -
2010-02-05 07:49:42 +00:00
paul
45f1d382dd win32: move ListView code from the generic message handler to ListView message handler
git-svn-id: trunk@23634 -
2010-02-05 03:07:57 +00:00
paul
9adc8929ff win32: move TCheckListBox code from the generic handlers to checklistbox handlers
git-svn-id: trunk@23625 -
2010-02-04 03:23:45 +00:00
paul
46bb53cc00 win32: remove HandleSpinEditDeltaPos from generic WindowProc to default window proc of spinedit
git-svn-id: trunk@23623 -
2010-02-04 01:56:39 +00:00
paul
072f7f8c22 win32: move spinedit change code to spinedit widgetset class default handler
git-svn-id: trunk@23621 -
2010-02-03 23:51:10 +00:00
paul
83ea351c48 win32: move few spinedit handlers from generic windowproc to spinedit windowproc
git-svn-id: trunk@23616 -
2010-02-03 10:34:48 +00:00
paul
a2d258006a win32: don't send WM_NCLBUTTONDOWN to LCL
git-svn-id: trunk@23614 -
2010-02-03 09:17:54 +00:00
paul
db416e28ac win32: pass better messages to NotifyApplicationUserInput for WM_NCMOUSE...
git-svn-id: trunk@23589 -
2010-01-29 09:11:25 +00:00
paul
dfb5d67e48 win32: fix minimize of application where there is no main form or it has not handle yet
git-svn-id: trunk@22781 -
2009-11-26 04:20:03 +00:00
paul
98a2219391 win32: another trial to solve vista menu bar repainting problem (issue #0014894)
git-svn-id: trunk@22595 -
2009-11-15 13:48:25 +00:00
paul
8064b14d92 win32: draw menu bar background once per repaint for all the menu bar (fixes bug #0014894)
git-svn-id: trunk@22410 -
2009-11-03 19:21:34 +00:00
vincents
04304dd66c LCL: added Application.IntfAppActivate and Application.IntfAppDeactivate, that can be called by the widgetset to notify the LCL, so it can raise the Application.OnActivate and OnDeactivate events. It is used in by the win32 widgetset (issue #8043)
git-svn-id: trunk@22062 -
2009-10-07 12:10:11 +00:00
paul
c6ba3e76d8 win32: TCheckListBox:
- move TCheckListBox code from the general WindowProc to the private one
  - preserve data on ListBox item change and appropriate code for TCheckListBox

git-svn-id: trunk@22039 -
2009-10-05 07:57:09 +00:00
paul
11ec547a04 win32: draw parent background using theme services instead of requesting full parent painting
git-svn-id: trunk@21928 -
2009-09-30 09:23:30 +00:00
paul
eaa3c7ca92 win32: notify application about idle on WM_ENTERIDLE
git-svn-id: trunk@21842 -
2009-09-23 21:44:07 +00:00
paul
75c0fc522b win32: don't handle menu opening via keyboard for designer forms
git-svn-id: trunk@21815 -
2009-09-22 02:36:54 +00:00
paul
e85ba5aa58 win32: return normal position of minimized windows for LM_MOVE and in GetRelativePosition
git-svn-id: trunk@21744 -
2009-09-17 08:08:36 +00:00
paul
718cf5e973 win32: return normal window size on WM_SIZE message if window is minimized
git-svn-id: trunk@21727 -
2009-09-16 07:02:04 +00:00
paul
ae65b07221 lcl, win32, carbon: initial implementation of virtual TListView by Dmitry (issue #0007749)
git-svn-id: trunk@21524 -
2009-09-01 16:44:31 +00:00
martin
0599dc51aa LCL: small optimization to WM_SETCURSOR, avoid unnecessary calculations, if screen.cursor is set
git-svn-id: trunk@21217 -
2009-08-13 14:10:09 +00:00
vincents
808a2558b9 win32 interface: don't handle state changes in togglebox manually (issue #14252)
git-svn-id: trunk@21103 -
2009-08-05 09:47:25 +00:00
paul
87a2fea05c win32: rename TWindowInfo -> TWin32WindowInfo, GetWindowInfo -> GetWin32WindowInfo, etc because of conflict with winapi functions and structures
git-svn-id: trunk@20836 -
2009-07-12 04:27:59 +00:00
paul
83038bf575 win32: process wm_help message
git-svn-id: trunk@20823 -
2009-07-11 05:49:46 +00:00
paul
d889bf171c win32: fix sub menu items search in wm_menuselect
git-svn-id: trunk@20814 -
2009-07-09 06:21:56 +00:00
martin
10869b8cdf Fixed a possible RangeCheck exception
git-svn-id: trunk@20774 -
2009-07-01 14:04:49 +00:00
paul
67b08ac58d win32: add more checks in UpdateUIState (maybe fixes bug #0014014)
git-svn-id: trunk@20686 -
2009-06-21 03:00:13 +00:00
paul
57446cdb93 win32: fix focus rect drawing on TBitBtn on Vista/w7
git-svn-id: trunk@20668 -
2009-06-19 07:17:55 +00:00
paul
08d373cf9c win32: add few checks
git-svn-id: trunk@20667 -
2009-06-19 06:37:39 +00:00
paul
1b5a77a7e7 win32: respect show accelerator windows option for controls (windows 2000 and next)
git-svn-id: trunk@20666 -
2009-06-19 03:28:59 +00:00
paul
f50ffbfbc7 win32: implement vista/w7 menubar drawing
git-svn-id: trunk@20610 -
2009-06-13 04:54:27 +00:00
paul
a7eca7b2d5 win32: draw popup menu in Vista style on vista/w7
git-svn-id: trunk@20606 -
2009-06-12 16:20:19 +00:00
paul
8140fd8755 lcl: add more extra mouse buttons support
git-svn-id: trunk@20536 -
2009-06-09 04:25:32 +00:00
paul
b6cec7a960 win32: Fix for owner drawn TListView on Windows (by Yury Sidorov, issue #0013847)
git-svn-id: trunk@20273 -
2009-05-28 02:32:58 +00:00
paul
7526bb803e gtk: report LCL page index instead of gtk page index on notebook page change
git-svn-id: trunk@20087 -
2009-05-21 06:31:13 +00:00
paul
ff4795ef8e win32: fix restoring of main form state after application minimize (bug #0013752)
git-svn-id: trunk@20081 -
2009-05-21 01:20:27 +00:00
paul
6306629a9e win32: notify LCL on mouse enter/leave, NC movements more correct
git-svn-id: trunk@20069 -
2009-05-20 07:14:50 +00:00
paul
35911b87ad win32: remove wm_ncactivate handling for main form (issue #0013753)
git-svn-id: trunk@20040 -
2009-05-19 06:20:07 +00:00
jesus
84cead9009 LCL, custom handling of checkbox states (windows, this enables the use of allowgrayed without cbGrayed state, specially useful for dbcheckbox), fix cbGrayed state under gtk2
git-svn-id: trunk@20012 -
2009-05-17 17:00:47 +00:00
vincents
4d7acfea9e win32 interface: fixed compilation with -dDEBUG_DOUBLEBUFFER
git-svn-id: trunk@19656 -
2009-04-28 06:48:30 +00:00
vincents
71f54ad658 win32 interface:
- removed obsolete debugging statements
* fixed compilation with -dMSG_DEBUG

git-svn-id: trunk@19655 -
2009-04-28 06:44:16 +00:00
paul
b4435027f4 win32: add shadow for hint window as it is present for native hints starting from XP
git-svn-id: trunk@19512 -
2009-04-19 12:53:09 +00:00
paul
e9e4a01870 win32: remove TCustomFrame dependency
git-svn-id: trunk@19295 -
2009-04-10 06:12:29 +00:00
paul
84f98a4450 win32: port r13117 #7b318045cc from wince - fixes threading synchronization (fixes issue #0011561)
git-svn-id: trunk@19070 -
2009-03-23 08:23:45 +00:00
vincents
1f3f833a84 win32 interface: use UTF16 <-> UTF8 conversion functions from LCLProc instead of UTF8Encode/UTF8Decode from the RTL to work around fpc bug #13075
patch by: Theo
fixes issue #13067

git-svn-id: trunk@18769 -
2009-02-20 08:33:44 +00:00
paul
7ddb879bc3 win32: adjust clientrect when we restore form from minimized/maximized state (fixes bug #0013136, bug #0010503)
git-svn-id: trunk@18743 -
2009-02-18 07:08:46 +00:00
paul
1051a764db lcl: formatting
git-svn-id: trunk@18741 -
2009-02-18 03:43:39 +00:00
paul
ff0c1822d1 win32: postpone combobox CBN_CLOSEUP message to let CBN_SELCHANGE to be handled first (fixes bug #0013189)
git-svn-id: trunk@18723 -
2009-02-17 07:29:14 +00:00
paul
0819d94bb4 win32: use LCL DeliverMessage instead of own
win32: better handle windows theme change (part of bug #0012715)

git-svn-id: trunk@18695 -
2009-02-15 09:33:57 +00:00
paul
53a4ae0a3e win32: remove few workarounds regards window focus and application z-order
lcl: remove code which focused control on every window show. it caused errors with z-order of forms after minimize-restore (issue #0012635)
lcl: restore last active control/form on application restore

git-svn-id: trunk@18645 -
2009-02-12 10:21:33 +00:00
paul
1d777bebeb lcl: introduce TScreen.DisableForms, TScreen.EnableForms,
lcl: Disabling/Enabling forms before/after showing of modal form
win32: remove win32 specific methods of disabling/enabling windows. Use new TScreen methods instead
win32: disable/enable forms before/after showing some system dialog (fixes bug #0012366, bug #0012382)

git-svn-id: trunk@18629 -
2009-02-10 14:38:01 +00:00
paul
746c583d65 win32: set only ptMaxTrackSize. Windows will automatically calculate ptMaxSize (fixes bug #0012655)
git-svn-id: trunk@18609 -
2009-02-09 06:52:53 +00:00
paul
aaefb01ca1 win32: reduce flickering of themed applications (bug #0010307, bug #0012190)
git-svn-id: trunk@18594 -
2009-02-06 18:44:50 +00:00
paul
82572a7ab9 win32: pass both LogOff and ShutDown to Application.OnQueryEndSession, Application.OnEndSession (bug #0011969)
git-svn-id: trunk@18548 -
2009-02-04 02:24:58 +00:00
paul
03516b6b64 win32: don't set combobox text on closeup notification (bug #0010929)
git-svn-id: trunk@18528 -
2009-02-01 10:23:09 +00:00
paul
9056fdcdf0 win32: combobox fixes
- add combobox messages to WM_TO_STRING function
  - fix recursion in the ComboBoxWindowProc related to GetComboboxInfo call and further CB_GETCOMBOBOXINFO message generated by windows
  - fix destroying wrong window info if combobox has no edit (fixes bug #0012529)

git-svn-id: trunk@18525 -
2009-02-01 09:29:47 +00:00
paul
983e3633ec lcl: fix some autosize problems
git-svn-id: trunk@18501 -
2009-01-30 07:44:06 +00:00
paul
6fd6f8e904 win32: workaround showing accelerator chars (bug #0013056)
git-svn-id: trunk@18481 -
2009-01-29 03:30:24 +00:00
paul
7ce333d91a win32: don't reassign already found lWinControl variable by HandleUnicodeChar - use parent lWinControl value (fixes bug #0013044)
git-svn-id: trunk@18448 -
2009-01-26 09:36:50 +00:00
paul
6eccca7842 lcl: button changes
- set TabStop = Checked on radio button checked change (delphi compatibility) 
  - move LM_CLICKED handler from TCustomButton to TButtonControl
  - change TRadioGroup TabStop back to false
win32: pass LM_CLICKED for TButtonControls, remove unneeded code
(fixes #0012855, #0012689 ?)

git-svn-id: trunk@18426 -
2009-01-24 19:38:02 +00:00
paul
f7dce3c301 win32: correct some debugLn
git-svn-id: trunk@18407 -
2009-01-24 11:48:29 +00:00
paul
949b2781aa win32: pass WM_CANCELMODE to the LCL,
lcl: stop mouse capture on LM_CANCELMODE (issue #0012813)

git-svn-id: trunk@18393 -
2009-01-23 02:40:28 +00:00
paul
862a8f9949 win32: don't change mainform window state on application restore (bug #0012654)
git-svn-id: trunk@18284 -
2009-01-14 04:34:13 +00:00
paul
133caf74fd win32: draw missed focus rectangle for all themed bitbtns
git-svn-id: trunk@18250 -
2009-01-11 07:08:27 +00:00