Low-Level DigitalPaint: Processing the Window Activation Messages

This tutorial is giving an example on how to process the window activation messages:

Start with the project you created in Low-Level DigitalPaint: Drawing Text.

1.

Add the following function before the OnOpen function definition:

static L_VOID OnActivate 
( 
HWND hWnd, 
pPAINTHANDLE pPaint, 
pBITMAPHANDLE pBitmap, 
HPALETTE hPalette, 
L_INT nZoom, 
L_INT nHScroll, 
L_INT nVScroll 
) 
{ 
   PAINTXFORM XForm ; 
   HDC hdcCompatibility ; 
   RECT rcDCRect ; 
   //set the painting toolkit data 
   hdcCompatibility = GetDC ( hWnd ) ; 
   L_PntSetMetrics ( pPaint, hdcCompatibility, pBitmap, hPalette ) ; 
   ReleaseDC ( hWnd, hdcCompatibility ) ; 
   XForm.nZoom    = nZoom ; 
   XForm.nXOffset = nHScroll ; 
   XForm.nYOffset = nVScroll ; 
   L_PntSetTransformation ( pPaint, &XForm ) ; 
   GetClientRect ( hWnd, &rcDCRect ) ; 
   L_PntSetDCExtents ( pPaint, &rcDCRect ) ; 
} 

2.

Add the following line after the "break;" statement of the "case WM_PAINT:" statement:

case WM_ACTIVATE: 
if ( WA_INACTIVE != LOWORD ( wParam ) ) 
{ 
   HDC hDC = GetDC(hWnd); 
   HPALETTE hPalette = L_CreatePaintPalette(hDC, &hBitmap); 
   OnActivate ( hWnd, pPaint, &hBitmap, hPalette, nZoomFactor, nHScroll, nVScroll ) ; 
   if(hPalette) 
      DeleteObject(hPalette); 
   ReleaseDC(hWnd, hDC); 
   return 0 ; 
} 

3.

Compile and run the project by selecting Build->Execute tutorial.exe from the menu.

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Digital Paint C API Help