实现渲染的多态且逻辑控制可以分散布署的技巧
来源:互联网 发布:八局网络教育 编辑:程序博客网 时间:2024/04/28 11:33
/********************************************************************
file name : g:/工具源码/WinCE/OvlManager/OvlManager/Listen.h
author : Clark
created : 27:1:2011 16:09
purpose :
*********************************************************************/
接口
typedef void RENDER_FUN(void* pThis, HDC hdc);
class CListen
{
public:
CListen(HWND hWnd, RECT rtWindows, HINSTANCEUserEx* hResource);
~CListen(void);
void Hit(POINT* ptMouse);
void Render(HDC hdc)
{
if( WAIT_OBJECT_0 == WaitForSingleObject(m_hMutex,INFINITE))
{
m_pRenderFun(this, hdc);
ReleaseMutex(m_hMutex);
}
}
void SetRenderFun( RENDER_FUN* pRender )
{
if( WAIT_OBJECT_0 == WaitForSingleObject(m_hMutex,INFINITE))
{
m_pRenderFun = pRender;
ReleaseMutex(m_hMutex);
}
}
private:
static void RenderUSBCONNECT( LPVOID pThis, HDC hdc);
static void RenderLOWPOWER( LPVOID pThis, HDC hdc);
static void RenderDESK( LPVOID pThis, HDC hdc);
static void RenderDefault( LPVOID pThis, HDC hdc);
friend static DWORD WINAPI ListenThread(LPVOID i_lparam);
RENDER_FUN* m_pRenderFun;
HANDLE m_hMutex;
};
使用
g_pListen->Render((HDC) wParam);
g_pListen->Hit(&ptMouse);
//////////////////////////
扩展的时侯可以让渲染函数以代理模式实现
总结: 用函数指针的好处是, 底层端实现了新的渲染功能后,不用对新渲染功能赋加额外的控制逻辑,从而导致控
制中心不用做出修改。
- 实现渲染的多态且逻辑控制可以分散布署的技巧
- 分散加载的实现
- Glide真的可以显示gif且能控制结束
- 【CSS技巧】文字分散对齐的方法
- 【CSS技巧】文字分散对齐的方法
- 【CSS技巧】文字分散对齐的方法
- tensorflow 复合逻辑‘且’和‘或’的实现
- 多渲染窗口的实现
- 最简单自定义实现ArrayAdapter,可以显示自己的逻辑
- 实现经纬度的转化。逻辑可以使用在Unity中
- osworkflow2.8的布署
- Spring 的 分散装配
- ARM 的分散加载
- spring的分散配置
- spring的分散配置
- 各种分散的点
- Spring的分散配置
- nasm : 使用带参数的宏实现逻辑控制
- USACO算法系列四十七——window
- nagios监控远程主机的存活、磁盘空间监控、负载监控、进程数监控、ip 连接
- 移动Web应用开发者需要了解的9个框架和工具
- 学习Java第一天
- XP或win7系统意外关机后,重启检测硬盘的问题
- 实现渲染的多态且逻辑控制可以分散布署的技巧
- 更改一个链接的文本、URL 以及 target
- 在Mac OS X下使用终端显示隐藏文件
- jndi是什么呢?原理是什么呢?与jdbc有什么区别呢?
- Android 9 patch 图片 (.9.png 格式图片) 的特点和制作
- DataGridView控件DateTime列插入DateTimePicker
- LINQ Insert/Update/Delete操作
- Android深入浅出之Surface
- poj 1988 Cube Stacking