|
|
/**************************************************/ /* */ /* */ /* Convert from bmp to ttf */ /* (Dialogbox) */ /* */ /* */ /* Copyright (c) 1997-1999 Microsoft Corporation. */ /**************************************************/
#include "stdafx.h"
#include "eudcedit.h"
#include "imprtdlg.h"
#include "ttfstruc.h"
#include "extfunc.h"
#include "util.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__; #endif
TCHAR UserFont[MAX_PATH]; TCHAR EUDCTTF[MAX_PATH]; TCHAR EUDCBMP[MAX_PATH];
/****************************************/ /* */ /* Default Constructor */ /* */ /****************************************/ CImportDlg::CImportDlg( CWnd* pParent) : CDialog(CImportDlg::IDD, pParent) { //{{AFX_DATA_INIT(CImportDlg)
//}}AFX_DATA_INIT
}
/****************************************/ /* */ /* MESSAGE "WM_INITDIALOG" */ /* */ /****************************************/ BOOL CImportDlg::OnInitDialog() { CString DlgTitle;
CDialog::OnInitDialog();
// Implement "?" in this dialogbox.
// LONG WindowStyle = GetWindowLong( this->GetSafeHwnd(), GWL_EXSTYLE);
// WindowStyle |= WS_EX_CONTEXTHELP;
// SetWindowLong( this->GetSafeHwnd(), GWL_EXSTYLE, WindowStyle);
// Set dialog title name.
DlgTitle.LoadString( IDS_IMPORT_DLGTITLE); this->SetWindowText( DlgTitle);
return TRUE; }
/****************************************/ /* */ /* COMMAND "BROWSE" */ /* */ /****************************************/ void CImportDlg::OnFileBrowse() { OPENFILENAME ofn; CString DlgTtl, DlgMsg; CString sFilter; CWnd *cWnd; TCHAR chReplace; TCHAR szFilter[MAX_PATH]; TCHAR szFileName[MAX_PATH]; TCHAR szTitleName[MAX_PATH]; TCHAR szDirName[MAX_PATH];
if( CountryInfo.LangID == EUDC_JPN){ // Set filter of file( from string table)
GetStringRes(szFilter, IDS_IMPORT_JAPAN_FILTER); int StringLength = lstrlen( szFilter);
chReplace = szFilter[StringLength-1]; for( int i = 0; szFilter[i]; i++){ if( szFilter[i] == chReplace) szFilter[i] = '\0'; } GetSystemWindowsDirectory( szDirName, sizeof(szDirName)/sizeof(TCHAR)); lstrcpy( szFileName, TEXT("USERFONT.FON")); DlgTtl.LoadString( IDS_BROWSEUSER_DLGTITLE);
// Set data in structure of OPENFILENAME
ofn.lStructSize = sizeof( OPENFILENAME); ofn.hInstance = AfxGetInstanceHandle(); ofn.hwndOwner = this->GetSafeHwnd(); ofn.lpstrFilter = szFilter; ofn.lpstrCustomFilter = NULL; ofn.nMaxCustFilter = 0; ofn.nFilterIndex = 0; ofn.lpstrFile = szFileName; ofn.lpstrFileTitle = szTitleName; ofn.nMaxFileTitle = sizeof( szTitleName) / sizeof(TCHAR); ofn.nMaxFile = sizeof( szFileName) / sizeof(TCHAR); ofn.lpstrInitialDir = szDirName; ofn.Flags = OFN_HIDEREADONLY | OFN_NOCHANGEDIR | OFN_PATHMUSTEXIST; ofn.lpstrDefExt = NULL; ofn.lpstrTitle = DlgTtl;
if( !GetOpenFileName( &ofn)){ return; }
memcpy( UserFont, ofn.lpstrFile, sizeof( UserFont)); this->SetDlgItemText( IDC_BMP_IMPUT, ofn.lpstrFile); #ifdef BUILD_ON_WINNT
if( OExistUserFont( UserFont) != 1){ OutputMessageBoxEx( this->GetSafeHwnd(), IDS_IMPORT_DLGTITLE, AFX_IDP_FAILED_INVALID_PATH, TRUE, UserFont);
cWnd = this->GetDlgItem( IDC_BMP_IMPUT); GotoDlgCtrl( cWnd); return; } #endif // BUILD_ON_WINNT
if( isW31JEUDCBMP( UserFont) != 1){ OutputMessageBox( this->GetSafeHwnd(), IDS_IMPORT_DLGTITLE, IDS_NOTUSERFONT_MSG, TRUE);
cWnd = this->GetDlgItem( IDC_BMP_IMPUT); GotoDlgCtrl( cWnd); return; } cWnd = GetDlgItem( IDOK); GotoDlgCtrl( cWnd); }else if( CountryInfo.LangID == EUDC_CHT || CountryInfo.LangID == EUDC_CHS ){ // Set filter of file( from string table)
GetStringRes(szFilter, IDS_IMPORT_CHINA_FILTER); int StringLength = lstrlen( szFilter);
chReplace = szFilter[StringLength-1]; for( int i = 0; szFilter[i]; i++){ if( szFilter[i] == chReplace) szFilter[i] = '\0'; } GetSystemWindowsDirectory( szDirName, sizeof(szDirName)/sizeof(TCHAR)); lstrcpy( szFileName, TEXT("*.*")); DlgTtl.LoadString( IDS_BROWSEUSER_DLGTITLE);
// Set data in structure of OPENFILENAME
ofn.lStructSize = sizeof( OPENFILENAME); ofn.hwndOwner = this->GetSafeHwnd(); ofn.hInstance = AfxGetInstanceHandle(); ofn.lpstrFilter = szFilter; ofn.lpstrCustomFilter = NULL; ofn.nMaxCustFilter = 0; ofn.nFilterIndex = 0; ofn.lpstrFileTitle = szTitleName; ofn.nMaxFileTitle = sizeof( szTitleName) / sizeof(TCHAR); ofn.lpstrFile = szFileName; ofn.nMaxFile = sizeof( szFileName) / sizeof(TCHAR); ofn.lpstrInitialDir = szDirName; ofn.Flags = OFN_HIDEREADONLY | OFN_NOCHANGEDIR | OFN_PATHMUSTEXIST; ofn.lpstrDefExt = NULL; ofn.lpstrTitle = DlgTtl;
if( !GetOpenFileName( &ofn)) return;
memcpy( UserFont, ofn.lpstrFile, sizeof( UserFont)); this->SetDlgItemText( IDC_BMP_IMPUT, ofn.lpstrFile); #ifdef BUILD_ON_WINNT
if( OExistUserFont( UserFont) != 1){ OutputMessageBoxEx( this->GetSafeHwnd(), IDS_IMPORT_DLGTITLE, AFX_IDP_FAILED_INVALID_PATH, TRUE, UserFont);
cWnd = this->GetDlgItem( IDC_BMP_IMPUT); GotoDlgCtrl( cWnd); return; } #endif // BUILD_ON_WINNT
if( isETENBMP( UserFont) != 1){ OutputMessageBox( this->GetSafeHwnd(), IDS_IMPORT_DLGTITLE, IDS_NOTUSERFONT_MSG, TRUE);
cWnd = this->GetDlgItem( IDC_BMP_IMPUT); GotoDlgCtrl( cWnd); return; } cWnd = GetDlgItem( IDOK); GotoDlgCtrl( cWnd); } }
/****************************************/ /* */ /* COMMAND "IDOK" */ /* */ /****************************************/ void CImportDlg::OnOK() { TCHAR *FilePtr; CWnd *cWnd;
lstrcpy(EUDCTTF,SelectEUDC.m_File); lstrcpy( EUDCBMP, EUDCTTF); if(( FilePtr = Mytcsrchr( EUDCBMP, '.')) != NULL) *FilePtr = '\0'; lstrcat( EUDCBMP, TEXT(".EUF")); if( !this->GetDlgItemText(IDC_BMP_IMPUT, UserFont, MAX_PATH)){ OutputMessageBox( this->GetSafeHwnd(), IDS_IMPORT_DLGTITLE, IDS_NOTUSERFONT_MSG, TRUE);
cWnd = this->GetDlgItem( IDC_BMP_IMPUT); GotoDlgCtrl( cWnd); return; } if( CountryInfo.LangID == EUDC_JPN){ #ifdef BUILD_ON_WINNT
if( OExistUserFont( UserFont) != 1){ OutputMessageBoxEx( this->GetSafeHwnd(), IDS_IMPORT_DLGTITLE, AFX_IDP_FAILED_INVALID_PATH, TRUE, UserFont);
cWnd = this->GetDlgItem( IDC_BMP_IMPUT); GotoDlgCtrl( cWnd); return; } #endif // BUILD_ON_WINNT
if( isW31JEUDCBMP( UserFont) != 1){ OutputMessageBox( this->GetSafeHwnd(), IDS_IMPORT_DLGTITLE, IDS_NOTUSERFONT_MSG, TRUE);
cWnd = this->GetDlgItem( IDC_BMP_IMPUT); GotoDlgCtrl( cWnd); return; } }else{ #ifdef BUILD_ON_WINNT
if( OExistUserFont( UserFont) != 1){ OutputMessageBoxEx( this->GetSafeHwnd(), IDS_IMPORT_DLGTITLE, AFX_IDP_FAILED_INVALID_PATH, TRUE, UserFont);
cWnd = this->GetDlgItem( IDC_BMP_IMPUT); GotoDlgCtrl( cWnd); return; } #endif // BUILD_ON_WINNT
if( isETENBMP( UserFont) != 1){ OutputMessageBox( this->GetSafeHwnd(), IDS_IMPORT_DLGTITLE, IDS_NOTUSERFONT_MSG, TRUE);
cWnd = this->GetDlgItem( IDC_BMP_IMPUT); GotoDlgCtrl( cWnd); return; } } EndDialog(IDOK); }
static DWORD aIds[] = { IDC_STATICBMP, IDH_EUDC_IMPOBMP, IDC_BMP_IMPUT, IDH_EUDC_IMPOBMP, IDC_FILE_BROWSE, IDH_EUDC_BROWSE, 0,0 };
/****************************************/ /* */ /* Window procedure */ /* */ /****************************************/ LRESULT CImportDlg::WindowProc( UINT message, WPARAM wParam, LPARAM lParam) {/*
if( message == WM_HELP){ ::WinHelp((HWND)((LPHELPINFO)lParam)->hItemHandle, HelpPath, HELP_WM_HELP, (DWORD_PTR)(LPTSTR)aIds); return(0); } if( message == WM_CONTEXTMENU){ ::WinHelp((HWND)wParam, HelpPath, HELP_CONTEXTMENU, (DWORD_PTR)(LPTSTR)aIds); return(0); } */ return CDialog::WindowProc(message, wParam, lParam); }
BEGIN_MESSAGE_MAP(CImportDlg, CDialog) //{{AFX_MSG_MAP(CImportDlg)
ON_BN_CLICKED(IDC_FILE_BROWSE, OnFileBrowse) //}}AFX_MSG_MAP
END_MESSAGE_MAP()
|