⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xzjbrdlg.cpp

📁 这是一套学校设备管理系统的源码 里面有树形结构使用的很棒的方法
💻 CPP
字号:
 // xzjbrdlg.cpp : implementation file
//

#include "stdafx.h"
#include "xxgl.h"
#include "xzjbrdlg.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

Cxzjbrdlg::Cxzjbrdlg(CWnd* pParent /*=NULL*/)
	: CDialog(Cxzjbrdlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(Cxzjbrdlg)
	m_jbr = _T("");
	//}}AFX_DATA_INIT
}


void Cxzjbrdlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Cxzjbrdlg)
	DDX_Control(pDX, IDC_LIST1, m_list);
	DDX_Text(pDX, IDC_xzjbr, m_jbr);
	//}}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(IDOK);
 // 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[40];
	int ret;

	fpe = fopen("c:\\xxsbgl\\jbr.txt","rb");
	g_end_jbr = 0;
	if (fpe != NULL){
	  ret = fscanf(fpe,"%s\n",buf);
	  while (ret > 0){
		if (strlen(buf) != 0){
          strcpy(g_jbr_name[g_end_jbr],buf);
          g_end_jbr ++;
        }
	    ret = fscanf(fpe,"%s\n",buf);
	  }
	  fclose(fpe);
    }
	int i;

    m_list.InitStorage(200,100);
	for (i=0;i<g_end_jbr;i++){
		m_list.AddString(g_jbr_name[i]);
    }
}


BEGIN_MESSAGE_MAP(Cxzjbrdlg, CDialog)
	//{{AFX_MSG_MAP(Cxzjbrdlg)
	ON_BN_CLICKED(IDDEL, OnDel)
	ON_BN_CLICKED(IDADD, OnAdd)
	ON_EN_SETFOCUS(IDC_xzjbr, OnSetfocusxzjbr)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Cxzjbrdlg message handlers

void Cxzjbrdlg::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<g_end_jbr;i++){
		  if (strcmp(g_jbr_name[i],buf) == 0){
			  j = i;
			  break;
          }
	  }
	  if (j != -1){
		  for (i=j;i<g_end_jbr-1;i++){
			  strcpy(g_jbr_name[i],g_jbr_name[i+1]);
          }
		  g_end_jbr --;
          FILE *fpe;
	      fpe = fopen("c:\\xxsbgl\\jbr.txt","wb");
		  for (i=0;i<g_end_jbr;i++)
		    fprintf(fpe,"%s\n",g_jbr_name[i]);
          fclose(fpe);
          m_list.ResetContent();
		  for (i=0;i<g_end_jbr;i++)
            m_list.AddString(g_jbr_name[i]);
      }
    }	
}

void Cxzjbrdlg::OnAdd() 
{
	// TODO: Add your control notification handler code here
    int i,n;
	char buf[100];
	CString str;
	FILE *fpe;

	n = m_list.GetCount();
	if (n < 200){
		GetDlgItemText(IDC_xzjbr,str);
		strcpy(buf,str.GetBuffer(100));
		if (strlen(buf) == 0){
			return;
        }
		m_list.AddString(buf);
        strcpy(g_jbr_name[g_end_jbr],buf);
        g_end_jbr ++;
	    fpe = fopen("c:\\xxsbgl\\jbr.txt","a+b");
		fprintf(fpe,"%s\n",buf);
        fclose(fpe);
        SetDlgItemText(IDC_xzjbr,"");
	    CWnd *wnd;
	    wnd = GetDlgItem(IDC_xzjbr);
	    wnd->SetFocus();
    }
	else{
		MessageBox("对不起系统允许增加的经办人只有200种.",MB_OK);
		return;
	}	
}

void Cxzjbrdlg::OnSetfocusxzjbr() 
{
	CWnd *wnd;

	wnd = GetDlgItem(IDC_xzjbr);
	switch_to_chinese_mode(wnd);		
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -