渲染模板
来源:互联网 发布:乐乎lofter南山兵哥图 编辑:程序博客网 时间:2024/04/29 20:18
#pragma once
typedef void RENDER_FUN(void* pThis, HDC hdc);
class Server
{
public:
Server(RECT& rtDlg);
virtual ~Server(void);
void SetRenderFun(RENDER_FUN* pRender);
void Render(HDC hdc);
void Hit(POINT* ptMouse); //实现应用层逻辑控制, 应用层逻辑控制应该和win32层(或者不规范的说:系统层)逻辑控制分开实现。
private:
static void RenderDefault( LPVOID pThis, HDC hdc);
RENDER_FUN* g_pRenderFun;
RECT m_rtDlg;
HANDLE m_hMutex;
};
/////////////////////////////
#include "StdAfx.h"
#include "Server.h"
#include "../../CE600/HDCBuf.h"
Server::Server(RECT& rtDlg)
{
CopyRect(&m_rtDlg,&rtDlg);
TCHAR szID[MAX_PATH];
_stprintf(szID,_T("MUTEX_FOR_COM_CDC_%d"),__LINE__);
m_hMutex = CreateMutex(NULL,FALSE,szID);
SetRenderFun(RenderDefault);
}
Server::~Server(void)
{
if( WAIT_OBJECT_0 == WaitForSingleObject(m_hMutex,5000))
{
ReleaseMutex(m_hMutex);
}
CloseHandle(m_hMutex);
}
void Server::SetRenderFun( RENDER_FUN* pRender )
{
if( WAIT_OBJECT_0 == WaitForSingleObject(m_hMutex,INFINITE))
{
g_pRenderFun = pRender;
ReleaseMutex(m_hMutex);
}
}
void Server::Render( HDC hdc )
{
if( WAIT_OBJECT_0 == WaitForSingleObject(m_hMutex,INFINITE))
{
g_pRenderFun(this, hdc);
ReleaseMutex(m_hMutex);
}
}
void Server::Hit( POINT* ptMouse )
{
if( RenderDefault == g_pRenderFun)
{
}
}
void Server::RenderDefault( LPVOID pThis, HDC hdc )
{
Server* pServer = (Server*)pThis;
HDCBuf hdcBuf(&hdc,&(pServer->m_rtDlg));
hdcBuf.fillRect(RGB(255,0,0));
}
- 渲染模板
- 模板 渲染
- 渲染模板
- Django模板渲染
- JSRender之渲染模板
- JSRender之渲染模板
- flask使用渲染模板
- lua开发--模板渲染
- nodejs模板渲染forEach
- 前端模板与渲染
- #4 渲染模板
- ThinkPHP5 模板渲染
- ThinkPHP5 模板渲染
- ThinkPHP5 模板渲染
- ThinkPHP5 模板渲染
- Flask-模板渲染
- JSRender之渲染模板
- html渲染模板Hogan
- cpufreq 五种模式
- C和Java中函数的可变参数列表
- 自动构建工具选择(日后研究)
- [数学分析]关于数列极限符号的问题
- java堆栈之所见
- 渲染模板
- 实现百度搜索部分代码
- VirtualBox配置实现内外网络互访问
- 总结下windbg的常用命令
- 今天C班啥也没有做
- 也说中国程序员的悲哀
- 自己的日志
- 转折点----------我的IT梦
- Windows快捷键