summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authordrh <drh@sqlite.org>2001-11-27 04:36:18 (GMT)
committerdrh <drh@sqlite.org>2001-11-27 04:36:18 (GMT)
commit3be7b28beca41a79f04ec5937636395f5feb9fdf (patch)
treebd16e4fc309a9e60acfd8f0621256e8a82dff601 /win
parent2c38d7f94081181c16b469516ddb54c703d54516 (diff)
downloadtk-3be7b28beca41a79f04ec5937636395f5feb9fdf.zip
tk-3be7b28beca41a79f04ec5937636395f5feb9fdf.tar.gz
tk-3be7b28beca41a79f04ec5937636395f5feb9fdf.tar.bz2
Change the behavior of menus on windows to be more consistent with native
windows menus. Disabled menu entries show their active background color on mouseover and keyboard traversal.
Diffstat (limited to 'win')
-rw-r--r--win/tkWinMenu.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/win/tkWinMenu.c b/win/tkWinMenu.c
index f612690..f1c07d7 100644
--- a/win/tkWinMenu.c
+++ b/win/tkWinMenu.c
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkWinMenu.c,v 1.16 2001/10/12 13:30:32 tmh Exp $
+ * RCS: @(#) $Id: tkWinMenu.c,v 1.17 2001/11/27 04:36:18 drh Exp $
*/
#define OEMRESOURCE
@@ -1078,6 +1078,12 @@ TkWinHandleMenuEvent(phwnd, pMessage, pwParam, plParam, plResult)
} else {
TkActivateMenuEntry(menuPtr, -1);
}
+ } else {
+ if (itemPtr->itemState & ODS_SELECTED) {
+ mePtr->entryFlags |= ENTRY_PLATFORM_FLAG1;
+ } else {
+ mePtr->entryFlags &= ~ENTRY_PLATFORM_FLAG1;
+ }
}
tkfont = Tk_GetFontFromObj(menuPtr->tkwin, menuPtr->fontPtr);
@@ -2408,7 +2414,8 @@ DrawMenuEntryBackground(
int width, /* width of rectangle to draw */
int height) /* height of rectangle to draw */
{
- if (mePtr->state == ENTRY_ACTIVE) {
+ if (mePtr->state == ENTRY_ACTIVE
+ || (mePtr->entryFlags & ENTRY_PLATFORM_FLAG1)!=0 ) {
bgBorder = activeBorder;
}
Tk_Fill3DRectangle(menuPtr->tkwin, d, bgBorder,