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

📄 xxglview.cpp

📁 这是一套学校设备管理系统的源码 里面有树形结构使用的很棒的方法
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// xxglView.cpp : implementation of the CXxglView class
//

#include "stdafx.h"
#include "xxgl.h"

#include "xxglDoc.h"
#include "xxglView.h"
#include "process.h"
#include "srmmdlg.h"
#include "xxqkdlg.h"
#include "jzgqkdlg.h"
#include "tsgglyqk.h"
#include "tsgsszk.h"
#include "tsgdngzqk.h"
#include "tsgcszkdlg.h"
#include "ldqkdlg.h"
#include "bjqkdlg.h"
#include "sbsgl.h"
#include "yszmdlg.h"
#include "yszmrkdlg.h"
#include "szsrfdlg.h"
#include "rkfsdlg.h"
#include "yszmcxdlg.h"
#include "xzbmdlg.h"
#include "rkfhdlg.h"
#include "sysqkdlg.h"
#include "xxsysqkdlg.h"
#include "xxsyszc.h"
#include "xxsyskk.h"
#include "zbjfdntr.h"
#include "ckfhdlg.h"
#include "sbckcxdlg.h"
#include "qrnzzjdlg.h"
#include "yszmfzdlg.h"
#include "syssyzk.h"
#include "syszcdlg.h"
#include "tsgcszkdlg.h"
#include "sbck.h"
#include "maindlg.h"
#include "xxmcmm.h"
#include "pbpgdlg.h"
#include "syspbgldlg.h"
#include "nddlg.h"
#include "xzjbrdlg.h"
#include "xthfdlg.h"
#include "xtbfdlg.h"
#include "xzbbdlg.h"
#include "sbjhdlg.h"
#include "jhfhdlg.h"
#include "jhcxdlg.h"
#include "mxxqk.h"
#include "msbgl.h"
#include "myszmgl.h"
#include "mjhgl.h"
#include "mpgfx.h"
#include "mbbdy.h"
#include "mxtwh.h"
#include "mxtbz.h"
#include "ggmm.h"
#include "xxmcmm.h"
#include "imm.h"
#include "ime.h"
#include "math.h"
#include "strt.h"
#include "data.h"
#include "func.h"

#define MAX_LINES 200000L

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

int num_of_pages;
char *txt[MAX_LINES];
int num_of_items;
CFont fon[100];
char fonsize[100][20];
char fontype[100][20];
int num_of_fonts;
int begin_flag;
int res;
HANDLE hdevmode;

static char xxbbmc[14][80]={
    "小学实验教学人员状况统计表",
    "小学实验室及功能教室数量统计表(一)",
    "小学实验室及功能教室数量统计表(二)",
    "小学实验室及功能教室装备状况统计表(一)",
    "小学实验室及功能教室装备状况统计表(二)",
    "小学实验室及功能教室使用状况统计表(一)",
    "小学实验室及功能教室使用状况统计表(二)",
    "小学普及实验教学学校统计表",
    "小学实验仪器设备达标学校统计表",
    "小学教育技术装备经费当年投入情况及尚需量统计表",
    "小学图书馆管理人员状况统计表",
    "小学图书馆设施状况统计表",
    "小学图书馆藏书状况统计表",
    "小学图书馆当年购置情况及尚需量统计表"
};

static char zxbbmc[17][80]={
    "中学实验教学人员状况统计表",
    "中学实验室及功能教室数量统计表(一)",
    "中学实验室及功能教室数量统计表(二)",
    "中学实验室及功能教室装备状况统计表(一)",
    "中学实验室及功能教室装备状况统计表(二)",
    "中学实验室及功能教室装备状况统计表(三)",
    "中学实验室及功能教室使用状况统计表(一)",
    "中学实验室及功能教室使用状况统计表(二)",
    "中学实验室及功能教室使用状况统计表(三)",
    "中学实验室及功能教室使用状况统计表(四)",
    "中学普及实验教学学校统计表",
    "中学实验仪器设备达标学校统计表",
    "中学教育技术装备经费当年投入情况及尚需量统计表",
    "中学图书馆管理人员状况统计表",
    "中学图书馆设施状况统计表",
    "中学图书馆藏书状况统计表",
    "中学图书馆当年购置情况及尚需量统计表"
};


IMPLEMENT_DYNCREATE(CXxglView, CView)

