📄 d_alias.cpp
字号:
// D_Alias.cpp: Implementierungsdatei
//
#include "stdafx.h"
#include "InetServer.h"
#include "D_Alias.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// Dialogfeld D_Alias
D_Alias::D_Alias(CWnd* pParent /*=NULL*/)
: CDialog(D_Alias::IDD, pParent)
{
//{{AFX_DATA_INIT(D_Alias)
m_forward1 = _T("");
m_forward2 = _T("");
//}}AFX_DATA_INIT
}
void D_Alias::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(D_Alias)
DDX_Control(pDX, IDC_COMBO1, mc_forward2);
DDX_Control(pDX, IDC_LIST, mc_list);
DDX_Text(pDX, IDC_EDITFOWARD1, m_forward1);
DDX_CBString(pDX, IDC_COMBO1, m_forward2);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(D_Alias, CDialog)
//{{AFX_MSG_MAP(D_Alias)
ON_BN_CLICKED(IDOK, OnOk)
ON_BN_CLICKED(IDC_ADDFORWARD, OnAddforward)
ON_BN_CLICKED(IDC_CHNGFORWARD, OnChngforward)
ON_BN_CLICKED(IDC_DELFORWARD, OnDelforward)
ON_NOTIFY(NM_CLICK, IDC_LIST, OnClickList)
ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST, OnItemchangedList)
ON_NOTIFY(LVN_ITEMCHANGING, IDC_LIST, OnItemchangingList)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Behandlungsroutinen f黵 Nachrichten D_Alias
void D_Alias::OnOk()
{
FILE *stream;
if( (stream = fopen("forward.ctl", "wt" )) != NULL )
{
CString forward1;
CString forward2;
for (int i = 0;i<=mc_list.GetItemCount()-1;i++)
{
forward1= mc_list.GetItemText( i, 0 );
forward2= mc_list.GetItemText( i, 1);
fprintf(stream,"%s %s\r\n",forward1,forward2);
}
fclose(stream);
}
else
{
MessageBox("Could not save forward.ctl!");
}
CDialog::OnOK();
}
void D_Alias::OnAddforward()
{
char tempstr[255];
LV_ITEM lvitem;
int iActualItem,iIcon;
iIcon = 0;
UpdateData(TRUE);
if (m_forward1 == "")
{
MessageBox("You must enter a from-address!\nFor example:webmaster");
return;
}
if (m_forward2 == "")
{
MessageBox("You must enter a to-address!\nFor example:bob");
return;
}
lvitem.mask = LVIF_TEXT | LVIF_IMAGE;
lvitem.iItem = 0;
lvitem.iSubItem = 0;
lvitem.iImage = iIcon;
sprintf(tempstr,"%s",m_forward1);
lvitem.pszText = tempstr;
iActualItem = mc_list.InsertItem(&lvitem);
lvitem.mask = LVIF_TEXT;
lvitem.iItem = iActualItem;
lvitem.iSubItem = 1;
sprintf(tempstr,"%s",m_forward2);
lvitem.pszText = tempstr;
mc_list.SetItem(&lvitem);
UpdateData(FALSE);
}
void D_Alias::OnChngforward()
{
char tempstr[255];
LV_ITEM lvitem;
int iIcon;
iIcon = 0;
UpdateData(TRUE);
if (m_forward1 == "")
{
MessageBox("You must enter a from-address!\nFor example:webmaster");
return;
}
if (m_forward2 == "")
{
MessageBox("You must enter a to-address!\nFor example:bob");
return;
}
char tempstr2[255];
sprintf(tempstr2,"%s",m_forward2);
lvitem.mask = LVIF_TEXT;
lvitem.iItem = mc_list.GetNextItem(-1,LVNI_SELECTED);
lvitem.iSubItem = 0;
lvitem.iImage = 0;
sprintf(tempstr,"%s",m_forward1);
lvitem.pszText = tempstr;
mc_list.SetItem(&lvitem);
lvitem.iSubItem = 1;
lvitem.pszText = tempstr2;
mc_list.SetItem(&lvitem);
m_forward1 = tempstr;
m_forward2 = tempstr2;
UpdateData(FALSE);
}
void D_Alias::OnDelforward()
{
if (mc_list.GetNextItem(-1,LVNI_SELECTED) == -1) return;
UpdateData(TRUE);
mc_list.DeleteItem(mc_list.GetNextItem(-1,LVNI_SELECTED));
}
BOOL D_Alias::OnInitDialog()
{
CDialog::OnInitDialog();
CImageList *m_pimagelistSmall;
m_pimagelistSmall = new CImageList();
m_pimagelistSmall->Create(16, 16, TRUE/*bMask*/, 1, 4);
m_pimagelistSmall->Add(AfxGetApp()->LoadIcon(IDI_FORWARD));
LV_COLUMN lvcolumn;
CRect rect1;
TCHAR rgtsz1[2][20] = {_T("From"),_T("To")};
mc_list.SetImageList(m_pimagelistSmall, LVSIL_SMALL);
mc_list.GetWindowRect(&rect1);
lvcolumn.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
lvcolumn.fmt = LVCFMT_LEFT;
lvcolumn.pszText = rgtsz1[0];
lvcolumn.iSubItem = 0;
lvcolumn.cx = 130;
mc_list.InsertColumn(0, &lvcolumn);
lvcolumn.pszText = rgtsz1[1];
lvcolumn.iSubItem = 1;
lvcolumn.cx = 180;
mc_list.InsertColumn(1, &lvcolumn);
LV_ITEM lvitem;
int iActualItem,iIcon;
iIcon = 0;
char tempstr[255];
FILE *stream;
if( (stream = fopen("forward.ctl", "rt" )) != NULL )
{
while (!feof(stream))
{
char s1[255];
char s2[255];
fgets(tempstr,255,stream);
if (!feof(stream))
{
UpdateData(TRUE);
sprintf(s1,"");
sprintf(s2,"");
sscanf(tempstr,"%s %s",s1,s2);
lvitem.mask = LVIF_TEXT | LVIF_IMAGE;
lvitem.iItem = 0;
lvitem.iSubItem = 0;
lvitem.iImage = iIcon;
tempstr[strlen(tempstr)-1] = '\0';
lvitem.pszText = s1;
iActualItem = mc_list.InsertItem(&lvitem);
lvitem.mask = LVIF_TEXT;
lvitem.iItem = iActualItem;
lvitem.iSubItem = 1;
lvitem.pszText = s2;
mc_list.SetItem(&lvitem);
UpdateData(FALSE);
}
}
fclose(stream);
}
else
{
MessageBox("Could not open forward.ctl!");
}
if( (stream = fopen("popuser.ctl", "rt" )) != NULL )
{
while (!feof(stream))
{
fgets(tempstr,255,stream);
if (!feof(stream))
{
int pusrpos = 0;
char seps[] = ";\r\n";
char tempstr2[255];
char *token;
token = strtok( tempstr, seps );
while( token != NULL )
{
sprintf(tempstr2,"%s",token);
for (UINT x = 1;x<=strlen(tempstr2)-1;x++) tempstr2[x-1] = tempstr2[x];
tempstr2[strlen(tempstr2)-2] = '\0';
if (pusrpos == 0)
{
strupr(tempstr2);
mc_forward2.AddString(tempstr2);
}
pusrpos++;
token = strtok( NULL, seps );
}
}
}
fclose(stream);
}
return TRUE; // return TRUE unless you set the focus to a control
}
void D_Alias::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)
{
UpdateData(TRUE);
m_forward1 = mc_list.GetItemText(mc_list.GetNextItem(-1,LVNI_SELECTED),0);
m_forward2 = mc_list.GetItemText(mc_list.GetNextItem(-1,LVNI_SELECTED),1);
UpdateData(FALSE);
*pResult = 0;
}
void D_Alias::OnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
UpdateData(TRUE);
m_forward1 = mc_list.GetItemText(mc_list.GetNextItem(-1,LVNI_SELECTED),0);
m_forward2 = mc_list.GetItemText(mc_list.GetNextItem(-1,LVNI_SELECTED),1);
UpdateData(FALSE);
*pResult = 0;
}
void D_Alias::OnItemchangingList(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
UpdateData(TRUE);
m_forward1 = mc_list.GetItemText(mc_list.GetNextItem(-1,LVNI_SELECTED),0);
m_forward2 = mc_list.GetItemText(mc_list.GetNextItem(-1,LVNI_SELECTED),1);
UpdateData(FALSE);
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -