119 lines
2.8 KiB
C++
119 lines
2.8 KiB
C++
// sendmac.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "sendmac.h"
|
|
|
|
#ifdef _DEBUG
|
|
#undef THIS_FILE
|
|
static char BASED_CODE THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSendMacro dialog
|
|
|
|
|
|
CSendMacro::CSendMacro(PSTR pszFile, PSTR pszMacro, CWnd* pParent /*=NULL*/)
|
|
: CDialog(CSendMacro::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CSendMacro)
|
|
m_cszHelpFile = pszFile;
|
|
m_cszMacro = pszMacro;
|
|
//}}AFX_DATA_INIT
|
|
|
|
m_pszMacro = pszMacro;
|
|
m_pszFile = pszFile;
|
|
pMacrohistory = new CFileHistory(IDS_HISTORY_MACROS);
|
|
}
|
|
|
|
CSendMacro::~CSendMacro()
|
|
{
|
|
if (pMacrohistory)
|
|
delete pMacrohistory;
|
|
}
|
|
|
|
BOOL CSendMacro::OnInitDialog()
|
|
{
|
|
SetChicagoDialogStyles(m_hWnd);
|
|
CDialog::OnInitDialog();
|
|
|
|
CComboBox* pcombo = (CComboBox*) GetDlgItem(IDC_COMBO_MACROS);
|
|
|
|
pMacrohistory->FillComboBox(pcombo);
|
|
|
|
// If a macro wasn't specified when we were called, then
|
|
// select the first macro in our list, which will be the
|
|
// last macro sent.
|
|
|
|
if (!*m_pszMacro) {
|
|
pcombo->SetCurSel(0);
|
|
pcombo->SetEditSel(0, -1);
|
|
}
|
|
|
|
pcombo = (CComboBox*) GetDlgItem(IDC_COMBO_HELP_FILES);
|
|
|
|
phlpFile->FillComboBox(pcombo);
|
|
|
|
// If a filename wasn't specified when we were called, then
|
|
// select the first filename in our list, which will be the
|
|
// last filename compiled.
|
|
|
|
if (m_cszHelpFile.IsEmpty())
|
|
pcombo->SetCurSel(0);
|
|
return TRUE;
|
|
}
|
|
|
|
void CSendMacro::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CSendMacro)
|
|
DDX_CBString(pDX, IDC_COMBO_MACROS, m_cszMacro);
|
|
DDV_MaxChars(pDX, m_cszMacro, MACRO_LIMIT);
|
|
DDX_CBString(pDX, IDC_COMBO_HELP_FILES, m_cszHelpFile);
|
|
DDV_MaxChars(pDX, m_cszHelpFile, 255);
|
|
//}}AFX_DATA_MAP
|
|
DDV_EmptyFile(pDX, m_cszHelpFile, IDS_PROMPT_EMPTY_FILENAME);
|
|
|
|
if (pDX->m_bSaveAndValidate) {
|
|
strcpy(m_pszMacro, m_cszMacro);
|
|
pMacrohistory->AddData(m_cszMacro);
|
|
strcpy(m_pszFile, m_cszHelpFile);
|
|
phlpFile->Add(m_cszHelpFile);
|
|
}
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CSendMacro, CDialog)
|
|
//{{AFX_MSG_MAP(CSendMacro)
|
|
// NOTE: the ClassWizard will add message map macros here
|
|
//}}AFX_MSG_MAP
|
|
ON_MESSAGE(WM_CONTEXTMENU, OnContextMenu)
|
|
ON_MESSAGE(WM_HELP, OnHelp)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSendMacro message handlers
|
|
|
|
static const DWORD aHelpIds[] = {
|
|
IDC_COMBO_MACROS, IDH_COMBO_SEND_MACRO_NAME,
|
|
IDC_COMBO_HELP_FILES, IDH_COMBO_SEND_MACRO_HELP,
|
|
IDOK, IDH_BTN_SEND_MACRO,
|
|
0, 0
|
|
};
|
|
|
|
LRESULT CSendMacro::OnContextMenu(WPARAM wParam, LPARAM lParam)
|
|
{
|
|
::WinHelp((HWND) wParam,
|
|
AfxGetApp()->m_pszHelpFilePath,
|
|
HELP_CONTEXTMENU, (DWORD) (LPVOID) aHelpIds);
|
|
return 0;
|
|
}
|
|
|
|
LRESULT CSendMacro::OnHelp(WPARAM wParam, LPARAM lParam)
|
|
{
|
|
::WinHelp((HWND) ((LPHELPINFO) lParam)->hItemHandle,
|
|
AfxGetApp()->m_pszHelpFilePath,
|
|
HELP_WM_HELP, (DWORD) (LPVOID) aHelpIds);
|
|
return 0;
|
|
}
|