BEGIN_MESSAGE_MAP(CXxglView, CView)
	//{{AFX_MSG_MAP(CXxglView)
	ON_COMMAND(ID_jfgl_jffp, Onjfgljffp)
	ON_COMMAND(ID_jfgl_jfly, Onjfgljfly)
	ON_COMMAND(ID_jfgl_jfzc, Onjfgljfzc)
	ON_COMMAND(ID_pgfx_djpg, Onpgfxdjpg)
	ON_COMMAND(ID_pgfx_glpg, Onpgfxglpg)
	ON_COMMAND(ID_pgfx_sypg, Onpgfxsypg)
	ON_COMMAND(ID_pgfx_tspg, Onpgfxtspg)
	ON_COMMAND(ID_pgfx_zbpg, Onpgfxzbpg)
	ON_COMMAND(ID_sbgl_cgjh, Onsbglcgjh)
	ON_COMMAND(ID_sbgl_ckgl, Onsbglckgl)
	ON_COMMAND(ID_sbgl_rkgl, Onsbglrkgl)
	ON_COMMAND(ID_sbsj_jfqk, Onsbsjjfqk)
	ON_COMMAND(ID_sbsj_pgqk, Onsbsjpgqk)
	ON_COMMAND(ID_sbsj_sbqk, Onsbsjsbqk)
	ON_COMMAND(ID_sbsj_syqk, Onsbsjsyqk)
	ON_COMMAND(ID_sbsj_zmqk, Onsbsjzmqk)
	ON_COMMAND(ID_xtbz_bzsy, Onxtbzbzsy)
	ON_COMMAND(ID_xtbz_sbgl, Onxtbzsbgl)
	ON_COMMAND(ID_xtbz_xtwh, Onxtbzxtwh)
	ON_COMMAND(ID_xtbz_xxgm, Onxtbzxxgm)
	ON_COMMAND(ID_xtwh_xtbf, Onxtwhxtbf)
	ON_COMMAND(ID_xtwh_xthf, Onxtwhxthf)
	ON_COMMAND(ID_xtwh_zhwh, Onxtwhzhwh)
	ON_COMMAND(ID_xxgm_bjqk, Onxxgmbjqk)
	ON_COMMAND(ID_xxgm_xxqk, Onxxgmxxqk)
	ON_COMMAND(ID_xxgm_zgqk, Onxxgmzgqk)
	ON_COMMAND(ID_xxgm_zzjg, Onxxgmzzjg)
	ON_COMMAND(ID_zmgl_dqzm, Onzmgldqzm)
	ON_COMMAND(ID_zmgl_yszm, Onzmglyszm)
	ON_COMMAND(ID_sbgl_sbbh, Onsbglsbbh)
	ON_COMMAND(ID_TEST, OnTest)
	ON_COMMAND(IDTEST1, OnTest1)
	ON_COMMAND(IDTEST2, OnTest2)
	ON_COMMAND(ID_xtwh_srf, Onxtwhsrf)
	ON_COMMAND(ID_ECSWITCH, OnEcswitch)
	ON_COMMAND(ID_xtwh_rkfs, Onxtwhrkfs)
	ON_COMMAND(ID_zmgl_yszmcx, Onzmglyszmcx)
	ON_COMMAND(ID_xtwh_xzbm, Onxtwhxzbm)
	ON_COMMAND(ID_zmgl_drsj, Onzmgldrsj)
	ON_COMMAND(ID_sbgl_rkcx, Onsbglrkcx)
	ON_COMMAND(ID_sbgl_sbrk, Onsbglsbrk)
	ON_COMMAND(ID_sbgl_rkfh, Onsbglrkfh)
	ON_COMMAND(ID_sbgl_sbck, Onsbglsbck)
	ON_COMMAND(ID_sbgl_ckfh, Onsbglckfh)
	ON_COMMAND(ID_sbgl_ckcx, Onsbglckcx)
	ON_COMMAND(ID_sbgl_nzzj, Onsbglnzzj)
	ON_COMMAND(ID_zmgl_yszmfz, Onzmglyszmfz)
	ON_COMMAND(ID_xxgm_jftrqk, Onxxgmjftrqk)
	ON_COMMAND(ID_xxgm_sysjxryqk, Onxxgmsysjxryqk)
	ON_COMMAND(ID_xxgm_syssbzk, Onxxgmsyssbzk)
	ON_COMMAND(ID_xxgm_sysslqk, Onxxgmsysslqk)
	ON_COMMAND(ID_xxgm_syssyzk, Onxxgmsyssyzk)
	ON_COMMAND(ID_xxgm_tsgdngzqk, Onxxgmtsgdngzqk)
	ON_COMMAND(ID_xxgm_tsgglryzk, Onxxgmtsgglryzk)
	ON_COMMAND(ID_xxgm_tsgsszk, Onxxgmtsgsszk)
	ON_COMMAND(ID_xxgm_tsgcsqk, Onxxgmtsgcsqk)
	ON_COMMAND(ID_sbsj_xxqktjbb, Onsbsjxxqktjbb)
	ON_COMMAND(ID_sbgl_kccx, Onsbglkccx)
	ON_COMMAND(ID_xtwh_jbr, Onxtwhjbr)
	ON_COMMAND(ID_testt, Ontestt)
	ON_COMMAND(ID_jhgl_jhcx, Onjhgljhcx)
	ON_COMMAND(ID_jhgl_jhfh, Onjhgljhfh)
	ON_COMMAND(ID_jhgl_sbjh, Onjhglsbjh)
	ON_WM_LBUTTONDOWN()
	ON_COMMAND(ID_xtbz_bbdy, Onxtbzbbdy)
	ON_COMMAND(ID_xtbz_jhgl, Onxtbzjhgl)
	ON_WM_MOUSEMOVE()
	ON_COMMAND(ID_xtbz_yszm, Onxtbzyszm)
	ON_COMMAND(ID_xtwh_pmsz, Onxtwhpmsz)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CXxglView construction/destruction
int first_flag = 0;
int first_flag1 = 0;

CXxglView::CXxglView()
{
	BOOL ret;
	HIMC himc;
	CWnd *pwnd;
	DWORD num;
	HWND himewnd;
	DWORD n1,n2;
	UINT n;
    int i,j;
	char buf[20][40];
    HKL lplist[20];	
    FILE *fpe;

	himc = ImmCreateContext(); 
	n = GetKeyboardLayoutList(20,lplist);
    for (i=0;i<n;i++){
	  ImmGetDescription(lplist[i],buf[i],40);
    }
	j = 0;
    for (i=1;i<n;i++){
		if ((unsigned)(buf[i][0]) > 128){
			g_lplist[j] = lplist[i];
			strcpy(g_srf_name[j],buf[i]);
			j ++;
		}
	}
	g_num_of_input_methods = j;

    fpe = fopen("c:\\xxsbgl\\srf.txt","rb");
	if (fpe != NULL){
	  fgets(g_cur_srf,40,fpe);
	  fclose(fpe);
	}
    
	g_yszm_flag = 0;
	mCurPage = -1;
	num_of_items = 0;
//	Cmaindlg dlg1;

//    dlg1.DoModal();

	fpe = fopen("c:\\xxsbgl\\mima.txt","rb");
	if (fpe == NULL){
	  Cxxmcmm dlg1;

	  dlg1.DoModal();
    }
	else{
	  fclose(fpe);
	}
    
}

CXxglView::~CXxglView()
{
	int j;

	for (j=0;j<num_of_items;j++)
			free(txt[j]);
}

BOOL CXxglView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CXxglView drawing

