用d3d在static上绘图的问题

Cacar 2008-06-04 09:34:35
绘图没问题,希望在按下esc的时候退出绘图状态,控件复原。现在按下esc整个程序都退出了,思路如下:
void CD3DClassDlg::OnButton1() 
{
// TODO: Add your control notification handler code here
// m_pCD3D.m_hWnd = this->GetSafeHwnd();
CWnd *pWnd = GetDlgItem(IDC_STATIC_DRAWER);
m_pCD3D.m_hWnd = pWnd->GetSafeHwnd();
m_pCD3D.CreateD3DDevice(m_pCD3D.m_hWnd,false);
while(1)
{
// 如果按下了ESC,则退出
if(KEYDOWN(VK_ESCAPE))
break;
// 否则绘图
m_pCD3D.Render();
}

m_pCD3D.Direct3DRelease(); // release掉d3d相关资源以外还要做其他工作?
}

请教如何修改,思路、代码、参考资料皆可。。。。谢谢
...全文
23 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
megoo1985 2008-06-09
  • 打赏
  • 举报
回复
受教也!
Cacar 2008-06-05
  • 打赏
  • 举报
回复
没想到是这个原因,呵呵,很强大,赞一个:)
Chivalry 2008-06-04
  • 打赏
  • 举报
回复
在Dialog上面有个ID为IDCANCEL的按钮,如果删除了,就自己放一个,然后把它的ID改为IDCANCEL
点击esc的时候,就是调用OnCancel函数
因此,双击IDCANCEL按钮,进入里面的函数进行你要的退出绘图状态,控件复原操作,别忘了屏蔽掉他自动生成的
CDialog::OnCancel();这句

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