Make the parameters that should be read-only read-only.
WTL 10.01 has been released. This version is 2026 update for Visual Studio 2022/2026 and bug fixes. Download: https://sourceforge.net/projects/wtl/files/WTL%2010/WTL%2010.01%20Release/WTL10_01_Release.zip/download Enjoy!
Updated ReadMe information for release
Updated version for release
DPI support for CDialogResize
Added DPI code to CDialogResize. _WTL_DPI_SUPPORT must be defined for the code to be used. Changed file: atlframe.h https://sourceforge.net/p/wtl/git/ci/9051cdadb067391152a492a56f8a9768c61c5cb5/
Support request #4: DPI support for CDialogResize
DC not deleted
Fixed as described changed file: atldlgs.h https://sourceforge.net/p/wtl/git/ci/02f7661db5b4f295375fd7c83e63a0a0b928f635/
CEditT::SetZoom and CRichEditCtrlT::SetZoom erroneous ATLASSERTS
Those were some lousy ASSERTs - replaced with better ones. Also added required casts to avoid warnings in new CEdit methods changed file: atlctrls.h https://sourceforge.net/p/wtl/git/ci/759ce3ce09109b27c3a60b6399970ad3633bf69c/
Fix for Bug #343 DC not deleted
Fix for Bug #342 CEditT--SetZoom and CRichEditCtrlT--SetZoom erroneous ATLASSERTS
cool
DC not deleted
DC not deleted
CEditT::SetZoom and CRichEditCtrlT::SetZoom erroneous ATLASSERTS
CEditT::SetZoom and CRichEditCtrlT::SetZoom erroneous ATLASSERTS
CSplitterImpl::GetSystemSettings() - Add SM_CXPADDEDBORDER to splitter bar width for VS2012 or newer
Updated with required _WIN32_WINNT >= 0x0600 Changed file: atlsplit.h https://sourceforge.net/p/wtl/git/ci/c2f8a1e440bacb4ffa9fa5afedc2cb097a6b4a60/
Bug #340 CSplitterImpl::GetSystemSettings() - Add SM_CXPADDEDBORDER to splitter bar width for VS2012 or newer
Samples: Fixed sample code to unregister message filtering and idle updates in OnDestroy()
Add UIRemoveToolBar or so
Added as proposed Changed file: atlframe.h https://sourceforge.net/p/wtl/git/ci/90f5db8f3d3bbf185fe632358b6fe99296f2caca/
Bug #332 Add UIRemoveToolBar or so
Fixed Setup.js to support Wizard in Visual Studio 2019
This was already done
C++ Analysis warnings in NOTIFY_CODE_HANDLER
ATL issue
Possible small bug in SortChildrenCB
Changed as described
Bug #334: Possible small bug in SortChildrenCB
Rec
Nothing here
Make _cchFindReplaceBuffer configurable in CFindReplaceDialogImpl
It will work - it be overridden in a derived class by simply declaring enum again
Example bug: AtlLoadIconImage is never freed
Wrong _In_ annotation in MapWindowPoints
MapWindowPoints() is part of ATL. WTL does not use annotations.
AtlLoadSysIconImage() and AtlLoadSysCursorImage() should include and check for LR_SHARED flag
Load fails without LR_SHARED Changed file: atluser.h
CSplitterImpl::GetSystemSettings() - Add SM_CXPADDEDBORDER to splitter bar width for VS2012 or newer
Changed file: atlsplit.h
CSplitterImpl::GetSystemSettings() - Add SM_CXPADDEDBORDER to splitter bar width for VS2012 or newer
This is a compiler dependent issue - Windows returns different values for code compiled with VS2012 or newer, then the older compilers This somehow got forgotten for a long time
CPrintPreview::DoPaint(CDCHandle dc) - 'dc': unreferenced parameter
Minor, but amazing that this was not discovered all these years Changed file: atlprint.h
Bug #341: AtlLoadSysIconImage() and AtlLoadSysCursorImage() should include and check for LR_SHARED flag
Bug #340: CSplitterImpl--GetSystemSettings() - Add SM_CXPADDEDBORDER to splitter bar width
Bug #339: CPrintPreview--DoPaint(CDCHandle dc) - 'dc'- unreferenced parameter
AtlLoadSysIconImage() and AtlLoadSysCursorImage() should include and check for LR_SHARED flag
CSplitterImpl::GetSystemSettings() - Add SM_CXPADDEDBORDER to splitter bar width for VS2012 or newer
CPrintPreview::DoPaint(CDCHandle dc) - 'dc': unreferenced parameter
Setup for Visual Studio 2026
Setup.js now supports VS2026 changed file: https://sourceforge.net/p/wtl/git/ci/fb6c6aeeb28ae2d321fc7ddd53b808ce47dd386a/
App Wizard: Updated setup to support VS2026
Setup for Visual Studio 2026
Yes, coming soon
Setup for Visual Studio 2026
brotli @ 533843e
Not showing on VS 17.13.5
Not showing on VS 17.13.5
Please try the following command (in Visual Studio Command Prompt): devenv /updateconfiguration It should refresh the cache and show all Wizards This issue was reported in Visual Studio 2019, and it was fixed. However, it still shows up occasionally. You can read more about it here: https://developercommunity.visualstudio.com/t/custom-project-template-ignored/802036 Thanks, Nenad
Not showing on VS 17.13.5
IsDialogMessage called with invalid handle in example code
I will update all samples to have it, thanks!
OK, I feel silly now. Thanks. I think I copied it from another example though. From a quick check, around half of the examples have AddMessageFilter but not RemoveMessageFilter.
IsDialogMessage called with invalid handle in example code
Hello, Thanks for reporting this. If you examine the code generated by the WTL App Wizard, you will see that there is a WM_DESTROY handler in which message filter is unregistered. That will prevent PreTranslateMessage being called after the window has been destroyed. My guess is that edit control posts a notification message which comes after main window is already destroyed. You can fix your project by adding the same OnDestroy handler. GuidGen, being a very old sample, doesn't have that code. And...
IsDialogMessage called with invalid handle in example code
IsDialogMessage called with invalid handle in example code
I experienced the same issue but was able to resolve it. Here’s how it worked in Visual Studio 2022. The main issue was that the HTML files( \HTML\1033) were blocked due to security restrictions. Once the block is removed, the script executes normally. https://sourceforge.net/p/wtl/discussion/374433/thread/ab18b498/#a2e3
I experienced the same issue but was able to resolve it. Here’s how it worked in Visual Studio 2022. The main issue was that the HTML files( \HTML\1033) were blocked due to security restrictions. Once the block is removed, the script executes normally.
I experienced the same issue but was able to resolve it. Here’s how it worked in Visual Studio 2022. The page is in Korean, but you should be able to view it using a translation feature. https://lucidmaj7.tistory.com/435 (refer to point 8 in this post). The main issue was that the HTML files( \HTML\1033) were blocked due to security restrictions. Once the block is removed, the script executes normally.
I have searched for answers extensively and have not found any. I am trying to use the WTL library and I wanted to start by using App Wizard to get a starting point. I get three errors when I try using the App Wizard in Visual Studio 2017 and 2022. An error has occured in the script on this page. Line: 25 Char: 3 Error: Invalid procedure call or argument Code: 0 URL: file:///D:/WTL10_10320/AppWizard/Files/HTML/1033/default.htm And a prompt asking if I want to continue running scripts on this page....
I have searched for answers and help on these issues. I am trying to use the WTL library and I wanted to start with the AppWizard to get a shell of WTL to begin. It took quite a while to get this far, but I get three errors when I run it in Visual Studio 2017 and 2022. An error has occured in the script on this page. Line: 25 Char: 3 Error: Invalid procedure call or argument Code: 0 URL: file:///D:/WTL10_10320/AppWizard/Files/HTML/1033/default.htm And a prompt asking if I want to continue running...
I have searched for answers and help on these issues. I am trying to use the WTL library and I wanted to start with the AppWizard to get a shell of WTL to begin. It took quite a while to get this far, but I get three errors when I run it in Visual Studio 2017 and 2022. An error has occured in the script on this page. Line: 25 Char: 3 Error: Invalid procedure call or argument Code: 0 URL: file:///D:/WTL10_10320/AppWizard/Files/HTML/1033/default.htm And a prompt asking if I want to continue running...
Fall at Mills
Fall at Mills
NMHDR nmhdr = { pT->m_hWnd, (UINT_PTR)nId, ZSN_ZOOMCHANGED };
Rec
Make _cchFindReplaceBuffer configurable in CFindReplaceDialogImpl
Make _cchFindReplaceBuffer configurable in CFindReplaceDialogImpl
Wrong _In_ annotation in MapWindowPoints
Wrong _In_ annotation in MapWindowPoints
It's slightly more important with child dialogs which can be created multiple times, but yes, that's a pedantic note that's not too critical, and it's example code and not the lib so it's not too bad too
I don't think this is important. The app is shutting down when the dialog is closing, it won't be reopened multiple times. Documentation also states: "The system automatically deletes these resources when the process that created them terminates".
DPI support for CDialogResize
DPI support for CDialogResize
Actually I'm not sure that it's a bug, I think an icon set with WM_SETICON is freed automatically. I didn't find any proof for that in the docs, though.
deleted post
Hi How can do auto Update UI in WTL, Like MFC? Normally we have to call UIEnable function to do update ui but i want ui updated in idle event automatically?
Example bug: AtlLoadIconImage is never freed
Example bug: AtlLoadIconImage is never freed
This is an unfortunate situation. Documetation is correct, and bRecurse was copied from TreeView_SortChildrenCB macro. The best would be to modify the method like this: BOOL SortChildrenCB(LPTVSORTCB pSort, BOOL /*bRecurse*/ = FALSE) // Note: bRecurse is not used { ATLASSERT(::IsWindow(this->m_hWnd)); return (BOOL)::SendMessage(this->m_hWnd, TVM_SORTCHILDRENCB, 0, (LPARAM)pSort); } Cheers, Nenad
but it didn't ask. I ran script an simultanseeously checked directory for tmp file- there was no such file- it wasn't written.