You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
2.9 KiB
116 lines
2.9 KiB
//
|
|
// This is the header file of softkbd window ui.
|
|
//
|
|
|
|
|
|
#ifndef SOFTKBDUI_H
|
|
#define SOFTKBDUI_H
|
|
|
|
#include "private.h"
|
|
#include "globals.h"
|
|
|
|
#include "Softkbdc.h"
|
|
|
|
#include "cuiwnd.h"
|
|
|
|
class CSoftkbdUIWnd;
|
|
|
|
class CTitleUIGripper : public CUIFGripper
|
|
{
|
|
public:
|
|
CTitleUIGripper( CUIFObject *pParent, const RECT *prc ) : CUIFGripper(pParent,prc) {};
|
|
virtual void OnPaint(HDC hDC);
|
|
virtual void OnLButtonUp( POINT pt );
|
|
};
|
|
|
|
class CSoftkbdButton : public CUIFButton2
|
|
{
|
|
public:
|
|
CSoftkbdButton(CUIFObject *pParent, DWORD dwID, const RECT *prc, DWORD dwStyle, KEYID keyId);
|
|
virtual ~CSoftkbdButton( void );
|
|
|
|
HRESULT SetSoftkbdBtnBitmap(HINSTANCE hResDll, WCHAR * wszBitmapStr );
|
|
KEYID GetKeyId( ) { return m_keyId; }
|
|
HRESULT ReleaseButtonResouce( );
|
|
|
|
private:
|
|
KEYID m_keyId;
|
|
};
|
|
|
|
class CStaticBitmap : public CUIFObject
|
|
{
|
|
|
|
public:
|
|
CStaticBitmap(CUIFObject *pParent, DWORD dwID, const RECT *prc, DWORD dwStyle);
|
|
virtual ~CStaticBitmap( void );
|
|
|
|
HRESULT SetStaticBitmap(HINSTANCE hResDll, WCHAR * wszBitmapStr );
|
|
virtual void OnPaint( HDC hDC );
|
|
|
|
private:
|
|
HBITMAP m_hBmp;
|
|
HBITMAP m_hBmpMask;
|
|
};
|
|
|
|
class CTitleBarUIObj : public CUIFObject
|
|
{
|
|
public:
|
|
CTitleBarUIObj(CUIFObject *pWndFrame, const RECT *prc, TITLEBAR_TYPE TitleBar_Type);
|
|
virtual ~CTitleBarUIObj();
|
|
|
|
HRESULT _Init(WORD wIconId, WORD wCloseId);
|
|
|
|
private:
|
|
CStaticBitmap *m_pIconButton;
|
|
CSoftkbdButton *m_pCloseButton;
|
|
TITLEBAR_TYPE m_TitlebarType;
|
|
|
|
};
|
|
|
|
class CSoftkbdUIWnd : public CUIFWindow
|
|
{
|
|
|
|
public:
|
|
|
|
CSoftkbdUIWnd(CSoftKbd *pSoftKbd, HINSTANCE hInst,UINT uiWindowStyle=UIWINDOW_TOPMOST | UIWINDOW_TOOLWINDOW | UIWINDOW_WSDLGFRAME);
|
|
~CSoftkbdUIWnd( );
|
|
|
|
void Show( INT iShow );
|
|
|
|
LPCTSTR GetClassName( void ) {
|
|
return c_szSoftKbdUIWndClassName;
|
|
}
|
|
|
|
LRESULT OnObjectNotify(CUIFObject * pUIObj, DWORD dwCode, LPARAM lParam);
|
|
HWND _CreateSoftkbdWindow(HWND hOwner, TITLEBAR_TYPE Titlebar_type, INT xPos, INT yPos, INT width, INT height);
|
|
HRESULT _GenerateWindowLayout( );
|
|
HRESULT _SetKeyLabel( );
|
|
|
|
INT _GetAlphaSetFromReg( );
|
|
|
|
HRESULT _OnWindowMove( );
|
|
|
|
void SetAlpha(INT bAlpha);
|
|
void HandleMouseMsg( UINT uMsg, POINT pt );
|
|
void OnMouseOutFromWindow( POINT pt );
|
|
void UpdateFont( LOGFONTW *plfFont );
|
|
|
|
virtual CUIFObject *Initialize( void );
|
|
|
|
private:
|
|
|
|
CSoftKbd *m_pSoftKbd;
|
|
CTitleBarUIObj *m_TitleBar;
|
|
|
|
HFONT m_hUserTextFont; // text font set by user.
|
|
// if user doesn't set text font, this member should be NULL, and DEFAULT_GUI_FONT
|
|
// will be used.
|
|
|
|
TITLEBAR_TYPE m_Titlebar_Type;
|
|
INT m_bAlpha;
|
|
BOOL m_fShowAlphaBlend;
|
|
INT m_bAlphaSet;
|
|
};
|
|
|
|
|
|
#endif /* SOFTKBDUI_H */
|