Professional UI Solutions
Site Map   /  Register
 
 

Forum

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 » Sliders in resizable control bars (one year later) Collapse All
Subject Author Date
Emil Pop Feb 28, 2005 - 2:54 PM

1.


On January 29, 2004 I put a message called: Sliders in resizable control bars
You posted a solution that worked fine until Prof-UIS 2.30. The solution made use of


virtual bool CExtPaintManager::PaintDockerBkgnd();


In Prof-UIS 2.30 the signature of this member function changed from


virtual bool CExtPaintManager::PaintDockerBkgnd(
  CDC& dc,
  const CRect& rcDst,
  const CRect& rcWnd,
  LPARAM lParam = NULL
  );


to


virtual bool CExtPaintManager::PaintDockerBkgnd(
  bool bClientMapping,
  CDC& dc,
  const CRect& rcDst,
  const CRect& rcWnd,
  LPARAM lParam = NULL
  );


The question I have is: what value should I use for the newly introduced first parameter?


2.


And one more thing: the solution you sent made use of ExtMemoryDC. Unfortunately, the file ExtMemoryDC.H belongs to the private interface (found in the src folder) Would it be possible for you to move it in the include folder in the future releases?


Thanks,


Emil


Gettica Inc


 


 

Technical Support Mar 1, 2005 - 4:44 AM

Yes, the CExtPaintManager::PaintDockerBkgnd() method now has a new parameter bClientMapping. Set it to true if the method is invoked for painting the client area of the window (when handling the WM_PAINT or WM_ERASEBKGND windows messages, or using CClientDC). Set to false if your code paints a non-client area of the window (when handling the WM_NCPAINT windows messages or simply using CWindowDC). Please note that there are two overloaded CExtPaintManager::PaintDockerBkgnd() methods, but you need to use this one:

virtual bool PaintDockerBkgnd(
        bool bClientMapping,
        CDC & dc,
        CWnd * pWnd,
        LPARAM lParam = NULL
);

Emil Pop Mar 1, 2005 - 9:22 PM

Thanks,


What about moving ExtMemoryDC.H to the include folder?


Emil


 


Gettica Inc

Emil Pop Mar 2, 2005 - 1:10 PM

Thanks.

Technical Support Mar 2, 2005 - 12:44 PM

The ExtMemoryDC.h file was always in the Src folder. It seems you have specified a path to this folder in the Visual Studio Include Folders list some time ago and that is why you was able to include it as:

#include <ExtMemoryDC.h>
Please replace this line with
#include <../Src/ExtMemoryDC.h>
We always use the latter line, because the memory DC is a really internal component.