LBitmapWindow::CreatePanWnd
#include "ltwrappr.h"
HWND LBitmapWindow::CreatePanWnd(ulDisplayFlags, x, y, nCx, nCy, pszClassName, hIcon, hCursor, bSysMenu)
L_UINT32 ulDisplayFlags; |
/* flags that determine how the image is painted in the Pan Window */ |
L_INT x; |
/* x coordinate of the Pan Window */ |
L_INT y; |
/* y coordinate of the Pan Window */ |
L_INT nCx; |
/* width of the Pan Window */ |
L_INT nCy; |
/* height of the Pan Window */ |
/* registered window class name */ | |
HICON hIcon; |
/* icon handle */ |
HCURSOR hCursor; |
/* cursor handle */ |
L_BOOL bSysMenu; |
/* flag that indicates whether the Pan Window will have a system menu */ |
Creates a Pan Window for the bitmap window.
Parameter |
Description |
|
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. |
|
x |
X coordinate for the origin of the Pan Window. |
|
y |
Y coordinate for the origin of the Pan Window. |
|
nCx |
Width of the Pan Window. |
|
nCy |
Height of the Pan Window. |
|
pszClassName |
The registered window class name to be used in creating the Pan Window. |
|
hIcon |
The icon handle used for creating Pan Window. |
|
hCursor |
The cursor handle used for creating Pan Window. |
|
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
!= 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
LTDIS For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
See Also
Functions: |
Example
class LUserBWnd : public LBitmapWindow
{
public:
LUserBWnd() ;
virtual ~LUserBWnd() ;
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 L_FAR* 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);
};
LUserBWnd::LUserBWnd()
{
}
LUserBWnd::~LUserBWnd()
{
}
L_VOID LUserBWnd::PanWndCallBack(L_UINT uFlag,LPRECT 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 LUserBWnd::MsgProcCallBack(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch (uMsg)
{
case WM_CLOSE:
break ;
};
return LBitmapWindow::MsgProcCallBack(hWnd,uMsg,wParam,lParam);
}
L_BOOL LUserBWnd::OnFileDropped(L_TCHAR L_FAR* pszFile, L_UINT uFileNumber, L_UINT uFilesCount)
{
SetFileName(pszFile);
if (Load() == SUCCESS)
return FALSE; //if loading the file succeeded then stop enumerating files
return TRUE;
}
L_VOID LUserBWnd::OnDraw(HDC hdc,RECT& Rect)
{
Rectangle( hdc,10,10, 50,50);
}
L_VOID LUserBWnd::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 LUserBWnd::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 BitmapWindowSamples(HWND hWndParent)
{
LUserBWnd UserBitmapWindow;
HWND hWnd ;
UserBitmapWindow.SetFileName(TEXT("image1.cmp"));
if (UserBitmapWindow.Load(0, ORDER_BGR) == 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)
UserBitmapWindow.UpdatePanWnd( ulDisplayFlags, RGB(255,0,0),TEXT("Pan Window ")) ;
//... do any operation on window
UserBitmapWindow.Flip();
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
UserBitmapWindow.DestroyPanWnd() ;
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) ;
}
}
return SUCCESS ;
}