summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhobbs <hobbs>2001-11-10 00:58:51 (GMT)
committerhobbs <hobbs>2001-11-10 00:58:51 (GMT)
commitd1b8e1178cde9bd9858bd427a2dcc665ad903152 (patch)
treec9f7b72e38056d27ab878e183527d70a558529f5
parentee3ea0d53f192b513fb7274babd79e1357ba7316 (diff)
downloadtk-d1b8e1178cde9bd9858bd427a2dcc665ad903152.zip
tk-d1b8e1178cde9bd9858bd427a2dcc665ad903152.tar.gz
tk-d1b8e1178cde9bd9858bd427a2dcc665ad903152.tar.bz2
* win/tkWinX.c (TkWinXInit): added InitCommonControlsEx call.
* win/rc/tk.rc: * win/rc/wish.rc: * win/rc/wish.exe.manifest: added resources that specify using v6 of the MS Common Controls library when available (WinXP+). This enables use of the themeable widgets (like scrollbars) to be used in Tk. [Patch #478933]
-rw-r--r--ChangeLog16
-rw-r--r--win/rc/tk.rc14
-rw-r--r--win/rc/wish.exe.manifest22
-rw-r--r--win/rc/wish.rc14
-rw-r--r--win/tkWinX.c14
5 files changed, 77 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 9e98a58..87ef0f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2001-11-09 Jeff Hobbs <jeffh@ActiveState.com>
+
+ * unix/configure:
+ * unix/tcl.m4: added -lc to AIX libs, fixed path to ldAix
+
+ * win/configure:
+ * win/tcl.m4:
+ * win/makefile.vc: add comctl32.lib to build libs.
+ * win/tkWinX.c (TkWinXInit): added InitCommonControlsEx call.
+ * win/rc/tk.rc:
+ * win/rc/wish.rc:
+ * win/rc/wish.exe.manifest: added resources that specify using v6
+ of the MS Common Controls library when available (WinXP+). This
+ enables use of the themeable widgets (like scrollbars) to be used
+ in Tk. [Patch #478933]
+
2001-11-09 Mo DeJong <mdejong@users.sourceforge.net>
* unix/configure:
diff --git a/win/rc/tk.rc b/win/rc/tk.rc
index cdc1e6d..bdca9cd 100644
--- a/win/rc/tk.rc
+++ b/win/rc/tk.rc
@@ -1,4 +1,4 @@
-// RCS: @(#) $Id: tk.rc,v 1.7 2001/10/01 21:04:07 hobbs Exp $
+// RCS: @(#) $Id: tk.rc,v 1.8 2001/11/10 00:58:51 hobbs Exp $
//
// Version Resource Script
//
@@ -67,3 +67,15 @@ END
//
#include "tk_base.rc"
+
+//
+// This enables themed scrollbars in XP by trying to use comctl32 v6.
+//
+
+#ifndef RT_MANIFEST
+#define RT_MANIFEST 24
+#endif
+#ifndef CREATEPROCESS_MANIFEST_RESOURCE_ID
+#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
+#endif
+CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "wish.exe.manifest"
diff --git a/win/rc/wish.exe.manifest b/win/rc/wish.exe.manifest
new file mode 100644
index 0000000..424000f
--- /dev/null
+++ b/win/rc/wish.exe.manifest
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+<assemblyIdentity
+ version="8.4.0.4"
+ processorArchitecture="X86"
+ name="Tcl.Tk.wish"
+ type="win32"
+/>
+<description>Tcl/Tk windowing shell (wish)</description>
+<dependency>
+<dependentAssembly>
+<assemblyIdentity
+ type="win32"
+ name="Microsoft.Windows.Common-Controls"
+ version="6.0.0.0"
+ processorArchitecture="X86"
+ publicKeyToken="6595b64144ccf1df"
+ language="*"
+/>
+</dependentAssembly>
+</dependency>
+</assembly>
diff --git a/win/rc/wish.rc b/win/rc/wish.rc
index 7d6ce2c..d10a200 100644
--- a/win/rc/wish.rc
+++ b/win/rc/wish.rc
@@ -1,4 +1,4 @@
-// RCS: @(#) $Id: wish.rc,v 1.6 2001/10/01 21:04:07 hobbs Exp $
+// RCS: @(#) $Id: wish.rc,v 1.7 2001/11/10 00:58:51 hobbs Exp $
//
// Version Resource Script
//
@@ -79,3 +79,15 @@ app ICON DISCARDABLE "wish.ico"
#ifdef STATIC_BUILD
#include "tk_base.rc"
#endif
+
+//
+// This enables themed scrollbars in XP by trying to use comctl32 v6.
+//
+
+#ifndef RT_MANIFEST
+#define RT_MANIFEST 24
+#endif
+#ifndef CREATEPROCESS_MANIFEST_RESOURCE_ID
+#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
+#endif
+CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "wish.exe.manifest"
diff --git a/win/tkWinX.c b/win/tkWinX.c
index 3599bd0..e7ec13d 100644
--- a/win/tkWinX.c
+++ b/win/tkWinX.c
@@ -10,10 +10,11 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkWinX.c,v 1.15 2001/09/21 21:26:09 hobbs Exp $
+ * RCS: @(#) $Id: tkWinX.c,v 1.16 2001/11/10 00:58:51 hobbs Exp $
*/
#include "tkWinInt.h"
+#include <commctrl.h>
/*
* The zmouse.h file includes the definition for WM_MOUSEWHEEL.
@@ -154,6 +155,17 @@ TkWinXInit(hInstance)
}
childClassInitialized = 1;
+ if (TkWinGetPlatformId() == VER_PLATFORM_WIN32_NT) {
+ /*
+ * This is necessary to enable the use of themeable elements on XP,
+ * so we don't even try and call it for Win9*.
+ */
+
+ INITCOMMONCONTROLSEX comctl;
+ ZeroMemory(&comctl, sizeof(comctl));
+ (void) InitCommonControlsEx(&comctl);
+ }
+
tkInstance = hInstance;
/*