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

📄 myframe.h

📁 winsail v2.0是用于DOS下的图形界面空间系统
💻 H
📖 第 1 页 / 共 4 页
字号:
        return (this->Swapping());
    }
	HANDLE	 CreateWindow(int nX,int nY,int nWidth,int nHeight, const char *strCaption);

private:
	BOOL     DoWithMoveWindow(int nX, int nY);
    CObject*     GetDefaultObject(int* pnFocus);
    int    SwapFocus(int nOld, int nNew, BOOL bKillOld, BOOL bSetNew);
public:
	virtual void    OnIdle();
	virtual void    OnTime();
	virtual void    OnDraw();

	virtual void  far KeyF3();
	virtual void  far KeyF1();
	virtual void  far KeyF2();
	virtual void  far KeyCtrlF1();
	virtual void  far KeyCtrlF2();
	virtual void  far KeyCtrlF3();

    virtual int  Swapping();


	BOOL    Center();
	void    Paint();
	BOOL    ShowFrame();
	BOOL	ShowWindow(DWORD dwStyle=MB_OK);
	void    Paint(int nLeft,int nTop,int nRight,int nBottom);
public:
	void    CoWindow();
	CWindow();
	CWindow(CObject *pParent);
	~CWindow();
};

class _CLASSTYPE  CDialog :public CWindow
{
public:
	int    DoModal();
    static CDialog* LoadDialog(char *pStrFile);
public:
	void  CoDialog();
	CDialog();
	CDialog(CObject* pParent);
	~CDialog();
};

class _CLASSTYPE CMessageDialog:public CDialog
{
public:
	int  CreateMessageDialog(int nLeft,int nTop,int nWidth,int nHeight,DWORD dwStyle);

public:
	void CoMessageDialog();
	CMessageDialog();
	CMessageDialog(CObject *pParent);
	~CMessageDialog();
};

class _CLASSTYPE CButton:public CObject
{
protected:
	char    m_strCaption[80];
    BOOL    m_bDefaultFlags;
public:
	void   SetCaption(const char *pStr){_fstrcpy(m_strCaption,pStr);};
	char*  GetCaption(){return(m_strCaption);}
public:
    BOOL   GetDefaultFlags(){return (m_bDefaultFlags);}
    void   SetDefaultFlags(BOOL bFlags){m_bDefaultFlags = bFlags;}
public:
	void   KillFocus();
	void   SetFocus();

	BOOL   Show();
	BOOL   AntiShow();
public:
	void CoButton();
	CButton();
	CButton(CObject *pParent);
	~CButton();
};

class _CLASSTYPE CMinButton :public CButton
{
public:
	BOOL Show();
	BOOL AntiShow();
public:
	CMinButton();
	CMinButton(CObject *pParentWnd=NULL);
};

class _CLASSTYPE CMaxButton :public CButton
{
public:
	BOOL Show();
	BOOL AntiShow();
public:
	CMaxButton();
	CMaxButton(CObject *pParentWnd);
};

class _CLASSTYPE CCloseButton :public CButton
{
public:
	BOOL Show();
	BOOL AntiShow();
public:
	CCloseButton();
	CCloseButton(CObject *pParent);
};

class _CLASSTYPE CBar:public CObject
{
protected:
          CMenu* m_pMenu;
protected:
	int m_nActivateForeColor;
	int m_nActivateBackColor;
	int m_nInactivateForeColor;
	int m_nInactivateBackColor;

	int m_nLocationPoint;
	CListManager m_ListManagerBar;
public:
	CListManager* GetListManagerBar(){return(&m_ListManagerBar);}

	int    GetCount();
	char*  GetItemCaption(int nIndex);
	char*  GetItemIcon(int nIndex);
	int    GetItemAttrib(int nIndex);
	void far  (*GetFc())(CObject*);
	void far  (*GetItemFc(int))(CObject*);
	int    GetIndex(){return(m_nLocationPoint);}
	BOOL   SetItemBar(int nIndex,CBar* pBar);
	CBar*  GetItemBar(int nIndex);


	void    SetMenu(CMenu *pMenu){m_pMenu = pMenu;}
	CMenu   *GetMenu(){return(m_pMenu);}
protected:
    int     DoWithMove(int nY, int nOldLocation, BOOL bComp);
    void    ShowCoordinate(int nX, int nY, int nColor);
public:
	BOOL    AddItem(char *pStr,void far (*pFc)(CObject*)=NULL,char* strIcon=NULL,int nAttrib = BAR_ATTRIB_NORMAL);
    BOOL    AddSeparator();

	void    DisplaySel(int nPoint, BOOL bFlags = TRUE);

public:
	BOOL  ShowBar(BOOL bFlags = TRUE);
	BOOL  Show();

	void    DoWithMove();
        int     Swapping();
public:
	void CoBar();
	CBar();
	CBar(CObject *pParent);
	~CBar();
};

class _CLASSTYPE CMenu:public CObject
{
private:
	int m_nActivateForeColor;
	int m_nActivateBackColor;
	int m_nInactivateForeColor;
	int m_nInactivateBackColor;
	int m_nLocationPoint;

	CListManager m_ListManagerMenu;
	BOOL m_bActive;
public:
	BOOL GetActive(){return(m_bActive);}
	void SetActive(BOOL bActive){m_bActive = bActive;}
public:
	CListManager* GetListManagerMenu(){return(&m_ListManagerMenu);}

	void far (*GetBarFc())(CObject*);
	void far (*GetItemFc(int))(CObject*);

	char*   GetItemCaption(int nIndex);
	CBar*   GetItemBar(int nIndex);
	BOOL	AddItem(char *pStr,CBar *pBar=NULL,void far (*pFc)(CObject*)=NULL);

	int     GetCount();
	void    SetIndex(int nIndex)
	{
		int nTotalCount = GetCount();
		if(nIndex < nTotalCount)
		{
			m_nLocationPoint=nIndex;
		}
	}
    int     GetIndex(){return(m_nLocationPoint);}

	void    DisplaySel(int nPoint,int nFlags=TRUE);

protected:
    int     DoWithMove(int nX, int nY, int nOldLocation, BOOL bComp);

public:
	BOOL	Show(BOOL bFlags);
	BOOL    Show();
	int     Swapping();

    static void far ClickMenuButton(CObject*);
public:
	void   CoMenu();
	CMenu();
	CMenu(CObject *pParent);
	~CMenu();
};

class CGrid:public CObject
{
private:
        CXmsMemory m_XmsMemory;

        DWORD m_dwItemIndex;
        DWORD m_dwVolumnIndex;
        DWORD m_dwItemCursor;
        DWORD m_dwVolumnCursor;

        DWORD m_dwItemCount;
        DWORD m_dwVolumnCount;
private:
	BOOL   m_bNumber;
	BOOL   m_bOnlyRead;
	void far (*m_pCopyGridFc)(CObject*);
	void far (*m_pPasteGridFc)(CObject*);
private:
        CEdit* m_pEdit;
        CRadio* m_pRadioBox;
        CHScrollBar* m_pScrollBarH;
        CVScrollBar* m_pScrollBarV;
public:
	void SetCopyGridFc(void far (*pCopyGridFc)(CObject*)){m_pCopyGridFc=pCopyGridFc;}
	void SetPasteGridFc(void far (*pPasteGridFc)(CObject*)){m_pPasteGridFc=pPasteGridFc;}
public:
        void  SetVolumnCaption(DWORD dwVolumn, char* pCaption);
        void  SetVolumnWidth(DWORD dwVolumn, int nWidthCh);
        void  SetVolumnAttrib(DWORD dwVolumn, int nStyle);
        void  SetVolumnRadioStyle(DWORD dwVolumn, int nStyle);
        char* GetVolumnCaption(DWORD dwVolumn);
        int   GetVolumnWidth(DWORD dwVolumn);
        int   GetVolumnAttrib(DWORD dwVolumn);
        int   GetVolumnRadioStyle(DWORD dwVolumn);

        DWORD CalcEnableVolumnCount();
        DWORD CalcEnableItemCount();

        void DisplayEdit(DWORD dwItemCursor, DWORD dwVolumnCursor, BOOL bEditShow);
        void DisplayEdit(BOOL bEditShow = TRUE);
		void DisplayData();
        void DisplayLine(DWORD dwLine);
public:
       void  SetOnlyRead(BOOL bFlags){m_bOnlyRead=bFlags;}
       void  SetNumberFlags(BOOL bFlags){m_bNumber=bFlags;}

       void  SetItemCaption(DWORD dwItem, char* pStr){SetSel(dwItem, 0 , pStr);}
       void  SetSel(DWORD dwItem, DWORD dwIndex, char* pStr);
       char* GetSel(DWORD dwItem, DWORD dwIndex);

       DWORD GetItemIndex(){return(m_dwItemIndex);}
       DWORD GetItemCursor(){return(m_dwItemCursor);}
       DWORD GetVolumnIndex(){return(m_dwVolumnIndex);}
       DWORD GetVolumnCursor(){return(m_dwVolumnCursor);}
       void  SetItemIndex(DWORD dwIndex){m_dwItemIndex=dwIndex;}
       void  SetItemCursor(DWORD dwCursor){m_dwItemCursor=dwCursor;}
       void  SetVolumnIndex(DWORD dwIndex){m_dwVolumnIndex = dwIndex;}
       void  SetVolumnCursor(DWORD dwCursor){m_dwVolumnCursor=dwCursor;}
       void  SetItemCount(DWORD dwCount);
       void  SetVolumnCount(DWORD dwCount);
       DWORD GetItemCount(){return(m_dwItemCount);}
       DWORD GetVolumnCount(){return(m_dwVolumnCount);}
       DWORD GetItemPoint(){return(m_dwItemIndex + m_dwItemCursor);}
       DWORD GetVolumnPoint(){return(m_dwVolumnIndex + m_dwVolumnCursor);}

private:
       DWORD   GetMouseCursorV(int nMouseX);
       virtual void UpdateData(DWORD nIndexH,DWORD nIndexV,BOOL bFlags=TRUE);
public:

       CEdit* GetEdit(){return(m_pEdit);}
       BOOL IsCeilVisible(DWORD dwItem, DWORD dwVolumn);
	   HWND CreateGridEx(int nLeft, int nTop, int nWidth, int nHeight, const char* pStr = NULL);
	   HWND CreateGrid(int nLeft, int nTop, int nRight, int nBottom, const char* pStr = NULL);

       void  ModifyCoordinate();
       BOOL Show();
       void Paint();

       void   ModifyEditLocation();
       void   DisplaySel(DWORD  dwItem, DWORD dwVolumn, BOOL bFocus = FALSE);
       void   DisplayVolumnCaption();

       int    Swapping();
       int    TransrateEditMessage();
public:
       CGrid(CObject *);
       ~CGrid();
};

class _CLASSTYPE   CEdit:public CObject
{
protected:
	char  m_strBuffer[EDIT_BUFFER_SIZE];

	int   m_nIndex;
	int   m_nTotalCount;
	int   m_nMaxCount;
	int   m_nCursor;
	BOOL  m_bModify;

	BOOL  m_bOnlyRead;
	BOOL  m_bNumber;
	BOOL  m_bPassword;
	BOOL  m_nDelayCursor;

	struct time  m_Time;
protected:
	int   AddChar(int nKey,int nChar);
	int   AddChar(int nChar);

	void  SetCursorToEnd();
	void  ShareCursor();

    int   GetEnableDisplayCount();
    void  ShowCursor(BOOL bShow, BOOL bCloseMouse);
public:
    static BOOL IsNumberKey(int nKey, BOOL bDot, BOOL bSub);

	BOOL  GetModify(){return(m_bModify);}
	void  SetModify(BOOL bValue){m_bModify=bValue;}
	void  SetMaxCount(int nCount);

	BOOL  GetOnlyRead(){return(m_bOnlyRead);}
	void  SetOnlyRead(BOOL bFlags){m_bOnlyRead=bFlags;}

    void  SetIndex(int nIndex){m_nIndex = nIndex;}
    void  SetCursor(int nCursor){m_nCursor = nCursor;}

	int   GetIndex(){return(m_nIndex);}
	int   GetCursor(){return(m_nCursor);}
	int   GetTotalCount(){return(m_nTotalCount);}
	void  SetNumberFlags(BOOL bFlags){m_bNumber=bFlags;}
	void  SetPasswordFlags(BOOL bFlags){m_bPassword=bFlags;}

	char  *GetBuffer(){return(m_strBuffer);}
	void  SetBuffer(const char *pStr);
public:
	void  KillFocus();
	void  SetFocus();
public:
	BOOL  Show();
	void  Paint();
	int   Swapping();
public:
	void CoEdit();
	CEdit();
	CEdit(CObject *pParent);
	~CEdit();
};


class CMultiEdit:public CEdit
{
private:
       BOOL m_bPrivate;

       CVScrollBar* m_pScrollBarV;
public:
       BOOL m_bFocus;
	long m_dwIndexRow;
	long m_dwCursorRow;
    long m_dwIndexCol;
    long m_dwCursorCol;

	CXmsMemoryListingManager m_XmsMemoryData;
private:
	//BOOL  FindEmptyLocation(DWORD* pdwLocation, int nSize, XMS_MEMORY_BLOCK2* pXms);
	//BOOL  InsertEmptyLocation(DWORD dwIndex, char* pStr, XMS_MEMORY_BLOCK2* pXms);
	//BOOL  AddEmptyLocation(DWORD dwAdd);
	//BOOL InitXmsListing(DWORD dwSize);
    //void Debug();

    int GetMaxRowCount();
	int GetTrueSize(int nLength);
    void GetCurrentRect(RECT* pRc);
    int  ModifyEditBuffer(char* pStr, int nBufferSize);

public:
    BOOL GetLineText(DWORD dwIndex, char* pStr, XMS_MEMORY_BLOCK2* pXms);
    BOOL SetLineText(DWORD dwIndex, char* pStr);

	BOOL LoadFile(const char* pStr);
	BOOL SaveFile(const char* pStr);

	void  SetWindowText(const char far *pStr);
	char* GetWindowText(char far *pStr);

public:
    HANDLE CreateObject(int nX, int nY, int nWidth, int nHeight, const char far *pStr);

⌨️ 快捷键说明

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