📄 myframe.h
字号:
/*-----------------------------------------------------------------------*/
/* FS-MTS 1.0 Ver. */
/* Copyright (C) 2002 FIRST SAIL */
/* All Rights Reserved */
/* Warning: */
/* This program author is GuoHeng,this system is protected */
/* by copyright law and international Treaties . Unauthorized */
/* reproduction of distribution of this system, or any portion */
/* of it , may result in severe civil and criminal penalties , */
/* and will be prosecuted to the maximum extern possible under */
/* the law. */
/* */
/* Update Date:2002-06-25 */
/* Update Time:22:35:00 */
/*-----------------------------------------------------------------------*/
#ifndef _MYFRAME_H__
#define _MYFRAME_H__
/***********************************/
#include <stdlib.h>
#include <stdio.h>
#include <bios.h>
#include <io.h>
#include <conio.h>
#include <graphics.h>
#include <dir.h>
#include <string.h>
#include <alloc.h>
#include <dos.h>
#include <time.h>
#include <math.h>
#include <malloc.h>
#include <Symbol.h>
#include <Mouse.h>
#include <Memory.h>
#include <HglgPrit.h>
#include <DownComm.h>
#include <Register.h>
#include <Listing.h>
#include <SVga_Dev.h>
#include <Kernel.h>
#include <Graph.h>
#include <Socket3.h>
#include <NewMath.h>
//#include <NewMath.h>
//#include <barcode.h>
//#include <Relay.h>
#define GROBAL_CHARACTER_MAX 30
_CLASSDEF(CObject);
_CLASSDEF(CWindow);
_CLASSDEF(CButton);
_CLASSDEF(CMinButton);
_CLASSDEF(CMaxButton);
_CLASSDEF(CCloseButton);
_CLASSDEF(CEdit);
_CLASSDEF(CDialog);
_CLASSDEF(CBar);
_CLASSDEF(CMenu);
_CLASSDEF(CRadio);
//_CLASSDEF(CList);
_CLASSDEF(CScrollBar);
_CLASSDEF(CHScrollBar);
_CLASSDEF(CVScrollBar);
_CLASSDEF(CListBox);
_CLASSDEF(CComboBox);
#ifndef CTRL_BASE
#define CTRL_BASE
#define OBJECTBASE 0001
#define LABELBASE 1001
#define EDITBASE 2001
#define LISTBASE 3001
#define COMBOBASE 4001
#define RADIOBASE 5001
#define CHECKBASE 6001
#define BUTTONBASE 7001
#define TOOLSBASE 9001
#define HSCROLLBASE 10001
#define VSCROLLBASE 20001
#define GRIDBASE 21001
#define GROUPBASE 22001
#define GRAPHBASE 23001
#define SLIDERBASE 24001
#define PROGRESSBASE 25001
#define SPINBASE 26001
#endif
#define MESSAGE_DIALOG_EXTRA 10
#define FILEDIALOG_ATTRIB (FA_RDONLY|FA_SYSTEM|FA_DIREC|FA_ARCH)
/***********************************/
#define NULL_SORT (0x00000000L)
#define OBJECT_SORT (0x00000001L )
#define WINDOW_SORT (0x00000002L|OBJECT_SORT)
#define DIALOG_SORT (0x00000004L|WINDOW_SORT)
#define MESSAGE_SORT (0x00000008L|DIALOG_SORT)
#define PASSWORD_SORT (0x00000010L|DIALOG_SORT)
#define BUTTON_SORT (0x00000020L|OBJECT_SORT)
#define MINBUTTON_SORT (0x00000040L|BUTTON_SORT)
#define MAXBUTTON_SORT (0x00000080L|BUTTON_SORT)
#define CLOSEBUTTON_SORT (0x00000100L|BUTTON_SORT)
#define EDIT_SORT (0x00000200L|OBJECT_SORT)
#define GRID_SORT (0x00000400L|OBJECT_SORT)
#define BAR_SORT (0x00000800L|OBJECT_SORT)
#define MENU_SORT (0x00001000L|OBJECT_SORT)
#define RADIO_SORT (0x00002000L|OBJECT_SORT)
#define LABEL_SORT (0x00004000L|OBJECT_SORT)
#define LIST_SORT (0x00008000L|OBJECT_SORT)
#define SCROLL_SORT (0x00010000L|OBJECT_SORT)
#define HSCROLL_SORT (0x00020000L|SCROLL_SORT)
#define VSCROLL_SORT (0x00040000L|SCROLL_SORT)
#define COMBO_SORT (0x00100000L|OBJECT_SORT)
#define SLIDER_SORT (0x00200000L|OBJECT_SORT)
#define PROGRESS_SORT (0x00400000L|OBJECT_SORT)
#define SPIN_SORT (0x00800000L|OBJECT_SORT)
/***********************************/
#define GRID_ATTRIB_NULL 0
#define GRID_ATTRIB_BOX 1
/***********************************/
#define GRID_RADIO_BOX 0
#define GRID_RADIO_RADIO 1
/***********************************/
#define BAR_ATTRIB_NORMAL 0
#define BAR_ATTRIB_DIR 1
#define BAR_ATTRIB_SEPARATOR 2
/***********************************/
typedef struct _tagOBJECTLIST
{
CObject *object;
void far (*fc)(CObject* pCurObj);
SORT sort;
DWORD idCode;
}OBJECTLIST;
/***********************************/
class _CLASSTYPE CObject
{
public:
RECT m_ClientRect;
RECT m_ScreenRect;
protected:
int m_nShape;
int m_nForeColor;
int m_nBackColor;
BOOL m_bVisible;
BOOL m_bSaveScreen;
BOOL m_bEnable;
BOOL m_bTab;
char *m_pWindowText;
protected:
WORD m_wShortcutKey;
WORD m_wID;
HANDLE m_hWnd;
SORT m_dwSort;
DWORD m_dwBlock;
CObject *m_pParentWnd;
CListManager m_ListManager;
public:
CListManager* GetListManager(){return(&m_ListManager);}
int far VirtualKeyboard();
static BOOL StartControlView(struct viewporttype* pView);
static void EndControlView(struct viewporttype* pView, BOOL bMouse);
public:
int GetBackColor(){return(m_nBackColor);}
int GetForeColor(){return(m_nForeColor);}
int GetShape(){return(m_nShape);}
void SetShape(int nShape){m_nShape=nShape;}
void SetCircle( int nXCircle,int nYCircle,int nRadus);
void SetEllipse(int nXCircle,int nYCircle,int nXRadus,int nYRadus);
void SetSaveScreen(BOOL bFlags){m_bSaveScreen = bFlags;}
BOOL GetSaveScreen(){return(m_bSaveScreen);}
void SetShortcutKey(WORD wKey){m_wShortcutKey=wKey;}
WORD GetShortcutKey(){return(m_wShortcutKey);}
BOOL GetVisible(){return(m_bVisible);}
void SetVisible(BOOL bVisible){m_bVisible=bVisible;}
void SetTab(BOOL bTab);//{m_bTab = bTab;}
BOOL GetTab(){return(m_bTab);}
void SetWindowText(const char far *pStr);
char far *GetWindowText(){return(m_pWindowText);}
protected:
void SetSort(SORT dwSort);//{m_dwSort=dwSort;}
HANDLE AddWndList(HANDLE hWnd);
void ClearWndList();
HANDLE Register();
void SetChildFocus(int nIndex,CObject *CObject,SORT dwSort);
void KillChildFocus(int nIndex,CObject *CObject,SORT dwSort);
BOOL far GetDisplayMemToXms(int,int,int,int);
BOOL far SetXmsToDisplayMem(int, int);
public:
SORT GetSort(){return(m_dwSort);}
WORD GetID(){return(m_wID);}
void SetID(WORD wID){m_wID=wID;}
void SetFc(void far (*pFc)(CObject*)=NULL);
void ClearObjectFromList(CObject* pOriObject);
CObject* ObjectFromID(WORD wID);
public:
BOOL IsScreenRect(int nX,int nY);
BOOL IsClientRect(int nX,int nY);
void AddLeft( int nAdd){m_ScreenRect.left +=nAdd , m_ClientRect.left+=nAdd;}
void AddTop( int nAdd){m_ScreenRect.top +=nAdd , m_ClientRect.top+=nAdd;}
void AddRight (int nAdd){m_ScreenRect.right +=nAdd , m_ClientRect.right+=nAdd;}
void AddBottom(int nAdd){m_ScreenRect.bottom+=nAdd , m_ClientRect.bottom+=nAdd;}
public:
HANDLE CreateObject(int nX, int nY, int nWidth, int nHeight, const char far *pStr);
CObject *GetParent(){return(m_pParentWnd);}
void SetParent(CObject *pParentWnd){m_pParentWnd = pParentWnd;}
HANDLE GetSafeHwnd(){return(m_hWnd);}
CObject* GetSafeTopParent();
BOOL far SaveScreen();
BOOL far RestoreScreen();
void SetEnable(BOOL bEnable);// {m_bEnable = bEnable;}
BOOL GetEnable(){return(m_bEnable);}
BOOL CenterScreen();
public:
void GetScreenRect(RECT *pRect){*pRect = m_ScreenRect;}
void GetClientRect(RECT *pRect){*pRect = m_ClientRect;}
int GetClientWidth() {return(m_ClientRect.right -m_ClientRect.left+1);}
int GetClientHeight(){return(m_ClientRect.bottom -m_ClientRect.top +1);}
int GetScreenWidth() {return(m_ScreenRect.right -m_ScreenRect.left+1);}
int GetScreenHeight(){return(m_ScreenRect.bottom -m_ScreenRect.top +1);}
void SetForeColor(int nColor){m_nForeColor=nColor;}
void SetBackColor(int nColor){m_nBackColor=nColor;}
public:
BOOL IsChar(WORD wKey, BOOL bChinese);
void SetLocationEx(int nLeft,int nTop,int nWidth,int nHeight);
void SetLocation(int nLeft,int nTop,int nRight,int nBototm);
virtual void ModifyCoordinate();
virtual void AddCoordinate(int nX,int nY);
virtual void SetCaption(const char *);
virtual void KillFocus(){};
virtual void SetFocus(){};
virtual void OnDraw();
virtual void Paint();
virtual BOOL ShowFrame();
virtual BOOL Show();
virtual BOOL AntiShow();
public:
virtual int Swapping();
protected:
int DefaultSwapping();
public:
void ShowPlane();
void ShowWindowFrame();
void ShowDialogFrame();
BOOL ButtonShow();
BOOL SingleShow();
BOOL EditShow();
BOOL MenuShow();
BOOL ButtonAntiShow();
BOOL AllObjectShow(int nFlags);
BOOL DrawAnimate(CObject *pObject,SORT dwSort);
public:
BOOL ButtonAntiShowBoard();
BOOL ButtonShowBoard();
public:
BOOL CoObject();
CObject();
CObject(CObject* pParent);
virtual ~CObject();
};
class _CLASSTYPE CLabel:public CObject
{
private:
BOOL m_bDisplayBitmap;
char m_strDisplayBitmap[80];
BOOL m_bBackColorDisplay;
COLOR m_nBitmapColor;
public:
void SetBackColorDisplay(BOOL bFlags){m_bBackColorDisplay=bFlags;}
int GetBackColorDisplay(){return(m_bBackColorDisplay);}
public:
BOOL Show();
public:
void SetBitmapFlags(BOOL bValue){m_bDisplayBitmap=bValue;}
void SetBitmapFile(char *pStr){_fstrcpy(m_strDisplayBitmap,pStr);}
BOOL GetBitmapFlags(){return(m_bDisplayBitmap);}
char* GetBitmapFile(){return(m_strDisplayBitmap);}
void SetBitmapColor(int nColor){m_nBitmapColor = nColor;}
int GetBitmapColor(){return(m_nBitmapColor);}
public:
void SetFocus();
void KillFocus();
public:
void CoLabel();
CLabel();
CLabel(CObject *pParent);
};
class CStatic:public CLabel
{
public:
virtual BOOL Show();
public:
CStatic(CObject* pParent);
};
class _CLASSTYPE CWindow:public CObject
{
protected:
char m_strCaption[80];
char m_strIcon[60];
COLOR m_nClientForeColor;
COLOR m_nClientBackColor;
COLOR m_nActivateBarForeColor;
COLOR m_nActivateBarBackColor;
COLOR m_nInactivateBarForeColor;
COLOR m_nInactivateBarBackColor;
BOOL m_bFirstShowWindow;
DWORD m_dwStyle;
int m_nFocus;
int m_nFont;
BOOL m_bActivate;
BOOL m_bChangeWindowOrder;
BOOL m_bRunNormal;
struct time m_Time;
protected:
CMenu* m_pMenu;
void far (*m_pHelpFc)(CObject*);
int far (*m_pKeyboardFc)(CObject*);
void far (*m_pDrawFc)(CObject*);
void far (*m_pRightButtonDownFc)(CObject*);
void far (*m_pIdleFc)(CObject*);
void far (*m_pTimeFc)(CObject*);
public:
void SetCaption(const char *pStr){_fstrcpy(m_strCaption,pStr);};
char* GetCaption(){return(m_strCaption);}
void SetActivateBarBackColor(int nColor){m_nActivateBarBackColor=nColor;}
int GetShortcutKeyFocus(WORD wKey);
CMenu *GetMenu(){return(m_pMenu);}
void SetMenu(CMenu *pMenu){m_pMenu=pMenu;}
void SetIcon(char *pStr);
char* GetIcon(){return(m_strIcon);};
DWORD GetStyle(){return(m_dwStyle);}
void SetClientForeColor(int nColor){m_nClientForeColor=nColor;}
void SetClientBackColor(int nColor){m_nClientBackColor=nColor;}
void SetActivate(BOOL bFlags) {m_bActivate =bFlags;}
BOOL GetActivate(){return(m_bActivate);}
void SaveAndSetUserView(viewporttype *pViewPort);
void RestoreUserView(viewporttype *pViewPort);
void far (*GetHelpFc())(CObject*){return(m_pHelpFc);};
void far (*GetIdleFc())(CObject*){return(m_pIdleFc);};
void far (*GetTimeFc())(CObject*){return(m_pTimeFc);};
int far (*GetKeyboardFc())(CObject*){return(m_pKeyboardFc);};
void SetRightMouseFc(void far (*pFc)(CObject*)){m_pRightButtonDownFc=pFc;}
void SetHelpFc(void far (*pFc)(CObject*)=NULL){m_pHelpFc=pFc;}
void SetIdleFc(void far (*pFc)(CObject*)=NULL){m_pIdleFc=pFc;}
void SetTimeFc(void far (*pFc)(CObject*)=NULL){m_pTimeFc=pFc;}
void SetKeyboardFc(int far (*pFc)(CObject*)=NULL){m_pKeyboardFc=pFc;};
void SetDrawFc(void far (*pFc)(CObject*)=NULL){m_pDrawFc=pFc;};
public:
static BOOL far ChangeWindow(HANDLE hWnd,BOOL bFlags);
static BOOL DisplayFrameIcon(int nLeft,int nTop,char *strIcon);
void SetChangeWindowOrder(BOOL bChange){m_bChangeWindowOrder = bChange;}
BOOL GetChangeWindowOrder(){return(m_bChangeWindowOrder);}
void SetRunNormal(BOOL bNormal){m_bRunNormal = bNormal;}
BOOL GetRunNormal(){return(m_bRunNormal);}
int GetFirstFocus();
void SetObjectFocus(CObject *pObject);
CObject* GetObjectFocus();
int TransrateMenu();
int PurseMessage()
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -