LBitmapWindow::CreatePanWnd

Summary

Creates a Pan Window for the bitmap window.

Syntax

#include "ltwrappr.h"

HWND LBitmapWindow::CreatePanWnd(ulDisplayFlags, x, y, nCx, nCy, pszClassName, hIcon, hCursor, bSysMenu)

Parameters

L_UINT32 ulDisplayFlags

Flags that determine how the image is painted in the Pan Window. For values, refer to Flags for the Flags for the LBitmapSettings::SetDisplayMode Function.

L_INT x

X coordinate for the origin of the Pan Window.

L_INT y

Y coordinate for the origin of the Pan Window.

L_INT nCx

Width of the Pan Window.

L_INT nCy

Height of the Pan Window.

L_TCHAR * pszClassName

The registered window class name to be used in creating the Pan Window.

HICON hIcon

The icon handle used for creating Pan Window.

HCURSOR hCursor

The cursor handle used for creating Pan Window.

L_BOOL bSysMenu

Flag that indicates whether the Pan Window will have a system menu. Possible values are:

Value Meaning
TRUE The Pan Window will have a system menu.
FALSE The Pan Window will not have a system menu.

Returns

Value Meaning
!= NULL The function was successful and the returned value is the window handle for the created control.
NULL An error occurred, and the window could not be created.

Comments

If you call this function for a class object that already has a created Pan Window associated with it, the function will destroy the existing Pan Window and create a new one with the specified settings.

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Example

class LUserBWndCreatePanWnd : public LBitmapWindow 
 
{ 
 
public: 
 
   LUserBWndCreatePanWnd() ; 
 
   virtual ~LUserBWndCreatePanWnd() ; 
 
 
 
   virtual L_VOID PanWndCallBack(L_UINT uFlag,LPRECT rcPan); 
 
   virtual LRESULT MsgProcCallBack(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam); 
 
   virtual L_BOOL OnFileDropped(L_TCHAR * pszFile,L_UINT uFileNumber,L_UINT uFilesCount); 
 
   virtual L_VOID  OnDraw(HDC hdc,RECT& Rect); 
 
   virtual L_VOID  OnZoom(L_UINT uZoomPercent); 
 
   virtual L_VOID  PaintNotification(L_INT nPass, L_INT uType); 
 
}; 
 
 
 
LUserBWndCreatePanWnd::LUserBWndCreatePanWnd() 
 
{ 
 
} 
 
 
 
LUserBWndCreatePanWnd::~LUserBWndCreatePanWnd() 
 
{ 
 
} 
 
 
 
L_VOID LUserBWndCreatePanWnd::PanWndCallBack(L_UINT uFlag,LPRECT rcPan) 
 
{ 
   UNREFERENCED_PARAMETER(rcPan); 
 
   // user can set his code for each message 
 
   switch (uFlag) 
 
   { 
 
   case PANWIN_CREATED: 
 
      // user code  
 
      return; 
 
   case PANWIN_UPDATED: 
 
      // user code  
 
      return; 
 
   case PANWIN_DESTROYED: 
 
      // user code  
 
      return; 
 
   case PANWIN_MOVED: 
 
      // user code  
 
      return; 
 
   } 
 
} 
 
 
 
LRESULT LUserBWndCreatePanWnd::MsgProcCallBack(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam) 
 
{ 
 
   switch (uMsg) 
 
   { 
 
   case WM_CLOSE: 
 
      break ; 
 
   }; 
 
 
 
   return LBitmapWindow::MsgProcCallBack(hWnd,uMsg,wParam,lParam); 
 
} 
 
L_BOOL LUserBWndCreatePanWnd::OnFileDropped(L_TCHAR * pszFile, L_UINT uFileNumber, L_UINT uFilesCount) 
 
{ 
   UNREFERENCED_PARAMETER(uFilesCount); 
   UNREFERENCED_PARAMETER(uFileNumber); 
 
 
   SetFileName(pszFile); 
 
   if (Load() == SUCCESS) 
       return FALSE;  //if loading the file succeeded then stop enumerating files 
 
 
 
   return TRUE; 
 
} 
 
 
 
L_VOID LUserBWndCreatePanWnd::OnDraw(HDC hdc,RECT& Rect) 
{ 
   UNREFERENCED_PARAMETER(Rect); 
 
   Rectangle( hdc,10,10, 50,50);  
 
} 
 
 
 
L_VOID LUserBWndCreatePanWnd::OnZoom(L_UINT uZoomPercent) 
 
{ 
 
   L_TCHAR szBuffer[50]; 
 
   wsprintf(szBuffer,TEXT("Zoom Percent = %u\n"),uZoomPercent) ; 
 
 ::MessageBox( m_hWnd, szBuffer, TEXT("Zoom Percent"), MB_OK) ; 
 
} 
 
 
 
L_VOID LUserBWndCreatePanWnd::PaintNotification(L_INT nPass, L_INT nType) 
 
{ 
 
   L_TCHAR szBuffer[50]; 
 
   wsprintf(szBuffer,TEXT("Pass Number = %d\nType Effect No. = %d\n"), nPass, nType) ; 
 
 ::MessageBox( m_hWnd, szBuffer, TEXT("Effect Information"), MB_OK) ; 
 
} 
 
 
 
L_INT LBitmapWindow__CreatePanWndExample(HWND hWndParent)  
{ 
   L_INT nRet; 
   LUserBWndCreatePanWnd UserBitmapWindow; 
   HWND hWnd ; 
 
   UserBitmapWindow.SetFileName(MAKE_IMAGE_PATH(TEXT("image1.cmp"))); 
   nRet = UserBitmapWindow.Load(0, ORDER_BGR) ; 
   if (nRet== SUCCESS) 
   { 
      hWnd = UserBitmapWindow.CreateWnd( hWndParent) ; 
      if (hWnd == NULL) 
         return 0 ; 
 
      UserBitmapWindow.HandlePalette(WM_QUERYNEWPALETTE,0,0); 
      UserBitmapWindow.Repaint(); 
 
      L_UINT32 ulDisplayFlags = UserBitmapWindow.GetDisplayMode() ; 
       
      UserBitmapWindow.CreatePanWnd(ulDisplayFlags, 0, 0, 150, 150,  
                                    TEXT("PAN_WIN"), NULL, NULL, TRUE) ; 
       
      hWnd = UserBitmapWindow.GetPanWnd() ; 
       
      if (hWnd != NULL) 
      { 
         nRet =UserBitmapWindow.UpdatePanWnd( ulDisplayFlags, RGB(255,0,0),TEXT("Pan Window ")) ; 
         if(nRet !=SUCCESS) 
            return nRet; 
      } 
      else 
         return FAILURE;  
 
      //... do any operation on window 
 
      nRet =UserBitmapWindow.Flip(); 
      if(nRet !=SUCCESS) 
         return nRet; 
 
      if (UserBitmapWindow.IsPanWndCreated() == TRUE) 
         UserBitmapWindow.UpdatePanWnd( ulDisplayFlags, RGB(255,255,255),TEXT("Pan Window ")) ;  
 
      MessageBox(hWndParent, TEXT("Pan Window was created successfully.\n press OK to destroy it"), TEXT("BitmapWindowSamples"), MB_OK); 
      hWnd = UserBitmapWindow.GetPanWnd() ; 
      if (hWnd != NULL) 
      { 
         // after you finish, destroy PanWindow  
         nRet =UserBitmapWindow.DestroyPanWnd() ; 
         if(nRet !=SUCCESS) 
            return nRet; 
      } 
      else 
         return FAILURE; 
 
      hWnd = UserBitmapWindow.GetBitmapWnd() ; 
      if (hWnd != NULL) 
      { 
         L_FLOAT  fZoomFactor ; 
         L_UINT   uPercent ; 
 
         UserBitmapWindow.ZoomIn() ;  
         // set zoom factor with initialize value  
         UserBitmapWindow.SetZoomFactor() ; 
         // set zoom percent 
         UserBitmapWindow.SetZoomPercent(100); 
         UserBitmapWindow.ZoomIn() ; 
         // get current zoom factor  
         fZoomFactor = UserBitmapWindow.GetZoomFactor() ; 
         fZoomFactor += 0.50 ; 
         // set new zoom factor 
         UserBitmapWindow.SetZoomFactor(fZoomFactor) ; 
         uPercent = UserBitmapWindow.GetZoomPercent(); 
         uPercent += 50 ; 
         // set new zoom percent 
         UserBitmapWindow.SetZoomPercent(uPercent); 
         UserBitmapWindow.ZoomOut(); 
 
         // Drag Files ... 
         if (UserBitmapWindow.IsDragAcceptFilesEnabled() == FALSE) 
            UserBitmapWindow.EnableDragAcceptFiles(TRUE) ; 
      } 
      else 
         return FAILURE;  
} 
   return SUCCESS ; 
 
} 
Help Version 22.0.2023.2.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.