怎么在对话框中画图 映射WM_PAINT消息。在OnPaint函数中画图。如果嫌屏幕闪烁,再映射WM_ERASEBKGND消息,在OnEraseBkgnd函数中直接返回TURE就可以了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在OnPaint()函数中画图找好你要画图的对话框中的区域,直接用dc画 可以直接用MFC的CDC * pDC,pDC->...调用那些函数就可以直接在对话框画了。 比如我的对话框中有个按钮控件ID号为IDC_BUTTON,我想在按钮上画椭圆.写了如下代码为什么不能达到目的/???void CChap732Dlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); CButton *pWnd=(CButton*)GetDlgItem(IDC_BUTTON); pWnd->GetClientRect(rect); CDC *pDC=pWnd->GetDC(); pDC->Ellipse(rect); } else { CDialog::OnPaint(); }} 应该不难吧,和在SDI下应该是差不多的. 在按钮上画椭圆,可以先在资源位图里画出一幅位图,然后在按钮上直接回载位图即可,方便快捷。m_hBitmap = ::LoadBitmap(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAPDL)); m_btn.SetBitmap(m_hBitmap); 看看windows程序设计 图形基础一章 [求助]new CSocketFile(this)出现报错。 http链接,调用了系统哪个api函数? 求VC和C#对应的加密解密类 获取本地IP地址时的数据类型问题 免费视频在线自动转码软件( to FLV )VCS,VCC(-去除5M限制) 怎么知道系统中有窗口弹出??? opnegl的坐标系问题 我的串口程序,有点问题,请大家帮忙休整一下:) 咋打开(不给分时小狗) 请教大虾:Ado中如何得到数据库表的名字? 关于CFILEDIALOG的奇怪问题。。。 CString的连接
找好你要画图的对话框中的区域,直接用dc画
调用那些函数就可以直接在对话框画了。
void CChap732Dlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon
dc.DrawIcon(x, y, m_hIcon);
CButton *pWnd=(CButton*)GetDlgItem(IDC_BUTTON);
pWnd->GetClientRect(rect);
CDC *pDC=pWnd->GetDC();
pDC->Ellipse(rect); }
else
{
CDialog::OnPaint();
}
}
m_hBitmap = ::LoadBitmap(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAPDL));
m_btn.SetBitmap(m_hBitmap);