📄 tddrawapp.h
字号:
//---------------------------------------------------------------------------
#ifndef _TDDRAWAPP_H_YBCHEN_
#define _TDDRAWAPP_H_YBCHEN_
//---------------------------------------------------------------------------
#include "TDDrawBase.h"
//---------------------------------------------------------------------------
class PACKAGE TWinApp:public TObject
{
public:
__fastcall TWinApp(HINSTANCE hInstance, int nCmdShow);
virtual __fastcall ~TWinApp(){}
virtual int __fastcall Run(void);
inline void __fastcall Close(void) { if(hWnd)PostMessage(hWnd,WM_CLOSE,0,0); }
__property HWND hWnd = { read = _hWnd };
__property HINSTANCE hInstance = { read = _hInst };
protected:
virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
virtual void __fastcall InitWindow(void);
virtual void __fastcall WndProc(Messages::TMessage &Message);
virtual void __fastcall IdleProcess(bool &Done);
private:
void __fastcall _fWndProc(Messages::TMessage &Message){WndProc(Message);}
static LRESULT CALLBACK _flpOldWndProc(HWND,UINT,WPARAM,LPARAM);
LRESULT (CALLBACK *_flpNewWndProc)(HWND,UINT,WPARAM,LPARAM);
HWND _hWnd;
int _nCmdShow;
bool _bInitHide;
HINSTANCE _hInst;
HACCEL _hAccel;
char _fCaption[255];
};
//---------------------------------------------------------------------------
class PACKAGE TDDrawApp:public TWinApp
{
public:
__fastcall TDDrawApp(HINSTANCE hInstance, int nCmdShow);
__property int ScreenWidth = { read = _ScrWidth , write = fSetScrWidth };
__property int ScreenHeight = { read = _ScrHeight, write = fSetScrHeight };
__property int ScreenBpp = { read = _ScrBpp , write = fSetScrBpp };
__property bool Active = { read = _bActive };
__property TDDrawDisplay *Display = { read = _Display };
__property LPDIRECTDRAW7 DirectDraw = { read = fGetDirectDraw };
__property LPDIRECTDRAWSURFACE7 FrontBuffer = { read = fGetFrontBuffer };
__property LPDIRECTDRAWSURFACE7 BackBuffer = { read = fGetBackBuffer };
void __fastcall (__closure *OnDispFrame)(void);
void __fastcall (__closure *OnRestFrame)(void);
void __fastcall (__closure *OnKeyboard )(int nKey, bool bPressed);
protected:
virtual void __fastcall InitWindow(void);
virtual void __fastcall WndProc(Messages::TMessage &Message);
virtual void __fastcall IdleProcess(bool &Done);
virtual void __fastcall EvInitDDraw(void) {}
virtual void __fastcall EvUninitDDraw(void) {}
virtual void __fastcall EvDisplayFrame(void) { if(OnDispFrame)OnDispFrame(); else Display->Clear(); }
virtual void __fastcall EvRestoreSurfaces(void) { if(OnRestFrame)OnRestFrame(); }
virtual void __fastcall EvKeyboard(int nKey, bool bPressed) { if(OnKeyboard)OnKeyboard(nKey,bPressed); }
private:
inline void __fastcall fSetScrWidth(int w) { _ScrWidth = w; }
inline void __fastcall fSetScrHeight(int h) { _ScrHeight = h; }
inline void __fastcall fSetScrBpp(int b) { _ScrBpp = b; }
inline LPDIRECTDRAW7 __fastcall fGetDirectDraw (void) { return _Display->DirectDraw; }
inline LPDIRECTDRAWSURFACE7 __fastcall fGetFrontBuffer(void) { return _Display->FrontBuffer; }
inline LPDIRECTDRAWSURFACE7 __fastcall fGetBackBuffer (void) { return _Display->BackBuffer; }
void __fastcall fInitDDraw(void);
void __fastcall fUninitDDraw(void);
TDDrawDisplay *_Display;
bool _bActive;
int _ScrWidth, _ScrHeight, _ScrBpp;
};
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -