📄 page1.cpp
字号:
///////////////////////////////////////////////////////////////////////
// If this program works, it was written by Alexander Fedorov.
// If not, I don't know who wrote it.
// mailto:lamer2000@hotmail.com
// Home Page: http://members.xoom.com/lamer2000/
// This file is part of Alexf Dialer.
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
///////////////////////////////////////////////////////////////////////
// Page1.cpp : implementation file
//
#include "stdafx.h"
#include "Afd.h"
#include "Page1.h"
#include "PhoneNumberDlg.h"
#include "RunProgDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CAfdApp theApp;
static HRASCONN hRasConn = NULL;
VOID WINAPI RasDialFunc(UINT unMsg, RASCONNSTATE rasconnstate, DWORD dwError)
{
TRACE("RasDialFunc\n");
if (unMsg != WM_RASDIALEVENT) TRACE("Strange event!\n");
theApp.PostDialMessage(WM_DIAL_FUNC, rasconnstate, dwError);
TRACE("RasDialFunc - exit\n");
}
BOOL SelectLVItem(CListCtrl & list, int item)
{
LV_ITEM lvi;
ZeroMemory(&lvi, sizeof(lvi));
lvi.iItem = item;
lvi.mask = LVIF_STATE;
if (!list.GetItem(&lvi)) return FALSE;
lvi.state |= LVIS_FOCUSED | LVIS_SELECTED;
lvi.stateMask |= LVIS_FOCUSED | LVIS_SELECTED;
if (!list.SetItem(&lvi)) return FALSE;
return list.EnsureVisible(item, FALSE);
}
/////////////////////////////////////////////////////////////////////////////
// CPage1 property page
IMPLEMENT_DYNCREATE(CPage1, CPropertyPage)
CPage1::CPage1() : CPropertyPage(CPage1::IDD)
{
//{{AFX_DATA_INIT(CPage1)
m_StatusText = _T("");
m_LastCallText = _T("");
//}}AFX_DATA_INIT
}
CPage1::~CPage1()
{
}
void CPage1::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPage1)
DDX_Control(pDX, IDC_LIST_PHONES, m_PhoneList);
DDX_Control(pDX, IDC_PROGRESS_TIMEOUT, m_ProgressTimeout);
DDX_Control(pDX, IDC_COMBO_PROVIDER, m_Providers);
DDX_Text(pDX, IDC_STATUS, m_StatusText);
DDX_Text(pDX, IDC_LAST_CALL, m_LastCallText);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPage1, CPropertyPage)
//{{AFX_MSG_MAP(CPage1)
ON_WM_DESTROY()
ON_WM_TIMER()
ON_BN_CLICKED(IDC_BUTTON_PROV_ADD, OnButtonProvAdd)
ON_BN_CLICKED(IDC_BUTTON_PROV_EDIT, OnButtonProvEdit)
ON_BN_CLICKED(IDC_BUTTON_PROV_DEL, OnButtonProvDel)
ON_BN_CLICKED(IDC_BUTTON_TEL_ADD, OnButtonTelAdd)
ON_BN_CLICKED(IDC_BUTTON_TEL_EDIT, OnButtonTelEdit)
ON_BN_CLICKED(IDC_BUTTON_TEL_DEL, OnButtonTelDel)
ON_BN_CLICKED(IDC_DIAL, OnDial)
ON_CBN_SELCHANGE(IDC_COMBO_PROVIDER, OnSelchangeComboProvider)
ON_NOTIFY(NM_CLICK, IDC_LIST_PHONES, OnClickListPhones)
ON_MESSAGE(WM_DIAL_NEXT_PHONE, OnDialNextPhone)
ON_MESSAGE(WM_DIAL_FUNC, OnDialFunc)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPage1 message handlers
BOOL CPage1::InitPropertyPage()
{
CString sss;
sss.LoadString(IDS_LIST1_COL1);
m_PhoneList.InsertColumn(0, sss, LVCFMT_LEFT, 100);
sss.LoadString(IDS_LIST1_COL2);
m_PhoneList.InsertColumn(1, sss, LVCFMT_LEFT, 180);
DWORD dwStyle = m_PhoneList.SendMessage(LVM_GETEXTENDEDLISTVIEWSTYLE);
dwStyle |= LVS_EX_FULLROWSELECT;
m_PhoneList.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, (LPARAM)dwStyle);
m_ProgressTimeout.SetRange32(0, 100);
m_ProgressTimeout.ShowWindow(SW_HIDE);
bPhone = FALSE;
bDialNow = FALSE;
bInOnTimer = FALSE;
bConnected = FALSE;
bDialing = FALSE;
bAuthenticationBegin = FALSE;
bSpeedChecked = FALSE;
QueryConnections();
QueryPhones(sCurrentProvider);
SetButtonsState();
UpdateData(FALSE);
uTimer = SetTimer(1, 1000, NULL);
CheckExternalConnect();
return ParseArgs(theApp.m_lpCmdLine);
}
BOOL CPage1::OnInitDialog()
{
CPropertyPage::OnInitDialog();
return TRUE;
}
void CPage1::OnDestroy()
{
KillTimer(uTimer);
BOOL bTerminateWhenExit = atol(theApp.GetIniString(gchMain, gchEnableTerminateWhenExit, "1"));
if (bTerminateWhenExit) HangUp(TRUE);
CPropertyPage::OnDestroy();
}
void CPage1::OnTimer(UINT nIDEvent)
{
CPropertyPage::OnTimer(nIDEvent);
// 箧
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -