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

📄 termcfg.cpp

📁 vt100终端仿真程序
💻 CPP
字号:
#include "stdafx.h"

#include "cfgfile.h"

HWND	hTermDlgWnd;

HWND pBTBlock; 
HWND pBTUnderLine;
HWND pBTFlash;
HWND pBTNoFlash;
HWND pBT80;
HWND pBT132;
HWND pBTNoDisplay;
HWND pBTDisplay;
HWND pBTBack;
HWND pBTDel;

int iCurMode;
int iCurSta;
int iWidth=80;
int iEcho;
int iBackSpace;

void GetTermWnd()
{
	pBTBlock=GetDlgItem(hTermDlgWnd,IDC_RADIO1);    //模式
	pBTUnderLine=GetDlgItem(hTermDlgWnd,IDC_RADIO2);
	pBTFlash=GetDlgItem(hTermDlgWnd,IDC_RADIO3);    //状态
	pBTNoFlash=GetDlgItem(hTermDlgWnd,IDC_RADIO4);
	pBTNoDisplay=GetDlgItem(hTermDlgWnd,IDC_RADIO5); //回显
	pBTDisplay=GetDlgItem(hTermDlgWnd,IDC_RADIO6);
	pBT80=GetDlgItem(hTermDlgWnd,IDC_RADIO7);		//width
	pBT132=GetDlgItem(hTermDlgWnd,IDC_RADIO8);
	pBTBack=GetDlgItem(hTermDlgWnd,IDC_RADIO9);     //BACKSPACE键
	pBTDel=GetDlgItem(hTermDlgWnd,IDC_RADIO10);
}

void InitTermDlgItem()
{
	CCfgFile csCfgFile;

	//get config parameter
	iCurMode=csCfgFile.GetCfgItemInt(CURSORMODE);
	iCurSta=csCfgFile.GetCfgItemInt(CURSORSTATU);
	iWidth=csCfgFile.GetCfgItemInt(WIDTH);
	iEcho=csCfgFile.GetCfgItemInt(ECHO);
	iBackSpace=csCfgFile.GetCfgItemInt(BACKSPACE);

	//set current value to control
	//显示值
	if (iCurMode==0)
		SendMessage(pBTBlock,BM_SETCHECK,1,0); 
	else
		SendMessage(pBTUnderLine,BM_SETCHECK,1,0); 

	if (iCurSta==0)
		SendMessage(pBTFlash,BM_SETCHECK,1,0); 
	else
		SendMessage(pBTNoFlash,BM_SETCHECK,1,0); 

	if (iWidth==80)
		SendMessage(pBT80,BM_SETCHECK,1,0); 
	else
		SendMessage(pBT132,BM_SETCHECK,1,0); 

	if (iEcho==0)
		SendMessage(pBTNoDisplay,BM_SETCHECK,1,0); 
	else
		SendMessage(pBTDisplay,BM_SETCHECK,1,0); 

	if (iBackSpace==0)
		SendMessage(pBTBack,BM_SETCHECK,1,0); 
	else
		SendMessage(pBTDel,BM_SETCHECK,1,0); 

}

void OnTermApp()
{
	int iRet;
	CCfgFile csCfgFile;

	//get current cfg
	iRet=SendMessage(pBTBlock,BM_GETCHECK,0,0);
	if (iRet==1)
		iCurMode=0;
	else
		iCurMode=1;

	iRet=SendMessage(pBTFlash,BM_GETCHECK,0,0);
	if (iRet==1)
		iCurSta=0;
	else
		iCurSta=1;

	iRet=SendMessage(pBT80,BM_GETCHECK,0,0);
	if (iRet==1)
		iWidth=80;
	else
		iWidth=132;

	iRet=SendMessage(pBTNoDisplay,BM_GETCHECK,0,0);
	if (iRet==1)
		iEcho=0;
	else
		iEcho=1;

	iRet=SendMessage(pBTBack,BM_GETCHECK,0,0);
	if (iRet==1)
		iBackSpace=0;
	else
		iBackSpace=1;

	//write cfg parameter
	csCfgFile.SetCfgItemInt(CURSORMODE,iCurMode);
	csCfgFile.SetCfgItemInt(CURSORSTATU,iCurSta);
	csCfgFile.SetCfgItemInt(WIDTH,iWidth);
	csCfgFile.SetCfgItemInt(ECHO,iEcho);
	csCfgFile.SetCfgItemInt(BACKSPACE,iBackSpace);
}

LRESULT CALLBACK TermCfg(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	WORD wCmd;

	switch (message)
	{
		case WM_INITDIALOG:
			hTermDlgWnd=hDlg;
			GetTermWnd();
			InitTermDlgItem();
			
			return TRUE;

		case WM_COMMAND:
			wCmd=LOWORD(wParam);
			switch(wCmd){
			case IDC_APP:
				OnTermApp();

				break;

			case IDOK:
				OnTermApp();

				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;

				break;
				
			case IDCANCEL:
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;

			}

			break;

	}
    return FALSE;
}


⌨️ 快捷键说明

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