Updated samples. Converted TCHAR to Unicode.
CDC, CGDIObject, CImageList and CMenu now use std::shared_ptr.
Replaced Shared_Ptr with std::unique_ptr and std::shared_ptr.
Version 9.6.1 Released
Version 9.6.1
Updated Docker samples.
Minor update to MovieShow and Splitter samples.
Version 9.6 Released
Version 9.6
Add support for Embarcadero C++ Builder 11 CE
oops, sorry my fault. Found under Code menu. Will test during week-end thanks
Ciao, I've downloaded latest ZIP 9.5.2 but I cannot find a ScintillaDemo sample
Other options are as follows: // Assuming hView is the HWND of your non Win32++ view window ... HWND hContainer = ::GetParent(::GetParent(hView)); LRESULT result = ::SendMessage(hContainer, UWM_GETCDOCKCONTAINER, 0, 0); CDockContainer* pContainer = reinterpret_cast<CDockContainer*>(result); // or ... CDockContainer* pContainer = static_cast<CDockContainer*> (GetCWndPtr(::GetParent(::GetParent(hView)))); assert (dynamic_cast<CDockContainer*>(pContainer)); // Verify in debug mode. pContainer->SetDockCaption(L"***...
Replace MIN and MAX with std::min and std::max.
Hi ioannis, The container stays with its docker even when dockers and containers are rearranged. A view also stays with its container. Assuming the docker has an ID you can do something like this: CDocker* pDocker = GetDockFromID(ID_DOCK_OUTPUT2); if (pDocker) { CDockContainer* pContainer = pDocker->GetContainer(); pContainer->SetDockCaption(L"***New Caption Text***"); pContainer->SetTabText(L"*** Tab Text ***"); pContainer->SetTabIcon(IDI_CLASSVIEW); } Alternatively you could store the docker's...
Hi David, Thank you very much for the update and the quick response. With regards to the SetDockCaption() if the text contains an ampersand &, this is transalated to an underscore _ like the menus... I consider this is not the intended behavour here. With regards to the SetTabText, this works only when SetOwnerDraw(TRUE) otherwise the new text is not taken into account. With regards to theCDocker::CDockClient i had to expose GetDocker in order to get the docker CDocker* GetDocker() { return m_pDocker;...
Hi David, Thank you very much for the update and the quick response. With regards to the SetDockCaption() if the text contains an ampersand &, this is transalated to an underscore _ like the menus... I consider this is not the intended behavour here. With regards to the SetTabText, this works only when SetOwnerDraw(TRUE) otherwise the new text is not taken into account. With regards to theCDocker::CDockClient i had to expose GetDocker in order to get the docker CDocker* GetDocker() { return m_pDocker;...
Hi ioannis, I've updated the CDockContainer code to support the dynamic updating of the dock container's tab text, tab icon and caption. You can download the latest snapshot from the Code section here on SourceForge. Best regards, David
Updated CDockContainer.
Hi Eros, I've added a ScintillaDemo sample. You can download the lastest snapshot from the files section on SourceForge. Best regards, David
Added ScintillaDemo sample.
Hi David, I am trying to change the docker caption (docked and undocked) and the dock container tab text dynamically from within the view after creation (ie. think of the DockContainer sample, CViewClasses view, to change the above texts, depending on the view selection) Inspecting CDockContainer::SetTabText() and CDockContainer::SetDockCaption(), these functions set the new value to a class member variable which is only used during the creation or possible during undock and redock, but are not applied...
Hi Robert, Yes I would be happy to help you with the code. You can contact me directly via the email address listed in the copyright section of the code. In regard to the requirements you mentioned: Fixing the width of the first column should be made possible handling list-view HDN_TRACK notifications. Selecting multiple individual cells isn't supported by the list view control. It should be possible to simulate that by developing code that stores the "selected" cells and renders them with a different...
Hi David, I tried your suggestions. The first one doesn't work well for me. The second one is what I need but way to complex and complicated. I absolutely don't know any MFC, so I'm not able to port it to Win32++. I also found this one: https://www.codeproject.com/Articles/38168/Win32-SDK-Data-Grid-View-Made-Easy. This seems small and portable. But doesn't fulfill my needs completely. Maybe you can help me without crawling down the porting rabbit hole. My list/data grid just has a few points to fulfill:...
Hi David, I tried your suggestions. The first one doesn't work well for me. The second one is what I need but way to complex and complicated. I absolutely don't know any MFC, so I'm not able to port it to Win32++. I also found this one: https://www.codeproject.com/Articles/38168/Win32-SDK-Data-Grid-View-Made-Easy. This seems small and portable. But doesn't fulfill my needs completely. Maybe you can help me without crawling down the porting rabbit hole. My list/data grid just has a few points to fulfill:...
Hi David, I tried your suggestions. The first one doesn't work well for me. The second one is what I need but way to complex and complicated. I absolutely don't know any MFC, so I'm not able to port it to Win32++. I also found this one: https://www.codeproject.com/Articles/38168/Win32-SDK-Data-Grid-View-Made-Easy. This seems small and portable. But doesn't fulfill my needs completely. Maybe you can help me without crawling down the porting rabbit hole. My list/data grid just has a few points to fulfill:...
Hi David, I tried your suggestions. The first one doesn't work well for me. The second one is what I need but way to complex and complicated. I absolutely don't know any MFC, so I'm not able to port it to Win32++. I also found this one: https://www.codeproject.com/Articles/38168/Win32-SDK-Data-Grid-View-Made-Easy. This seems small and portable. But doesn't fulfill my needs completely. Maybe you can help me without crawling down the porting rabbit hole. My list/data grid just has a few points to fulfill:...
Hi David, thanks for your help. I think I'll try the Simple Grid then. I just took a quick look, but I guess giving the grid a handle of a CDocker as a parent will work. Best regards from Germany, Robert
Dear David, thanks a lot. I will play with your files having fun to learn something new to me.
Hi Eros, Thanks for the suggestion to create a sample demo using Scintilla. I'll give it some thought. In the meantime attached a very simple Scintilla view. It can be used as the view window for a frame, MDI child, docker, tab etc. The parent window will need to resize the Scintilla view when it resized. Best regards, David
Hi Robert, A list-view control has an internal header control. This is used to resize columns when the list-view uses the LVS_REPORT window style. When the user drags a divider in the header control, the header control sends a HDN_TRACK notification to its parent window, which in this case is the ListView control. When this notification is handled, we can return FALSE to continue tracking the divider, or TRUE to end tracking. The HDN_TRACK notification has a pointer to an NMHEADER structure that...
Updated CMetaFile, CEnhMetaFile, and the MDI Frame samples.
Hi, I'm coding some type of shift/duty calendar. For this I need a ListView which has a fixed first column for all the names of the co-workers. I tried to follow your custom control sample and this CodeProject tutorial. All google searchs just end with the suggestion to use some type of data grid, but all native ones are just C# stuff. But I guess I missed somthing. Best regards from Germany, Robert
Hi, I'm coding some type of shift/duty calendar. For this I need a ListView which has a fixed first column for all the names of the co-workers. I tried to follow your custom control sample and this CodeProject tutorial. All google searchs just ends up with the suggestion to use some type of data grid, but all native ones are just C# stuff. But I guess I missed somthing. Best regards from Germany, Robert
Dear David have you ever considered to create a sample demo on using Scintilla control and Win32++? https://www.scintilla.org/ I develop a programming language called thinBasic and I'm considering porting it into C++. It is a quite big project developed starting since 2004 and I need a start. More info at https://www.thinbasic.com/ I've developed my own editor called thinAir using Scintilla and because I'm not very confident with C++ (always being a BASIC programmer) I was thinking that starting...
Dear David have you ever considered to create a sample demo on using Scintilla control and Win32++? https://www.scintilla.org/ I develop a programming language called thinBasic and I'm considering porting it into C++. It is a quite big project developed starting since 2004 and I need a start. More info at https://www,thinbasic.com I've developed my own editor called thinAir using Scintilla and because I'm not very confident with C++ (always being a BASIC programmer) I was thinking that starting from...
Version 9.5.2 Released
Release 9.5.2
Eliminated jitter in the docking samples.
Updated CFrameT
Updated CTime
Updated CString
Thank you David for the suggestions!
Hi Sergio, The code in the wxx_metafile.h files and the wxx_shared_ptr.h files is the same in version 9.5.0 and 9.5.1. If you replace Shared_Ptr with std::shared_ptr in the wxx_metafile.h, you will also need to modify the code in the constructors as follows: inline CEnhMetaFile::CEnhMetaFile() { // m_pData = new CEnhMetaFile_Data; m_pData = std::make_shared<CEnhMetaFile_Data>(); // <= Use this } // A private constructor used by CEnhMetaFileDC. inline CEnhMetaFile::CEnhMetaFile(HENHMETAFILE enhMetaFile)...
In the two classes CMetaFile andCEnhMetaFile, respectively, I added the following lines: std::shared_ptr<CMetaFile_Data> m_pData; and std::shared_ptr<CEnhMetaFile_Data> m_pData; (and of course I commented out: // Shared_Prt<CMetaFile_Data> m_pData; and // Shared_Prt<CEnhMetaFile_Data>) Compiling with MinGW GCC (13.2) I get the following error. ..\..\include\wxx_metafile.h|141|error: no match for 'operator=' (operand types are 'std::shared_ptr<Win32xx::CMetaFile::CMetaFile_Data>' and 'Win32xx::CMetaFile::CMetaFile_Data*')|...
Hi Sergio, What is the error and where does it occur? Best regards, David
Updated CString, and code tidy up.
Hi David, there is some error in wxx_metafile.h using std::shared_ptr everywhere in the library (9.5.1 version). The error ripples through the compilation of all the examples. In version 9.5.0 everything worked.
Version 9.5.1 Released
Version 9.5.1