📄 hdirectdraw.h
字号:
// HDirectDraw.h: interface for the CDirectDraw class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_HDIRECTDRAW_H__18E9574B_69DD_11D2_945B_0000000038B2__INCLUDED_)
#define AFX_HDIRECTDRAW_H__18E9574B_69DD_11D2_945B_0000000038B2__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "stdafx.h"
#include "stdio.h"
#include <windows.h>
#include <windowsx.h>
#include <ddraw.h>
#include "string.h"
#define PRIM_SURF 0
#define BACK_SURF 1
static BOOL SaveInfo(LPCTSTR fn, LPCTSTR msg)
{
FILE *fp;
if((fp=fopen(fn,"wt"))==NULL)
{
MessageBox(NULL,"Can't save info!","Error:",MB_OK);
return FALSE;
}
fprintf(fp,msg);
fclose(fp);
return TRUE;
}
static BOOL SaveInfo(LPCTSTR fn, DWORD val)
{
FILE *fp;
if((fp=fopen(fn,"wt"))==NULL)
{
MessageBox(NULL,"Can't save info!","Error:",MB_OK);
return FALSE;
}
fprintf(fp,"%d",val);
fclose(fp);
return TRUE;
}
class CDirectDraw
{
private:
BOOL Created;
public:
BOOL Restore();
IDirectDrawPalette * m_Palette;
BOOL m_bPaletteCreated;
UINT WindowHeight;
UINT WindowWidth;
UINT BPP;
HRESULT ErrorMessageBox(HRESULT hRet,
LPCTSTR szError,...
);
BOOL SetPalette(LPCSTR fn);
BOOL MoveTo(int x,int y);
void GetClientRect(RECT &rc);
BOOL ClearBackBuffer();
BOOL SetTimer(UINT tid,UINT dly);
BOOL CreateDDrawWnd(
HINSTANCE hInstance,
int nCmdShow,
long (FAR PASCAL * WindowProc)
(
HWND,
UINT,
WPARAM,
LPARAM
),
LPCTSTR Title="DirectDraw Window"
);
BOOL Flip();
void SetBkColor(COLORREF clr);
void SetTextColor(COLORREF clr);
void ReleaseDC();
void GetDC(LPDIRECTDRAWSURFACE7 sf);
void TextOut(int x, int y,LPCTSTR str);
BOOL CloseDDraw();
WNDCLASS wc;
HWND hWnd;
HDC hDC;
BOOL InitDDraw(
DWORD w=640,
DWORD h=480,
DWORD bpp=8,
DWORD CoLevel=DDSCL_EXCLUSIVE|DDSCL_FULLSCREEN,
DWORD bbn=1
);
CDirectDraw();
virtual ~CDirectDraw();
IDirectDraw7 * lpDD;
LPDIRECTDRAWSURFACE7 lpDDSPrimary;
LPDIRECTDRAWSURFACE7 lpDDSBack;
LPDIRECTDRAWSURFACE7 GDISurf;//GDI绘图时所针对的表面
LPDIRECTDRAWPALETTE lpDDPal;
private:
BOOL GetDCOK;
};
#endif // !defined(AFX_HDIRECTDRAW_H__18E9574B_69DD_11D2_945B_0000000038B2__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -