📄 xzbmdlg.cpp
字号:
// xzbmdlg.cpp : implementation file
//
#include "stdafx.h"
#include "xxgl.h"
#include "xzbmdlg.h"
#include "strt.h"
#include "ext.h"
#include "func.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
static cur_focus;
Cxzbmdlg::Cxzbmdlg(CWnd* pParent /*=NULL*/)
: CDialog(Cxzbmdlg::IDD, pParent)
{
//{{AFX_DATA_INIT(Cxzbmdlg)
m_xzbm = _T("");
m_pyjx = _T("");
//}}AFX_DATA_INIT
cur_focus = 0;
}
void Cxzbmdlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Cxzbmdlg)
DDX_Control(pDX, IDC_gdbm, m_gdbm);
DDX_Control(pDX, IDC_LIST1, m_list);
DDX_Text(pDX, IDC_xzbm, m_xzbm);
DDX_Text(pDX, IDC_pyjx, m_pyjx);
//}}AFX_DATA_MAP
CBitmap *bitmap;
CBitmap *bitmap1;
CBitmap *bitmap2;
HBITMAP hbitmap;
HBITMAP hbitmap1;
HBITMAP hbitmap2;
bitmap = new CBitmap();
bitmap1 = new CBitmap();
bitmap2 = new CBitmap();
bitmap->LoadBitmap(IDB_zj);
bitmap1->LoadBitmap(IDB_sc);
bitmap2->LoadBitmap(IDB_tc);
hbitmap = (*bitmap).operator HBITMAP();
hbitmap1 = (*bitmap1).operator HBITMAP();
hbitmap2 = (*bitmap2).operator HBITMAP();
CWnd *wn;
CWnd *wn1;
CWnd *wn2;
wn = GetDlgItem(IDADD);
wn1 = GetDlgItem(IDDEL);
wn2 = GetDlgItem(IDCANCEL);
// wn2 = GetDlgItem(IDOK3);
WPARAM wParam;
LPARAM lParam;
wParam = (WPARAM) LOWORD(BS_LEFT | BS_BITMAP); // style
lParam = MAKELPARAM(TRUE, 0); // redraw flag
wn->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmap);
wn1->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmap1);
wn2->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmap2);
FILE *fpe;
char buf[100];
int ret;
fpe = fopen("c:\\xxsbgl\\bmsz.txt","rb");
g_end_bmsz = 0;
if (fpe != NULL){
ret = fscanf(fpe,"%s\n",buf);
while (ret > 0){
if (strlen(buf) != 0){
strcpy(g_bmsz_name[g_end_bmsz],buf);
g_end_bmsz ++;
}
ret = fscanf(fpe,"%s\n",buf);
}
fclose(fpe);
}
int i,j;
i = j = 0;
fpe = fopen("c:\\xxsbgl\\bmpydyb1.dat","rb");
if (fpe != NULL){
ret = fscanf(fpe,"%s\n",buf);
while (ret > 0){
if (strlen(buf) != 0){
if (i % 2 == 1){
strcpy(g_bmsz_pyjx[j],buf);
j ++;
}
i ++;
}
ret = fscanf(fpe,"%s\n",buf);
}
fclose(fpe);
}
m_list.InitStorage(200,100);
for (i=0;i<g_end_bmsz;i++){
strcpy(buf,g_bmsz_name[i]);
strcat(buf," ");
strcat(buf,g_bmsz_pyjx[i]);
m_list.AddString(buf);
}
m_gdbm.InitStorage(40,100);
m_gdbm.AddString("物理实验室");
m_gdbm.AddString("化学实验室");
m_gdbm.AddString("生物实验室");
m_gdbm.AddString("自然实验室");
m_gdbm.AddString("普通教室");
m_gdbm.AddString("语音教室");
m_gdbm.AddString("电化教室");
m_gdbm.AddString("图书馆");
m_gdbm.AddString("教师阅览室");
m_gdbm.AddString("学生阅览室");
m_gdbm.AddString("教师资料室");
m_gdbm.AddString("专用教室");
m_gdbm.AddString("校长室");
m_gdbm.AddString("食堂");
m_gdbm.AddString("体育场馆");
m_gdbm.AddString("多功能厅");
m_gdbm.AddString("医务室");
m_gdbm.AddString("演播室");
m_gdbm.AddString("音乐教室");
m_gdbm.AddString("美术教室");
m_gdbm.AddString("科技教室");
m_gdbm.AddString("无线电教室");
m_gdbm.AddString("劳动技术教室");
m_gdbm.AddString("化学药品教室");
m_gdbm.AddString("仪器装备室");
m_gdbm.AddString("生物标本室");
m_gdbm.AddString("形体教室");
m_gdbm.AddString("书法教室");
m_gdbm.AddString("职教专用教室");
m_gdbm.AddString("总务");
m_gdbm.AddString("财务");
m_gdbm.AddString("仓库");
m_gdbm.AddString("办公室");
m_gdbm.AddString("计算机室");
m_gdbm.AddString("会议室");
m_gdbm.AddString("其他");
}
BEGIN_MESSAGE_MAP(Cxzbmdlg, CDialog)
//{{AFX_MSG_MAP(Cxzbmdlg)
ON_BN_CLICKED(IDADD, OnAdd)
ON_BN_CLICKED(IDDEL, OnDel)
ON_EN_SETFOCUS(IDC_xzbm, OnSetfocusxzbm)
ON_EN_SETFOCUS(IDC_pyjx, OnSetfocuspyjx)
ON_EN_SETFOCUS(IDC_focus, OnSetfocusfocus)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Cxzbmdlg message handlers
void Cxzbmdlg::OnAdd()
{
// TODO: Add your control notification handler code here
int i,n;
char buf[100];
char buf2[100];
char buf1[10];
CString str;
FILE *fpe;
n = m_list.GetCount();
if (n < 200){
GetDlgItemText(IDC_xzbm,str);
strcpy(buf,str.GetBuffer(100));
if (strlen(buf) == 0){
return;
}
GetDlgItemText(IDC_pyjx,str);
strcpy(buf1,str.GetBuffer(10));
if (strlen(buf1) == 0){
MessageBox("对不起,您没有输入拼音简写。","",MB_OK);
CWnd *wd;
wd = GetDlgItem(IDC_pyjx);
wd->SetFocus();
return;
}
strcpy(buf2,buf);
strcat(buf2," ");
strcat(buf2,buf1);
m_list.AddString(buf2);
strcpy(g_bmsz_name[g_end_bmsz],buf);
strcpy(g_bmsz_pyjx[g_end_bmsz],buf1);
g_end_bmsz ++;
fpe = fopen("c:\\xxsbgl\\bmsz.txt","a+b");
fprintf(fpe,"%s\n",buf);
fclose(fpe);
fpe = fopen("c:\\xxsbgl\\bmpydyb1.dat","a+b");
fprintf(fpe,"%s\n",buf);
fprintf(fpe,"%s\n",buf1);
fclose(fpe);
SetDlgItemText(IDC_xzbm,"");
SetDlgItemText(IDC_pyjx,"");
CWnd *wnd;
wnd = GetDlgItem(IDC_xzbm);
wnd->SetFocus();
}
else{
MessageBox("对不起系统允许增加的部门只有200种.",MB_OK);
return;
}
}
void Cxzbmdlg::OnDel()
{
// TODO: Add your control notification handler code here
int i,j,n,s;
char buf[100];
CString str;
FILE *fpe;
n = m_list.GetCount();
s = m_list.GetCurSel();
if (s <= n){
m_list.GetText(s,buf);
j = -1;
for (i=0;i<strlen(buf);i++){
if (buf[i] == ' ')
buf[i] = 0;
}
for (i=0;i<g_end_bmsz;i++){
if (strcmp(g_bmsz_name[i],buf) == 0){
j = i;
break;
}
}
if (j != -1){
for (i=j;i<g_end_bmsz-1;i++){
strcpy(g_bmsz_name[i],g_bmsz_name[i+1]);
strcpy(g_bmsz_pyjx[i],g_bmsz_pyjx[i+1]);
}
g_end_bmsz --;
FILE *fpe;
fpe = fopen("c:\\xxsbgl\\bmsz.txt","wb");
for (i=0;i<g_end_bmsz;i++)
fprintf(fpe,"%s\n",g_bmsz_name[i]);
fclose(fpe);
fpe = fopen("c:\\xxsbgl\\bmpydyb1.dat","wb");
for (i=0;i<g_end_bmsz;i++){
fprintf(fpe,"%s\n",g_bmsz_name[i]);
fprintf(fpe,"%s\n",g_bmsz_pyjx[i]);
}
fclose(fpe);
m_list.ResetContent();
for (i=0;i<g_end_bmsz;i++){
strcpy(buf,g_bmsz_name[i]);
strcat(buf," ");
strcat(buf,g_bmsz_pyjx[i]);
m_list.AddString(buf);
}
}
if (g_end_bmsz > 0)
m_list.SetCurSel(0);
}
}
void Cxzbmdlg::OnSetfocusxzbm()
{
CWnd *wnd;
wnd = GetDlgItem(IDC_xzbm);
switch_to_chinese_mode(wnd);
cur_focus = 1;
}
void Cxzbmdlg::OnSetfocuspyjx()
{
CWnd *wnd;
wnd = GetDlgItem(IDC_pyjx);
switch_to_english_mode(wnd);
cur_focus = 2;
}
void Cxzbmdlg::OnOK()
{
CWnd *wd_xzbm;
CWnd *wd_pyjx;
CWnd *wd_add;
wd_xzbm = GetDlgItem(IDC_xzbm);
wd_pyjx = GetDlgItem(IDC_pyjx);
wd_add = GetDlgItem(IDADD);
if (cur_focus == 1){
wd_pyjx->SetFocus();
cur_focus = 2;
return ;
}
if (cur_focus == 2){
wd_add->SetFocus();
cur_focus = 3;
return ;
}
// out_flag = 1;
// CDialog::OnOK();
}
void Cxzbmdlg::OnSetfocusfocus()
{
CWnd *wd;
wd = GetDlgItem(IDC_xzbm);
wd->SetFocus();
}
void Cxzbmdlg::OnCancel()
{
CDialog::OnCancel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -