Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > Visual C++ MFC
  New Posts New Posts RSS Feed - Architecture modifications for advanced users
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Forum LockedArchitecture modifications for advanced users

 Post Reply Post Reply
Author
Message
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Topic: Architecture modifications for advanced users
    Posted: 27 March 2009 at 9:20pm
Hi guys, please give me know before we will oficially release version 13.1 about your needs in some architecture changes like:
 
1. Make some non-virtual function to declare as virtual
 
2. Make some private members or functions public
 
I will analyze your requests (for Calendar, Report and SyntaxEdit components) and will try to make you happy in your advanced development
 
 Please put your proposal as respond on this post - it make easy to collect it all
 
 
Back to Top
znakeeye View Drop Down
Senior Member
Senior Member
Avatar

Joined: 26 July 2006
Status: Offline
Points: 1672
Post Options Post Options   Thanks (0) Thanks(0)   Quote znakeeye Quote  Post ReplyReply Direct Link To This Post Posted: 30 March 2009 at 6:53am

Brilliant move

Perhaps you should update the icons for CXTEditListBox. There are 24bit-icons nowadays...
PokerMemento - http://www.pokermemento.com/
Back to Top
znakeeye View Drop Down
Senior Member
Senior Member
Avatar

Joined: 26 July 2006
Status: Offline
Points: 1672
Post Options Post Options   Thanks (0) Thanks(0)   Quote znakeeye Quote  Post ReplyReply Direct Link To This Post Posted: 31 March 2009 at 6:21pm
void CXTPDockingPaneLayout::Serialize(CArchive& ar)
{
    CXTPPropExchangeArchive px(ar);
    DoPropExchange(&px); // BOOL gone...
}
 
All calls to DoDropExchange should return the returned BOOL! I believe this needs to be changed for several CXTPDocking* classes.
PokerMemento - http://www.pokermemento.com/
Back to Top
kanitamildasan View Drop Down
Senior Member
Senior Member
Avatar

Joined: 01 February 2006
Status: Offline
Points: 102
Post Options Post Options   Thanks (0) Thanks(0)   Quote kanitamildasan Quote  Post ReplyReply Direct Link To This Post Posted: 01 April 2009 at 12:54am
Hi,

int CXTPResourceManager::GetMenuLocaleString(CMenu* pMenu, UINT nIDItem, CString& rString, UINT nFlags)

Making this method to virtual will help us to load menu strings dynamically at runtime without difficulty.

Thanks

Back to Top
znakeeye View Drop Down
Senior Member
Senior Member
Avatar

Joined: 26 July 2006
Status: Offline
Points: 1672
Post Options Post Options   Thanks (0) Thanks(0)   Quote znakeeye Quote  Post ReplyReply Direct Link To This Post Posted: 01 April 2009 at 6:39am
CXTPRibbonBar should have a method/variable that disables the right-click menu. Today I have to derive this class and override WM_RBUTTONUP... An extra class for such a simple thing :(
PokerMemento - http://www.pokermemento.com/
Back to Top
inmaurik View Drop Down
Groupie
Groupie


Joined: 13 July 2007
Location: Netherlands
Status: Offline
Points: 17
Post Options Post Options   Thanks (0) Thanks(0)   Quote inmaurik Quote  Post ReplyReply Direct Link To This Post Posted: 14 April 2009 at 3:24am
It should be possible to, in a convenient way, set the report's paint manager to always draw the selected row as if it had focus. Similar to the LVS_SHOWSELALWAYS style of CListCtrl!

I have been looking in a way to implement it myself but then I have to overwrite all of the following functions because they call CXTPReportControl::HasFocus.

CXTPReportPaintManager::FillGroupRowMetrics
CXTPReportPaintManager::DrawGroupRow
CXTPReportPaintManager::DrawLink2
CXTPReportRow::Draw
CXTPReportRow::GetItemMetrics
CXTPReportRow::DrawFixed

Because my derived class of the PaintManager is not a friend of CXTPReportRow you get into problems because of access to protected members.

Maybe it is possible to extend IsRowFocusVisible and have the focused logic in this function. This function can then return TRUE when the control has the focus and the row focus should be shown. If every function mentioned above would use this function (instead of HasFocus) there is just one place to overwrite to show the focus always. Unfortunately this function is also not virtual.
Product: Xtreme SuitePro (MFC) version 13.3.1
Platform: Windows 7 Enterprise (64bit)
Language: C++ (Visual Studio 2008 SP1)
Back to Top
inmaurik View Drop Down
Groupie
Groupie


Joined: 13 July 2007
Location: Netherlands
Status: Offline
Points: 17
Post Options Post Options   Thanks (0) Thanks(0)   Quote inmaurik Quote  Post ReplyReply Direct Link To This Post Posted: 14 April 2009 at 5:22am
I'm using the Report control to show information from the database. The control is filled with an initial set of data and when the user scrolls down the next data is added to the control. This however prompts me with a problem. To add the rows to the control I have to call populate.

When I do this the current selection gots lost because Populate wants to set the selection back to the selected record instead of the selected row (e.g. a group row) or when there is no selection the top row is set.

It would be great if Populate would set back the focus to the selected row (without ensuring visibility) or just leave the control without selection (as before calling Populate).
Product: Xtreme SuitePro (MFC) version 13.3.1
Platform: Windows 7 Enterprise (64bit)
Language: C++ (Visual Studio 2008 SP1)
Back to Top
znakeeye View Drop Down
Senior Member
Senior Member
Avatar

Joined: 26 July 2006
Status: Offline
Points: 1672
Post Options Post Options   Thanks (0) Thanks(0)   Quote znakeeye Quote  Post ReplyReply Direct Link To This Post Posted: 14 April 2009 at 11:36am
What's this? The function is non-virtual and makes a lot of your code unused...
 
BOOL CXTPPropertySheet::IsWizard() const
{
// Not implemented
return FALSE; //m_psh.dwFlags & (PSH_WIZARD | PSH_WIZARD97);

}

PokerMemento - http://www.pokermemento.com/
Back to Top
znakeeye View Drop Down
Senior Member
Senior Member
Avatar

Joined: 26 July 2006
Status: Offline
Points: 1672
Post Options Post Options   Thanks (0) Thanks(0)   Quote znakeeye Quote  Post ReplyReply Direct Link To This Post Posted: 15 April 2009 at 6:56am
Time for release any time soon? It's been a while since 27 March
PokerMemento - http://www.pokermemento.com/
Back to Top
inmaurik View Drop Down
Groupie
Groupie


Joined: 13 July 2007
Location: Netherlands
Status: Offline
Points: 17
Post Options Post Options   Thanks (0) Thanks(0)   Quote inmaurik Quote  Post ReplyReply Direct Link To This Post Posted: 15 April 2009 at 4:03pm
The 13.0.0 release was on February 9th, 2009, wasn't it? What was on march 27th?
Product: Xtreme SuitePro (MFC) version 13.3.1
Platform: Windows 7 Enterprise (64bit)
Language: C++ (Visual Studio 2008 SP1)
Back to Top
znakeeye View Drop Down
Senior Member
Senior Member
Avatar

Joined: 26 July 2006
Status: Offline
Points: 1672
Post Options Post Options   Thanks (0) Thanks(0)   Quote znakeeye Quote  Post ReplyReply Direct Link To This Post Posted: 17 April 2009 at 3:13am
Topic: Architecture modifications for advanced users
    Posted: 27 March 2009 at 9:20pm
PokerMemento - http://www.pokermemento.com/
Back to Top
mnowaczy View Drop Down
Groupie
Groupie


Joined: 16 June 2008
Status: Offline
Points: 12
Post Options Post Options   Thanks (0) Thanks(0)   Quote mnowaczy Quote  Post ReplyReply Direct Link To This Post Posted: 20 April 2009 at 9:16am
To take control over multipage printing of xaml documents I made 2 members public:

1.
class _XTP_EXT_CLASS CXTPMarkupVisual
CPoint m_ptVisualOffset;        // The offset value of the visual object.

2.
class _XTP_EXT_CLASS CXTPMarkupUIElement
CSize m_szDesiredSize;  // Gets the size that this element computed during the measure pass of the layout process

It would be nice you make them public or add multi page printing support.
I was asking about it here:
https://forum.codejock.com/forum_posts.asp?TID=11636&KW=
Back to Top
zitz View Drop Down
Senior Member
Senior Member


Joined: 05 October 2008
Status: Offline
Points: 112
Post Options Post Options   Thanks (0) Thanks(0)   Quote zitz Quote  Post ReplyReply Direct Link To This Post Posted: 27 May 2009 at 4:44am
For report: http://forum.codejock.com/forum_posts.asp?TID=14321
and for calendar: http://forum.codejock.com/forum_posts.asp?TID=13443
Back to Top
zitz View Drop Down
Senior Member
Senior Member


Joined: 05 October 2008
Status: Offline
Points: 112
Post Options Post Options   Thanks (0) Thanks(0)   Quote zitz Quote  Post ReplyReply Direct Link To This Post Posted: 28 May 2009 at 8:23am
Please add patch for CXTSplitterWnd::OnMouseMove
https://forum.codejock.com/forum_posts.asp?TID=11300
Back to Top
zitz View Drop Down
Senior Member
Senior Member


Joined: 05 October 2008
Status: Offline
Points: 112
Post Options Post Options   Thanks (0) Thanks(0)   Quote zitz Quote  Post ReplyReply Direct Link To This Post Posted: 29 May 2009 at 2:49am
Please add SetCustomTransparentColor( COLORREF clr ) to CXTPTransparentBitmap
Please add CXTPKeyboardMonitor class
Back to Top
inmaurik View Drop Down
Groupie
Groupie


Joined: 13 July 2007
Location: Netherlands
Status: Offline
Points: 17
Post Options Post Options   Thanks (0) Thanks(0)   Quote inmaurik Quote  Post ReplyReply Direct Link To This Post Posted: 29 May 2009 at 4:23am
Also the ability to check/uncheck all rows of the selection in the CXTPReportControl
https://forum.codejock.com/forum_posts.asp?TID=14410
Product: Xtreme SuitePro (MFC) version 13.3.1
Platform: Windows 7 Enterprise (64bit)
Language: C++ (Visual Studio 2008 SP1)
Back to Top
xxLuda View Drop Down
Newbie
Newbie


Joined: 03 June 2009
Location: Czech Republic
Status: Offline
Points: 7
Post Options Post Options   Thanks (0) Thanks(0)   Quote xxLuda Quote  Post ReplyReply Direct Link To This Post Posted: 11 June 2009 at 3:50am
Could be possible to add [virtual] to these functions ?

PropertyGrid\XTPPropertyGridItem.h
LN608: [add:[virtual]] CString GetValue() const;

PropertyGrid\XTPPropertyGridInplaceButton.h
LN69: [add:[virtual]] int GetWidth();
LN89: [add:[virtual]] CString SetCaption() const;
Back to Top
znakeeye View Drop Down
Senior Member
Senior Member
Avatar

Joined: 26 July 2006
Status: Offline
Points: 1672
Post Options Post Options   Thanks (0) Thanks(0)   Quote znakeeye Quote  Post ReplyReply Direct Link To This Post Posted: 16 June 2009 at 5:42am
Please change these functions!
 
void AddComboButton(BOOL bInside = FALSE);
void AddExpandButton(BOOL bInside = FALSE);
void AddSpinButton(BOOL bInside = FALSE);

Should be:
CXTPReportInplaceButton* AddComboButton(BOOL bInside = FALSE);
CXTPReportInplaceButton* AddExpandButton(BOOL bInside = FALSE);
CXTPReportInplaceButton* AddSpinButton(BOOL bInside = FALSE);

It's brain-damaged not to return the added pointer-value! :(
PokerMemento - http://www.pokermemento.com/
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 16 June 2009 at 7:25am
Agree. Done
Back to Top
robin_l View Drop Down
Senior Member
Senior Member


Joined: 15 October 2006
Status: Offline
Points: 117
Post Options Post Options   Thanks (0) Thanks(0)   Quote robin_l Quote  Post ReplyReply Direct Link To This Post Posted: 22 June 2009 at 3:14pm

It is too late for 13.1 but I'd like to see CXTResizePropertySheet get the same automatic placement handling that CXTPPropertySheet does, which means adding the following to OnInitDialog

if (!m_strSection.IsEmpty())

{

LoadPlacement(m_strSection);

}

Also, can you please either make m_strSection (in CXTResize) public rather than protected, or add a public function that allows it to be set. AutoLoadPlacement() doesn't really do this job as it tries to set the window position immediately, which bombs if the window has not yet been created.
 
What I would like to do is the following:

CXTResizePropertySheet sheet;
// add pages here
sheet.m_strSection = _T("Foo");
sheet.DoModal();
Currently, to do this I have to subclass CXTResizePropertysheet and this seems unnecessary.
 
Thanks!
 
Robin
 
 
Product: Xtreme ToolkitPro 2009 (13.4.1)
Platform: Windows 7 Ultimate(64bit)
Language: Visual Studio 2010 (C++)
Back to Top
zitz View Drop Down
Senior Member
Senior Member


Joined: 05 October 2008
Status: Offline
Points: 112
Post Options Post Options   Thanks (0) Thanks(0)   Quote zitz Quote  Post ReplyReply Direct Link To This Post Posted: 24 June 2009 at 6:22am
CXTPImageManager.AddIcons
Change
void AddIcons(CXTPImageManager* pImageManager);

to
void AddIcons(CXTPImageManager* pImageManager, UINT* pCommands=NULL, int nCount=0);


i want copy command range, not all.
Xtreme ToolkitPro v13.1.0, static, VC++6
Back to Top
zitz View Drop Down
Senior Member
Senior Member


Joined: 05 October 2008
Status: Offline
Points: 112
Post Options Post Options   Thanks (0) Thanks(0)   Quote zitz Quote  Post ReplyReply Direct Link To This Post Posted: 25 June 2009 at 2:39am
I want track changes of CXTPCommandBarsOptions::bDirtyState

void CXTPCommandBars::ToggleVisible(int nIndex)
{
    ASSERT(nIndex >= 0 && nIndex < GetCount());

    CXTPToolBar* pBar = GetAt(nIndex);
    if (pBar)
    {
        pBar->SetVisible(!pBar->IsVisible()); << bDirtyState changes here already
    }

    m_pOptions->bDirtyState = TRUE; << unnecessary and IMHO wrong
}

I overload CXTPToolBar::SetVisible and CXTPToolBar::OnLButtonDown and CXTPToolBar::OnNcLButtonDown function to track CXTPCommandBarsOptions::bDirtyState, but i can't change CXTPCommandBars::ToggleVisible :(
After tracking i change CXTPCommandBarsOptions::bDirtyState to FALSE, but at CXTPCommandBars::ToggleVisible it changes to TRUE back :(
1. Add virtual to CXTPCommandBars::ToggleVisible
2. Add virtual CXTPCommandBarsOptions::SetDirtyState
I want track bDirtyState to save CommandBars at the time of change (i Serialize them)
Xtreme ToolkitPro v13.1.0, static, VC++6
Back to Top
zitz View Drop Down
Senior Member
Senior Member


Joined: 05 October 2008
Status: Offline
Points: 112
Post Options Post Options   Thanks (0) Thanks(0)   Quote zitz Quote  Post ReplyReply Direct Link To This Post Posted: 25 June 2009 at 2:45am
Please add
virtual BOOL CXTPControl::OnMButtonDown(CPoint point);
virtual BOOL CXTPControl::OnMButtonUp(CPoint point);

Xtreme ToolkitPro v13.1.0, static, VC++6
Back to Top
zitz View Drop Down
Senior Member
Senior Member


Joined: 05 October 2008
Status: Offline
Points: 112
Post Options Post Options   Thanks (0) Thanks(0)   Quote zitz Quote  Post ReplyReply Direct Link To This Post Posted: 25 June 2009 at 2:59am
Please add
void CXTPCommandBars::SetCustomToolBarClass(CRuntimeClass* pToolBarClass);
not static, only for this CXTPCommandBars
Xtreme ToolkitPro v13.1.0, static, VC++6
Back to Top
znakeeye View Drop Down
Senior Member
Senior Member
Avatar

Joined: 26 July 2006
Status: Offline
Points: 1672
Post Options Post Options   Thanks (0) Thanks(0)   Quote znakeeye Quote  Post ReplyReply Direct Link To This Post Posted: 29 June 2009 at 7:13am
void CXTPZipMemFile::AttachCompressedBuffer
void CXTPZipMemFile::DetachCompressedBuffer
 
Both these should return a BOOL! Especially the first one.
PokerMemento - http://www.pokermemento.com/
Back to Top
znakeeye View Drop Down
Senior Member
Senior Member
Avatar

Joined: 26 July 2006
Status: Offline
Points: 1672
Post Options Post Options   Thanks (0) Thanks(0)   Quote znakeeye Quote  Post ReplyReply Direct Link To This Post Posted: 04 August 2009 at 4:43pm

Perhaps CXTPToolTipContext should have a Clone()-function, so that you can easily copy tooltip-styles between controls?

PokerMemento - http://www.pokermemento.com/
Back to Top
Barto View Drop Down
Groupie
Groupie


Joined: 27 February 2005
Location: Germany
Status: Offline
Points: 60
Post Options Post Options   Thanks (0) Thanks(0)   Quote Barto Quote  Post ReplyReply Direct Link To This Post Posted: 05 August 2009 at 7:07am
Please add GetDefaultValue() to CXTPPropertyGridItem (counterpart to SetDefaultValue())
Back to Top
znakeeye View Drop Down
Senior Member
Senior Member
Avatar

Joined: 26 July 2006
Status: Offline
Points: 1672
Post Options Post Options   Thanks (0) Thanks(0)   Quote znakeeye Quote  Post ReplyReply Direct Link To This Post Posted: 05 August 2009 at 8:35am
What's the point of deriving CXTPPropertyGridItemConstraint when you cannot use the class?
 
CXTPPropertyGridItemConstraint* CXTPPropertyGridItemConstraints::AddConstraint(LPCTSTR str, DWORD_PTR dwData, int nImage)
{
    CXTPPropertyGridItemConstraint* pConstaint = new CXTPPropertyGridItemConstraint();
    ...
 
 
You should have another "AddConstraint" that accepts a CXTPPropertyGridItemConstraint pointer!
PokerMemento - http://www.pokermemento.com/
Back to Top
crystyce View Drop Down
Groupie
Groupie


Joined: 19 August 2008
Location: Romania
Status: Offline
Points: 15
Post Options Post Options   Thanks (0) Thanks(0)   Quote crystyce Quote  Post ReplyReply Direct Link To This Post Posted: 03 November 2009 at 4:55am
void CreateMultiRowIndexer(CXTPTabManager* pTabManager, CDC* pDC, int nWidth);
in XTPTabPaintManager should be virtual

CXTPMarkupUIElement* m_pMarkupUIElement; in CXTPReportGroupRow should have a GetMarkupUIElement() function;

     Product: Xtreme SuitePro (MFC) version 13.1.0
     Platform: Windows XP (32bit) - SP 2
     Language: Visual C++ 2008
Back to Top
adrien View Drop Down
Senior Member
Senior Member


Joined: 30 April 2007
Location: New Zealand
Status: Offline
Points: 449
Post Options Post Options   Thanks (0) Thanks(0)   Quote adrien Quote  Post ReplyReply Direct Link To This Post Posted: 09 December 2009 at 2:12am
I have a new one. When you close a message bar from the SC_CLOSE button, it should post a message to its parent, so we can tell if it's closed. E.g. something like

void CXTPMessageBar::Click(CXTPMessageBarButton* pButton)
{
     if (pButton->m_nID == SC_CLOSE)
     {
          SetWindowPos(NULL, 0, 0, 0, 0, SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE | SWP_HIDEWINDOW);

               ::PostMessage(m_pParent->m_hWnd, WM_XTP_MESSAGEBARCLOSED, 0, 0);
          m_pCommandBars->RecalcFrameLayout();
     }
     else
     {
          m_pCommandBars->GetSite()->SendMessage(WM_COMMAND, pButton->m_nID);
     }
}
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.219 seconds.