124 lines
No EOL
3.3 KiB
C++
124 lines
No EOL
3.3 KiB
C++
#include "stdafx.h"
|
|
#include "DnLauncherDlgTHAI.h"
|
|
#include "../../DnHtmlView.h"
|
|
|
|
|
|
#if defined(_THAI)
|
|
|
|
|
|
CDnLauncherDlgTHAI::CDnLauncherDlgTHAI( CWnd* pParent )
|
|
: CDnLauncherDlg( pParent )
|
|
{
|
|
m_nMaxCtrlNum = em_ExMaxNum;
|
|
m_pRectCtrl = new CRect[em_ExMaxNum];
|
|
}
|
|
|
|
void CDnLauncherDlgTHAI::DoDataExchange( CDataExchange* pDX )
|
|
{
|
|
CDnLauncherDlg::DoDataExchange( pDX );
|
|
|
|
// Static Text Ctrl
|
|
DDX_Control( pDX, IDC_HOMEPAGE_LINK, m_StaticHomepageLink );
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP( CDnLauncherDlgTHAI, CDnLauncherDlg )
|
|
ON_WM_DESTROY()
|
|
ON_WM_SETCURSOR()
|
|
ON_BN_CLICKED( IDC_HOMEPAGE_LINK, &CDnLauncherDlgTHAI::OnClickedHomepageLink )
|
|
END_MESSAGE_MAP()
|
|
|
|
void CDnLauncherDlgTHAI::OnDestroy()
|
|
{
|
|
SAFE_DELETE_ARRAY( m_pRectCtrl );
|
|
|
|
CDnLauncherDlg::OnDestroy();
|
|
m_FontStatic.DeleteObject();
|
|
}
|
|
|
|
BOOL CDnLauncherDlgTHAI::OnSetCursor( CWnd* pWnd, UINT nHitTest, UINT message )
|
|
{
|
|
CPoint pt;
|
|
CRect rc;
|
|
|
|
GetCursorPos( &pt );
|
|
GetDlgItem( IDC_HOMEPAGE_LINK )->GetWindowRect( rc );
|
|
|
|
if( rc.PtInRect( pt ) )
|
|
{
|
|
SetCursor(AfxGetApp()->LoadStandardCursor( MAKEINTRESOURCE( IDC_HAND ) ) );
|
|
return TRUE;
|
|
}
|
|
|
|
return CDialog::OnSetCursor( pWnd, nHitTest, message );
|
|
}
|
|
|
|
void CDnLauncherDlgTHAI::MakeFont()
|
|
{
|
|
m_Font.CreateFont( 14, 0, 0, 0, FW_BOLD, FALSE, FALSE, FALSE, 0, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
|
|
DEFAULT_QUALITY, DEFAULT_PITCH | FF_ROMAN, _T("tahoma") );
|
|
|
|
m_FontStatic.CreateFont( 14, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, 0, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
|
|
DEFAULT_QUALITY, DEFAULT_PITCH | FF_ROMAN, _T("tahoma") );
|
|
}
|
|
|
|
void CDnLauncherDlgTHAI::SetStaticText()
|
|
{
|
|
CDnLauncherDlg::SetStaticText();
|
|
|
|
m_StaticLauncherVersion.SetFont( &m_FontStatic );
|
|
|
|
m_StaticHomepageLink.SetTextColor( RGB( 25, 115, 255 ) );
|
|
m_StaticHomepageLink.SetFont( &m_Font );
|
|
m_StaticHomepageLink.MoveWindow( m_pRectCtrl[em_StaticText_HomepageLink] );
|
|
m_StaticHomepageLink.SetWindowText( _S( STR_HOMEPAGE_LINK ) );
|
|
}
|
|
|
|
BOOL CDnLauncherDlgTHAI::InitWebpage()
|
|
{
|
|
BOOL bRtn = CDnLauncherDlg::InitWebpage();
|
|
m_pDnHtmlView->ModifyStyleEx( WS_EX_CLIENTEDGE, 0, SWP_FRAMECHANGED );
|
|
|
|
return bRtn;
|
|
}
|
|
|
|
BOOL CDnLauncherDlgTHAI::InitBackground()
|
|
{
|
|
CxImage xImage;
|
|
if( !xImage.LoadResource( FindResource( NULL, MAKEINTRESOURCE( IDR_JPG_BACK_GROUND ), L"PNG" ), CXIMAGE_FORMAT_PNG ) )
|
|
return FALSE;
|
|
|
|
HBITMAP hBmp = xImage.MakeBitmap();
|
|
if( hBmp == NULL )
|
|
return FALSE;
|
|
|
|
// set window size
|
|
BITMAP bmp = { 0 };
|
|
GetObject( hBmp, sizeof(BITMAP), &bmp );
|
|
m_dwWidth = bmp.bmWidth; // bitmap width
|
|
m_dwHeight = bmp.bmHeight; // bitmap height
|
|
// alpha color
|
|
HRGN hRgn = CreateRgnFromFile( hBmp, RGB( 255, 0, 255 ) );
|
|
// build memory dc for background
|
|
CDC* dc = GetDC();
|
|
m_dcBkGrnd = CreateCompatibleDC( dc->m_hDC );
|
|
ReleaseDC( dc );
|
|
// select background image
|
|
SelectObject( m_dcBkGrnd, hBmp );
|
|
// set window size the same as image size
|
|
//SetWindowPos( NULL, 0, 0, m_dwWidth, m_dwHeight, SWP_NOZORDER | SWP_NOMOVE );
|
|
SetWindowPos( &wndTopMost, 0, 0, m_dwWidth, m_dwHeight, SWP_NOZORDER | SWP_NOMOVE | SWP_NOACTIVATE );
|
|
::SetForegroundWindow( this->GetSafeHwnd() );
|
|
::SetActiveWindow( this->GetSafeHwnd() );
|
|
// assign region to window
|
|
SetWindowRgn( hRgn, FALSE );
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CDnLauncherDlgTHAI::OnClickedHomepageLink()
|
|
{
|
|
GetDlgItem( IDC_HOMEPAGE_LINK )->Invalidate();
|
|
ShellExecute( m_hWnd, L"open", DNPATCHINFO.GetHomepageUrl(), NULL, NULL, SW_SHOW );
|
|
}
|
|
|
|
#endif // _THAI
|