void CXxglView::OnDraw(CDC* pDC)
{
	FILE *fpe;
	int i;

	CXxglDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	// TODO: add draw code for native data here
	if (first_flag ==0){
      FILE *fpe1;
      char omima[40];

      fpe1 = fopen("c:\\xxsbgl\\zhanghao.dat","rb");
      if (fpe1 != NULL){
        get_a_line(fpe1,omima);
		if (strlen(omima) > 0)
		  omima[strlen(omima)-1] = 0;
        for (i=0;i<strlen(omima);i++){
		  omima[i] ^= 0x55;
		}
        fclose(fpe1);
	  }
      else{
		strcpy(omima,"2");
	  }


		first_flag = 1;

		Csrmmdlg dlg;
		CWnd *awnd;
		HWND hwnd;

        awnd = GetActiveWindow();
		awnd->ShowWindow(SW_SHOWMAXIMIZED);
							
	    dlg.m_zhanghao = "admin";
	    if (dlg.DoModal() == IDOK){
		  if (dlg.m_mima == omima);
		  else
			exit(-1);
		}
	    else{
		  exit(-1);
		}


//	  pwnd = GetActiveWindow();
//	  hwnd = pwnd->m_hWnd;
	}

	int j,k,n,flag;
	float bx,by;
	float width_of_cols[20];
	float height_of_rows[40];
	int rows,cols;
	int x0,y0,x1,y1,b,e;
	float x,y;
	unsigned char c,cc,ccc;
	long l,ll;
	int w,h;
	char buf[100];

	if (begin_flag == 0){
		begin_flag = 1;
	}
	if (mCurPage != -1){
	  flag = 0;
	  i = 0;
	  n = 0;
	  while (flag == 0){
		if (strcmp(txt[i],"newpage") == 0){
            n ++;
			if (n == mCurPage){
			  flag = 1;
			  b = i;
            }
        }
		    i ++;
	  }
	  flag = 0;
	  while (flag == 0){
		if (strcmp(txt[i],"endpage") == 0){
			flag = 1;
			e = i;
        }
		    i ++;
	  }
      k = 0;
	  for (i=b;i<e;i++){
		  if (strcmp(txt[i],"font") == 0){
	        pDC->SelectObject(&(fon[k]));
			k ++;
			i += 2;
          }
		  if (strcmp(txt[i],"tab") == 0){
            i ++;
			bx = atof(txt[i]);
			i ++;
			by = atof(txt[i]);
			i ++;
			cols = atoi(txt[i]);
			i ++;
			rows = atoi(txt[i]);
			for (j=0;j<cols;j++){
				i ++;
				width_of_cols[j] = atof(txt[i]);
			}
			for (j=0;j<rows;j++){
				i ++;
				height_of_rows[j] = atof(txt[i]);
			}
            for (j=0;j<=cols;j++){
				x = bx;
				for (n=0;n<j;n++)
					x += width_of_cols[n];
                x0 = x1 = x*res/2.54;
				y0 = by*res/2.54;
				y = by;
				for (n=0;n<rows;n++)
					y += height_of_rows[n];
				y1 = y*res/2.54;
				pDC->MoveTo(x0,y0);
				pDC->LineTo(x1,y1);
            }
            for (j=0;j<=rows;j++){
				y = by;
				for (n=0;n<j;n++)
					y += height_of_rows[n];
                y0 = y1 = y*res/2.54;
				x0 = bx*res/2.54;
				x = bx;
				for (n=0;n<cols;n++)
					x += width_of_cols[n];
				x1 = x*res/2.54;
				pDC->MoveTo(x0,y0);
				pDC->LineTo(x1,y1);
            }
          }
		  if (strcmp(txt[i],"text") == 0){
			  i ++;
			  bx = atof(txt[i]);
			  i ++;
			  by = atof(txt[i]);
			  i ++;
			  x0 = bx*res/2.54;
			  y0 = by*res/2.54;
              pDC->TextOut(x0,y0,txt[i],strlen(txt[i]));
          }
		  if (strcmp(txt[i],"line") == 0){
			  i ++;
			  bx = atof(txt[i]);
			  i ++;
			  by = atof(txt[i]);
			  x0 = bx*res/2.54;
			  y0 = by*res/2.54;
			  i ++;
			  bx = atof(txt[i]);
			  i ++;
			  by = atof(txt[i]);
			  x1 = bx*res/2.54;
			  y1 = by*res/2.54;
			  pDC->MoveTo(x0,y0);
			  pDC->LineTo(x1,y1);
		  }
      }
	  x0 = mPageWidth/2-0.5*res/2.54;
	  by = 0.4;
//	  x0 = bx*res/2.54;
	  y0 = by*res/2.54;
	  pDC->TextOut(x0,y0,xiaoming,strlen(xiaoming));
    }
	else{
	  CBitmap *bitmap2;
	  int re;
//	  CPalette* pPalette;
//	  COLORMAP cmap;
//	  BITMAP* pBitMap;
//	  int r,g,b;
//	  long l;
//	  BOOL re;
//	  LOGPALETTE LogPalette;
//	  HPALETTE hpalette;
/*
	  PALETTEENTRY pcolor[20];

	  pPalette = pDC->GetCurrentPalette();
	  i = pPalette->GetEntryCount();
	  for (j=0;j<20;j++){
        pPalette->GetPaletteEntries(j,1,&(pcolor[j]));
	  }
      FILE *fpe;

	  fpe = fopen("c:\\xxsbgl\\test.pal","wb");
      for (i=0;i<24;i++){
		  j = pal[i];
		  fputc(j,fpe);
	  }
	  for (i=0;i<20;i++){
		  j = pcolor[i].peRed;
		  fputc(j,fpe);
		  j = pcolor[i].peGreen;
		  fputc(j,fpe);
		  j = pcolor[i].peBlue;
		  fputc(j,fpe);
		  fputc(0,fpe);
	  }
	  for (i=20;i<256;i++){
		  j = palette[i][0];
		  fputc(j,fpe);
		  j = palette[i][1];
		  fputc(j,fpe);
		  j = palette[i][2];
		  fputc(j,fpe);
		  fputc(0,fpe);
	  }
	  fclose(fpe);
*/
//	  pPalette = pDC->GetCurrentPalette();
//	  hpalette = HPALETTE(pPalette);
//	  i = pPalette->GetEntryCount();
//	  re = ResizePalette(hpalette,40);
//	  i = pPalette->GetEntryCount();

⌨️ 快捷键说明

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