Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > ActiveX COM > Command Bars
  New Posts New Posts RSS Feed - Codejock ToolkitPro and SuitePro v24.0.0 (Beta 1)
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Codejock ToolkitPro and SuitePro v24.0.0 (Beta 1)

 Post Reply Post Reply
Author
Message
astoyan View Drop Down
Admin Group
Admin Group
Avatar

Joined: 24 August 2013
Status: Offline
Points: 300
Post Options Post Options   Thanks (2) Thanks(2)   Quote astoyan Quote  Post ReplyReply Direct Link To This Post Topic: Codejock ToolkitPro and SuitePro v24.0.0 (Beta 1)
    Posted: 06 May 2024 at 7:51am
Codejock ToolkitPro and SuitePro v24.0.0 (Beta 1) released!

It's been a long-awaited update, and finally, it's here with a host of exciting new features and long requested fixes! This release is particularly special as it introduces two outstanding features that the Codejock community has been anticipating for many years: complete SVG support and the new Gauge control! Alongside these two fantastic additions are numerous other enhancements and improvements.

Full SVG support


Complete SVG support has finally been added to both ToolkitPro and SuitePro. Yes, that means our users can now enjoy scalable and easy-to-manage SVG icons in CommandBars, Ribbon, and other controls. Additionally, SVG images can be previewed in the Preview control, used in Markup, image managers, and loaded and drawn using a dedicated CXTPSvgImage class (ToolkitPro only). 

The new Gauge control


We're opening a new chapter in Codejock's history by introducing a framework for creating and using professional gauges to express complex measurements in simple, attractive, and highly customizable forms. Built entirely in Markup and JavaScript, the Gauge control allows for the creation and extension of multi-dimensional gauges where almost every visual element can be configured or animated to meet the most demanding business needs. The initial implementation allows for analogue meter gauges of up to five dimensions, a digital screen of up to five dimensions, and a state-reflecting gauge for an unlimited number of states. You can find the main FAQ article on it here: Link to the FAQ

Windows 11 theme


Make your application look modern and consistent on all supported OS versions using the new Windows 11 theme, available in Light and Dark color schemes.

And More... 
Many other smaller yet important additions and fixes have been included, including significant improvements to time-consuming data and image processing algorithms by enabling parallel computations, extended COM/OLE initialization for MFC apps, new WebView2 initialization properties for the WebBrowser control, markup support for ComboBox, a large number of Markup fixes and improvements, especially those related to Markup stability, performance, and scripting, SVG primitives that replace dependency on Codejock.ttf, a number of reworked samples, and much more. 

We'll be happy to hear all feedback from you about this release and we're grateful in advance for sharing your thoughts with us. Please refer to our release notes for this version on our website https://codejock.com/products/releasenotes/release_notes.asp 
Back to Top
Fredrik View Drop Down
Senior Member
Senior Member


Joined: 22 June 2005
Status: Offline
Points: 235
Post Options Post Options   Thanks (0) Thanks(0)   Quote Fredrik Quote  Post ReplyReply Direct Link To This Post Posted: 10 May 2024 at 4:50am
Cool, thanks. 

1) I can't seem to be able to run any samples in 64 bit configuration though, it complains that the manifest is incorrect (I only build x64+Unicode).

I see that "...\Samples\Common\res\app.manifest" processorArchitecture is set to x86:

<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>

Changing processorArchitecture="x86" to processorArchitecture="*" seems to do the trick.


2) Regarding the Guage, I could not make the sample run, it crashes immediately at startup loading the gauge. It crashes on line 800 in XTGaugeBaseType: vtInput and vtShutdown is empty for me.


if (NULL != vtInput.pdispVal)
{
m_pDispInput = vtInput.pdispVal;
m_pDispInput->AddRef();
}

if (NULL != vtShutdown.pdispVal)
{
m_pDispShutdown = vtShutdown.pdispVal;
m_pDispShutdown->AddRef();
}

3) Found the link to gauge here - the one in the post was broken: 
Gauge Control (codejock.com)



Windows 10, Visual Studio 20157, Toolkit Pro 18.3.0
Back to Top
DavidH View Drop Down
Groupie
Groupie


Joined: 24 March 2007
Status: Offline
Points: 59
Post Options Post Options   Thanks (0) Thanks(0)   Quote DavidH Quote  Post ReplyReply Direct Link To This Post Posted: 10 May 2024 at 7:05am
XAML with MatrixTransform still doesn't work. Look here for a fix I applied on an earlier release:
Back to Top
itsmg View Drop Down
Groupie
Groupie


Joined: 10 September 2009
Status: Offline
Points: 45
Post Options Post Options   Thanks (0) Thanks(0)   Quote itsmg Quote  Post ReplyReply Direct Link To This Post Posted: 13 May 2024 at 3:50am
FlatEdit (Appearance = NativeWindows11) in Windows 11 environment still does not have the same theme as the TextBox native control


Product: Xtreme SuitePro (ActiveX) version 20.1.0 (unicode)

Platform: Windows 11 (64bit)

Language: Visual Basic 6.0
Back to Top
Fredrik View Drop Down
Senior Member
Senior Member


Joined: 22 June 2005
Status: Offline
Points: 235
Post Options Post Options   Thanks (0) Thanks(0)   Quote Fredrik Quote  Post ReplyReply Direct Link To This Post Posted: 14 May 2024 at 1:56am
Another comment:

I have a grid control with markup enabled with custom group captions. Moving the mouse over the group caption now gives an assert, complaining that pElement is NULL. 


BOOL AFX_CDECL XTPMarkupRelayMessage(CXTPMarkupUIElement* pElement, UINT message, WPARAM wParam,
LPARAM lParam, LRESULT* pResult)
{
_ASSERTE(NULL != pElement);

I add items like this to avoid the text "Group :" being prepended to the group name:

const std::vector<std::wstring> strGroups = {L"Very Good", L"Good", L"Poor"};
...
AddItem(new CXTPGridRecordItemText(strGroups[0].c_str()))->SetGroupCaption(strGroups[0].c_str());

If I change the caption to "<TextBlock>Caption</TextBlock>" the assert goes away, but that causes my custom sorting to break (which of course can be fixed - but won't do anything until proper release), 

I then also have an exception thrown when shutting down my application in CXTPSkinManager::CbtFilterHook, where it calls pSkinManager->SetHook(hWnd, szClassName, lpcs, TRUE); This comes from the destructor of CXTPCommandBar where it calls XTPHookManager()->RemoveAll(this); Need to check more why this happens. 
 

Windows 10, Visual Studio 20157, Toolkit Pro 18.3.0
Back to Top
matsjansson View Drop Down
Groupie
Groupie


Joined: 09 May 2023
Location: Solna
Status: Offline
Points: 17
Post Options Post Options   Thanks (0) Thanks(0)   Quote matsjansson Quote  Post ReplyReply Direct Link To This Post Posted: 14 May 2024 at 8:16am
At the end it says:
"We'll be happy to hear all feedback from you about this release and we're grateful in advance for sharing your thoughts with us"

What is the best way to supply this feedback?
Eg I have been using a function/feature in 22.1 that does not exist anymore. The function is 
CXTPCalendarUtils::SetUseResourceFileLocale(TRUE);

And I have reported a bug earlier that is said to be fixed, but it is not in beta 1. 

So what way is the best to give feedback and ask questions like these?

Best regards 
Mats
Back to Top
fleg View Drop Down
Groupie
Groupie


Joined: 11 July 2012
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote fleg Quote  Post ReplyReply Direct Link To This Post Posted: 14 May 2024 at 8:41am
Hi,
Are the sample application available somewhere for version 24 Beta (without need to build them)?
download section only provides for stable version 22.1 (which makes sens)
and account download only shows the installer and help, but no sample, as usual.
Back to Top
Fredrik View Drop Down
Senior Member
Senior Member


Joined: 22 June 2005
Status: Offline
Points: 235
Post Options Post Options   Thanks (0) Thanks(0)   Quote Fredrik Quote  Post ReplyReply Direct Link To This Post Posted: 14 May 2024 at 5:35pm
Another thing:

Previously (in v22) I have been able to open context menu using 

CXTPCommandBars::TrackPopupMenu(&oMenu, TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);

This crashes in 24 beta 1 due to GetPaintManager returns nullptr in the call to CXTPPopupBar::UpdateLocation.


if (GetCommandBars()->GetPaintManager()->IsPopupRoundedCorners(pt))


Don't know whether my approach is correct way to display a context menu, but I have 50+ context menus that crashes with the 24 beta 1 version.

(I assume it's best/easiest to report findings here? I don't mind if this complete thread is deleted once the released version is out)
Windows 10, Visual Studio 20157, Toolkit Pro 18.3.0
Back to Top
essess View Drop Down
Newbie
Newbie


Joined: 25 June 2023
Status: Offline
Points: 4
Post Options Post Options   Thanks (0) Thanks(0)   Quote essess Quote  Post ReplyReply Direct Link To This Post Posted: 23 May 2024 at 9:01am
Originally posted by Fredrik Fredrik wrote:

Another thing:

Previously (in v22) I have been able to open context menu using 

CXTPCommandBars::TrackPopupMenu(&oMenu, TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);

This crashes in 24 beta 1 due to GetPaintManager returns nullptr in the call to CXTPPopupBar::UpdateLocation.


if (GetCommandBars()->GetPaintManager()->IsPopupRoundedCorners(pt))


Don't know whether my approach is correct way to display a context menu, but I have 50+ context menus that crashes with the 24 beta 1 version.

(I assume it's best/easiest to report findings here? I don't mind if this complete thread is deleted once the released version is out)
Similar issue here upgrading from 19.3.0 to 24.0 Beta 1

I get a crash with the exception:

Exception thrown: read access violation.
this was nullptr.

XTPCommandBars.cpp:
CXTPPaintManager* CXTPCommandBars::GetPaintManager() const
{
return (NULL != m_pPaintManager ? m_pPaintManager : XTPPaintManager());
}
Back to Top
agontarenko View Drop Down
Admin Group
Admin Group


Joined: 25 March 2016
Status: Offline
Points: 272
Post Options Post Options   Thanks (0) Thanks(0)   Quote agontarenko Quote  Post ReplyReply Direct Link To This Post Posted: 24 May 2024 at 9:43am
Hello,

I'm glad to inform you that the issue has been addressed and fixed. The fix will be available in the next beta or final release.

As hotfi you can to chage line
if (GetCommandBars()->GetPaintManager()->IsPopupRoundedCorners(pt))
to
include "Common/XTPMacros.h"
..
if(XTP_SAFE_GET2(GetRootParent(), GetPaintManager(), IsPopupRoundedCorners(pt), NULL))
Regards,
Artem Gontarenko

Back to Top
asparagusx View Drop Down
Groupie
Groupie


Joined: 06 February 2007
Status: Offline
Points: 50
Post Options Post Options   Thanks (0) Thanks(0)   Quote asparagusx Quote  Post ReplyReply Direct Link To This Post Posted: 25 May 2024 at 2:07am
Hallo

Having exactly the same issues as stated here. Downloaded the beta on 24/05/2024.

Anton
Back to Top
rdmeyers View Drop Down
Groupie
Groupie


Joined: 11 December 2008
Location: United States
Status: Offline
Points: 21
Post Options Post Options   Thanks (0) Thanks(0)   Quote rdmeyers Quote  Post ReplyReply Direct Link To This Post Posted: 04 June 2024 at 9:20am
It would be extremely helpful if the WebBrowser passed on the standard Mouse notifications, such as MouseDown, MouseUp, etc.  Relying on BeforeNavigate2 to intercept user interaction is unreliable at best.  Passing on the standard Keyboard notifications, such as KeyDown would also be beneficial.  And why does the control not expose the basic hWnd handle???  Y'all have given us nothing to use to build upon this otherwise wonderful control!
Back to Top
rdmeyers View Drop Down
Groupie
Groupie


Joined: 11 December 2008
Location: United States
Status: Offline
Points: 21
Post Options Post Options   Thanks (0) Thanks(0)   Quote rdmeyers Quote  Post ReplyReply Direct Link To This Post Posted: 04 June 2024 at 11:19am
I cannot get ExecuteScript to function at all.  Even your sample will not give the desired result.  What is the trick to using this method?  The Help file is not helpful as it has no information on this method.


Back to Top
dbrookes View Drop Down
Groupie
Groupie


Joined: 30 August 2019
Location: Australia
Status: Offline
Points: 70
Post Options Post Options   Thanks (0) Thanks(0)   Quote dbrookes Quote  Post ReplyReply Direct Link To This Post Posted: 05 June 2024 at 9:11pm
The window on the application side (in this case CXTPBrowserCtrl) is just a host parent window for the browser window. The actual browser window is managed by WebView2 itself, and that is managed out to a different process. Hence, your application process/thread won't see the usual mouse messages. And the HWND of the actual browser is not intended for use. I don't think WebView2 has mouse event handlers (but I may be wrong). If you want to deal with user interaction, I would expect it to be implemented on the page itself.

As for ExecuteScript. I believe the return value is a HRESULT indicating success of beginning execution of the script. You need to use the out parameter for get the return value of the script. Keep in mind that WebView2 is asynchronous. ExecuteScript will pump messages until the result is available.
Back to Top
rdmeyers View Drop Down
Groupie
Groupie


Joined: 11 December 2008
Location: United States
Status: Offline
Points: 21
Post Options Post Options   Thanks (0) Thanks(0)   Quote rdmeyers Quote  Post ReplyReply Direct Link To This Post Posted: 07 June 2024 at 11:29am
Thanks for answering, but I think the WebBrowser control just doesn't process JavaScript on Windows 7.  Something as simple as:

WebBrowser1.ExecuteScript ("alert('Hello from JavaScript!')")

or

WebBrowser1.ExecuteScript("document.getElementById('body').scrollTop = 0;")

produces nothing!  I placed both of these in the NavigateComplete2 sub, so the DOM should be ready at this point, correct?
Back to Top
agontarenko View Drop Down
Admin Group
Admin Group


Joined: 25 March 2016
Status: Offline
Points: 272
Post Options Post Options   Thanks (0) Thanks(0)   Quote agontarenko Quote  Post ReplyReply Direct Link To This Post Posted: 20 June 2024 at 5:11am
Hello,

I've tested our Controls sample. first and second scripts works as expected. May be you input wrong values for getElementById.

https://www.w3schools.com/jsref/dom_obj_s.asp
m_wndWebBrowser.ExecuteScript(L"alert('Hello from JavaScript!')");
m_wndWebBrowser.ExecuteScript(L"document.getElementById('leftmenuinnerinner').scrollTop = 0;");







Regards,
Artem Gontarenko
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

This page was generated in 0.266 seconds.