Professional UI Solutions
Site Map   /  Register


Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » Building with VS2008 produces 'error C2065: 'CX_BORDER' : undeclared identifier' Collapse All
Subject Author Date
Dominik Braendlin Dec 19, 2008 - 5:35 AM

I just downloaded v2.84 and I came across the following error: ’error C2065: ’CX_BORDER’ : undeclared identifier’.

I am using VS 2008 with the latest SP and patches.

In the file \Microsoft Visual Studio 9.0\VC\atlmfc\src\mfc\afximpl.h I found.


// Note: afxData.cxBorder and afxData.cyBorder aren’t used anymore

#define AFX_CX_BORDER 1 

#define AFX_CY_BORDER 1

but no CX_BORDER



Krustys Donuts Jan 27, 2009 - 7:45 PM

Seems like there is a bug in void CExtSplitterBaseWnd::DrawAllSplitBars( CDC* pDC, int cxInside, int cyInside )...

for( int row = 0; row < m_nRows; row++)


                int cy = m_pRowInfo[row].nCurSize + 2*m_cyBorder;

                if( row == m_nRows-1 && m_bHasHScroll)

                    cy += afxData.cyHScroll - __EXT_MFC_CX_BORDER;

                OnDrawSplitter( pDC, splitBorder, CRect( x, y, x+cx, y+cy ) );

                y += cy + m_cySplitterGap - 2*m_cyBorder;



In this case shouldn’t the __EXT_MFC_CX_BORDER be replaced with __EXT_MFC_CY_BORDER?


Technical Support Jan 28, 2009 - 11:44 AM

Yes, there are several usages of the CX_BORDER and CY_BORDER constants in Prof-UIS 2.84 and they should be replaced with __EXT_MFC_CX_BORDER and __EXT_MFC_CY_BORDER. We are sorry for the inconvenience.

Krustys Donuts Jan 28, 2009 - 11:50 AM

I know that... that’s not what I was asking. I’m saying that I think one of the __EXT_MFC_CX_BORDERs should be replaced with a __EXT_MFC_CY_BORDER?  Please see the code snippet I included above. Should we make this change?

Technical Support Jan 28, 2009 - 12:27 PM

Yes, you are right, the following:

cy += afxData.cyHScroll - __EXT_MFC_CX_BORDER;
should be replaced with:
cy += afxData.cyHScroll - __EXT_MFC_CY_BORDER;

Dominik Braendlin Dec 19, 2008 - 7:22 AM

Thank you for the answer.

I have already changed the code as you have suggested. Although I prefer not to modify a library. Instead I hope that FOSS will fix this issue in a next release

Paul Cowan Dec 19, 2008 - 7:16 AM

The problem is in ExtSplitterWnd, you need to use __EXT_MFC_CX_BORDER and __EXT_MFC_CY_BORDER instead of the older, CX_BORDER and CY_BORDER.  I though Foss had changed the source and fixed this a while ago, guess not.

Technical Support Dec 19, 2008 - 11:20 AM

We confirm this issue. Prof-UIS 2.84 uses __EXT_MFC_CX_BORDER instead of CX_BORDER and __EXT_MFC_CY_BORDER instead of CY_BORDER. There are few places in 2.84 source code where CX_BORDER and CY_BORDER were not replaces with __EXT_MFC_CX_BORDER and __EXT_MFC_CY_BORDER. We are sorry for the inconvenience.