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.
Of course administrative priviledges are required. Setup.js should automatically ask for them. If it doesn't, something else is wrong.
ran it with "debug". It wanted to create tmp file, but failed. Maybe, administarative privileges are necessary?
You can run setup.js /debug and it will give you more info about steps that it is performing. It will also give you the full path of temporary files that it is creating, so you can check what is wrong with that. Don't move setup.js without also moving Files subfolder. Good luck, Nenad
Yes, I did and it failed. I placed that script in differnt folders- no matter. Error: cannot read tmp file (file not found). and finally "setup couldn't find Visual Studio installed"
That part of the code is looking for older versions of Visual Studio. It is under section // Search for Visual Studio 2005-2015 If you look further you will find the next section // Search for Visual Studio 2017/2019/2022 which searches for newer versions. If the section does not mention Visual Studio 2022, that means that you don't have the updated file. Have you tried to run setup.js? Cheers, Nenad
Afraid, thee is a resaon. The instalaltion script is looking for string like "Microsoft Visual Studio 14", but there ane no such folders in my version of VS2022 (it is free Community version)
There is no reason to live without the AppWizard. It should work Thanks for the picture On Mon, Jun 5, 2023 at 3:05 PM Andrew_M fork324@users.sourceforge.net wrote: well, I can live without AppWizard. Take this picture- the nice picture, nothing common with WTL. Attachments: fox.jpg https://sourceforge.net/p/wtl/discussion/374433/thread/815bc8fb2c/0480/attachment/fox.jpg (331.2 kB; image/jpeg) moving WTL projects from VS 2015 to VS 2022 https://sourceforge.net/p/wtl/discussion/374433/thread/815bc8fb2c/?limit=25#0480...
well, I can live without AppWizard. Take this picture- the nice picture, nothing common with WTL.
Question is almost a month old now, but in case you haven't already found the answer... Yes, you will need to subclass the control to get the mouse button messages as the default window procedure normally handles them.
I am glad that you solved the problem. Thank you! Nenad
Thank you. I did what you wrote here, of course. Zero result. Bu I resolved the situation. I had a simple WTL project, created with WTL for VS2014. I was able to recompile it under VS2022 (after changing pathes to WTL files, of course). Then I began to replace files of the project- one by one. Compiler accepted them. The only one thing was inconvenient- I had to change names. Well, I can live with it. What is the most important is the fact, that the project runs. And, BTW, thank you for WTL- it is...
Possible small bug in SortChildrenCB
Possible small bug in SortChildrenCB
Hi Andrew, You should review your include files and also include file paths that you have in your project. It could be that some path is including files from wrong (or old) location. atlgdi.h is always included via atlapp.h Cheers, Nenad
Hi Andrew, That was already answered in: https://sourceforge.net/p/wtl/discussion/374433/thread/f00ccfa770/ You need to install WTL10, and after that update following files directly from the Git repository: Include\atlmisc.h - fix for bug #329 https://sourceforge.net/p/wtl/git/ci/50d62d3c5393fb72357cd95b927bc2a982ff0030/ AppWizard\Setup.js - added support for VS2022 https://sourceforge.net/p/wtl/git/ci/a07be9e01cbd5ada6d79960ea6ae70178ec42bea/ Include\atlribbon.h - patch #66 https://sourceforge.net/p/wtl/git/ci/804aaad67b42138f08f61bc0df3d22ca4a4c5c71/...
this process is always pain in ass. Two similar projects, one was succesfully modiied afteer such transaction, but the other is rejected by compiler. It is barking to CDCHandle, used in atlgdi.h file. "undeclared identifier", C2065. Moreover, I do not included this file to my include list. Can anyone give me some idea, what the issue might be here?
I have Community version of Visual Studio 2022 and I suspect, that Setup.js cannot be used for it. This script looks for folders like Microsoft Visual Studio 14 and so on, but there are no such folders. Is there a way to use WTL's AppWizaed for aforementioned Studio?
Look, I do not see, where WTL10_20211110 can be downloaded. Obviously, WTL10_10320 is a n earlirer version( and a brief look at AppWzard's javascript confirms this proposition)- it falied, trying to inplement WTL into Visual Studio 2022.
Yes, that is an unfortunate problem with Visual Studio. You need to run this command from the command line: devenv /updateconfiguration and that should fix it. Cheers, Nenad
oh i discovered about WM_GETDLGCODE. But i still need an insight... should i subclass the static control im replacing with my CWindowImpl<> derived window?
I have a modeless dialog in WTL. In the resource i put a STATIC control which i hide and replace with a CWindowImpl<> derived window. I need this window to receive WM_KEYDOWN,WM_KEYUP,WM_LBUTTONDOWN etc. But not even my dialog are receiving the key msgs. Is there a trick in WTL to receive these messages ps: i have other controls in the dialog, and they respond to tab, space, right, left,top,dwon arrows etc Thanks in advance, Fernando
Thank you. I ran the Setup.js script and it said it installed the AppWizard successfully. However, when I go into Visual Studio 2022 and bring up the New Project dialog, it is not there. Am I missing something obvious? I see the files under C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\VC\vcprojects
There was a plan about a point release. The problem is when. Minor fixes that happened after 10.0 release are happening at various times, so it is not clear when to do a point release. But, that can certainly be done. There were resources for learning about WTL, but that was a long time ago and most of those sites are gone now. I looked again and found this site which still exists: IDevResource.com - WTL (Windows Template Library) https://www.idevresource.com/wtl/ Wizard support was already added....
I agree that there aren't any significant changes that would warrant a major new release of WTL. Perhaps a point release (10.1) to update for Visual Studio 2022 and any small enhancements or bug fixes?. I really love the simplicity of WTL. I have found it difficult to find good resources for learning WTL, however. Do you have any suggestions? To add the wizard support to Visual Studio 2022, would you recommend updating the setup.js in the AppWizard folder, or just manually copying the files to the...
Hi Mark, WTL 10 should be working without issues with Visual Studio 2022. With updated files, of course. WTL supports classic UI for Windows (User, GDI, etc.). It doesn't seem to me that WPF and UWP have many new updates, so for new UI WinUI 3 seems like the best bet. There are no current plans for major new releases of WTL. There are no changes in classic technologies, so I don't see any need. Do you see anything of importance? Cheers, Nenad
Has anyone run into any issues using the current release (10.0) with Visual Studio 2022? I am also trying to determine where WTL fits into the C++ world with WPF, UWP, and WinUI 3. Are there any plans for a release beyond 10.0?
Hi, The question is, when to center a modal property sheet related to its parent. Upon receiving the PSCB_INITIALIZED message, the first tab hat not received the WM_INITDIALOG message yet. At that stage, although the sheet has been created and has a size, it has not properly resized itself according to the tabs size it holds. In a nutshell, if you call CenterWindow upon receiving PSCB_INITIALIZED, nothing happens. A workaround is to center the property sheet inside the WM_INITDIALOG of the first...
Hi all, sorry but I messed up with my project settings. I can see those properties. Please discard my previous post and if you want remove it since it isn't useful at all for anyone. Thanks!
Hi, I just discovered that there has been a new group of properties (visual studio properties pane) related to the dynamic layout of dialogs at design time (resources). They have been there since VS2005. Unfortunately it seems that they are available only on MFC projects only. Is there a trick /a way to let them appear also for resources of Win32 projects? Thanks!
Sorry, it was an oversight. I didn't see the wrapping method around CreateDialogParam. Thanks
Hi, Of course you can have a modeless dialog with WTL. Just create it with Create() instead of DoModal(). Cheers, Nenad On Fri, Mar 3, 2023 at 11:20 PM CodeVisio roberto674@users.sourceforge.net wrote: Hi, Thanks for the answer. My intention was to have a tab control plus some other controls around it on the parent dialog. CProperty* classes don't allow that. I was playing a bit with the tab control and wanted to add a dialog for each tab and I noticed WTL doesn't provide a modeless dialog class...
Hi, Thanks for the answer. My intention was to have a tab control plus some other controls around it on the parent dialog. CProperty* classes don't allow that. I was playing a bit with the tab control and wanted to add a dialog for each tab and I noticed WTL doesn't provide a modeless dialog class as far as I've seen. Is that true? How can I achieve that? Thanks
Hello, CTabView is not suitable for that. It is a 'view' type class, for client windows inside a frame window. You should look into CPropertySheet and CPropertyPage classes. The sample that can help is BmpView. Cheers, Nenad
Hi, Basically, I would like to have a traditional "settings"/configurations dialog for my program, where the user can (un)set global settings. Under the resource I created a dialog and dragged a tabctrl on it. Then I created several dialogs each one for every tab that I will add to the tab control. What is the WTL class that I could use for my scenario? I've looked through the WTL Samples folder without finding anything useful. CTabCtrl is a simple wrapper around the Win32 tab control. It misses...
Thanks, Igor, for your time and explanation. It is much clearer now.
On 2/11/2023 4:34 PM, CodeVisio wrote: 1) There are some classes whose name end with T. For example CPagerCtrlT. There is the declaration of it and at the end the typedef of CPagerCtrl using CWindow as template parameter. Why wasn't CPagerCtrl declared as first attempt and CWindow used as default template parameter? As "template<class tbase="ATL::CWindow"> class CPagerCtrl : public TBase" What is the purpose to declare it as it is and later declare the alias with the name without the T character.</class>...
Hello Michael, Thank you for you answer. I appreciate it. I'm pretty much new to WTL but I had already read the link you provided. The compile-time polymorphism is quite clear, but I have some generic questions regarding the design of WTL, design that I didn't catch very well. I'm sure I can wrap my head around it as I'd go further using WTL, I hoped however I could find an answer in an updated doc. 1) There are some classes whose name end with T. For example CPagerCtrlT. There is the declaration...
Hello Michael, Thank you for you answer. I appreciate it. I'm pretty much new to WTL but I had already read the link you provided. The compile-time polymorphism is quite clear, but I have some generic questions regarding the design of WTL, design that I didn't catch very well. I'm sure I can wrap my head around it as I'd go further using WTL, I hoped however I could find an answer in an updated doc. 1) There are some classes whose name end with T. For example CPagerCtrlT. There is the declaration...
I'm sorry for the noise, but this actually is no WTL bug, but it's in ATL's atlwin.h. Do you maybe know where to report this for ATL? Thanks!
C++ Analysis warnings in NOTIFY_CODE_HANDLER
If you already know about MFC, this article series from Michael Dunn is excellent: https://www.codeproject.com/articles/3841/wtl-for-mfc-programmers-part-i-atl-gui-classes If you know nothing about the MFC but already programming with the C Win32 API, the tutorial might still be helpful, since many of the WTL classes mirror the C style calls for controls, e.g. ListView_GetItemCount(). Also reading and stepping-through the WTL code also helps in that case. If you know nothing about the Win32 API,...
Hi, Is there an updated doc about WTL? Or a tutorial or alike? Thanks
github is more popular and active | | Ronald | | followait@163.com |
Sorry for the confusion. I have been looking at this some more. This seems to be an artifact of Code Analysis on older code. Perhaps an issue with Microsoft CA not recognizing certain macros? I massaged it away by suppressing the warnings in the solution configuration settings. I could also probably use #pragma push/pop around the headers instead.
Deleted post.
Please ignore this. It turned out to be a misconfiguration of my project. For some reason VS2019 was implicitly including some of the WTL headers. However, it was compiling, but with lots of warnings. I discovered the error when I renamed a subclassed control's header file and removed the old reference then included the new file.
I am using WTL 10320 and Visual Studio 2019. Here are the warnings I'm getting. I'm using C++14 Windows SDK Version 10.0 (latest) Unicode character set and debug libraries. NOt sure where to go with this as I don't want to start messing with the headers. Severity Code Description Project File Line Suppression State Warning C26110 Caller failing to hold lock '(&this->m_cslock)->m_cs' before calling function 'ATL::CComCritSecLock<atl::ccomcriticalsection>::Unlock'. Kick Firmware Update Utility C:\Program...
Why is this under "Bugs" when we have "Patches" category? Not so familiar with sourceforge, but I've found it out: "Create Ticket" depends on "Tickets"
That is OK. This will be addressed. Cheers, Nenad
Why is this under "Bugs" when we have "Patches" category? Not so familiar with sourceforege, but I've found it out: "Create Ticket" depends on "Tickets"
Add UIRemoveToolBar or so
Why is this under "Bugs" when we have "Patches" category? Anyway, thanks for your contribution Cheers, Nenad
Add UIRemoveToolBar or so
Error when including atlribbon.h
Any folder is fine, there are no requirements for that. Cheers, Nenad p.s. These questions are more appropriate for Discussion then here
To clarify: Does the official believe that the wtl header files need to be installed in include/wtl instead of directly in include?
I think you guys need to consider move this to github.
Error when including atlribbon.h
Correct. Somehow this fell through the cracks... Fixed as proposed Commit: https://sourceforge.net/p/wtl/git/ci/804aaad67b42138f08f61bc0df3d22ca4a4c5c71/
Patch #66 Error when including atlribbon.h
Error when including atlribbon.h
Error when including atlribbon.h