Visual c++ MFC-获取动态创建的矩形的id
作为学习MFC的一部分,我遇到了这样一种情况:我在dialog类的OnPaint中动态创建了一个矩形Visual c++ MFC-获取动态创建的矩形的id,visual-c++,mfc,dynamic-controls,Visual C++,Mfc,Dynamic Controls,作为学习MFC的一部分,我遇到了这样一种情况:我在dialog类的OnPaint中动态创建了一个矩形 CPaintDC dc(this); dc.Rectangle(10,10,208,92); 我想从另一个函数中获取这个矩形的设备id。 另一个函数是同一对话框类中的BtClick事件函数 void ThreadDialog::OnBnClickedButton3() { CWnd* pWnd = FromHandle(dlg.m_hWnd); CDC* pDC = pWnd-
CPaintDC dc(this);
dc.Rectangle(10,10,208,92);
我想从另一个函数中获取这个矩形的设备id。
另一个函数是同一对话框类中的BtClick事件函数
void ThreadDialog::OnBnClickedButton3()
{
CWnd* pWnd = FromHandle(dlg.m_hWnd);
CDC* pDC = pWnd->GetDC ();
/* Here i wanted to get the device context of the rectangle drawn in OnPaint() */
}
因此,首先我需要动态创建的矩形的控件id,以便之后我能够获取该矩形的设备上下文
请帮助如何操作。CDC::Rectangle没有创建任何内容,它只是在该DC上绘制一个矩形。
没有与该绘图关联的ID或设备上下文。您是如何创建矩形的?您需要显示一些代码,因为矩形通常没有控件ID。请使用用于创建矩形的代码编辑问题。现在它不会有一个控制ID吗?如果没有,我如何让它的设备上下文绘制在它里面?其他函数在哪里?而且,它的坐标是否与上面显示的相同?对于大多数应用程序,您只需使用与绘制矩形相同的dc,然后在OnPaint中绘制矩形内部。要使其从另一个函数中提取,该函数应在窗口上调用Invalidate。这将导致生成一个新的WM_画图。@Scott..那么我应该用绘制矩形时使用的dc在矩形内绘制吗?但我应该在矩形的尺寸范围内绘制。它是?