在mfc中基于对话框的static控件范围内绘制直线,为什么没反应呢,我是在OnTimer()函数中激活OnPaint() 的急!请求帮助.代码如下:(x1[],y1[]存放的是直线各点的坐标void CMyDlg::OnPaint() {if (IsIconic()){
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 06:05:03
在mfc中基于对话框的static控件范围内绘制直线,为什么没反应呢,我是在OnTimer()函数中激活OnPaint() 的急!请求帮助.代码如下:(x1[],y1[]存放的是直线各点的坐标void CMyDlg::OnPaint() {if (IsIconic()){
在mfc中基于对话框的static控件范围内绘制直线,为什么没反应呢,我是在OnTimer()函数中激活OnPaint() 的
急!请求帮助.代码如下:(x1[],y1[]存放的是直线各点的坐标
void CMyDlg::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);
}
else
{
//CDialog::OnPaint();
CRect rect;
GetDlgItem(IDC_STATIC)->GetClientRect(rect); //获取控件相对于对话框的位置
CPaintDC dc(GetDlgItem(IDC_STATIC));
dc.MoveTo(rect.right/2,rect.bottom/2);
for(int i=0;i
在mfc中基于对话框的static控件范围内绘制直线,为什么没反应呢,我是在OnTimer()函数中激活OnPaint() 的急!请求帮助.代码如下:(x1[],y1[]存放的是直线各点的坐标void CMyDlg::OnPaint() {if (IsIconic()){
在Static中绘图还是使用自绘的Static类比较好,在自绘的类中可以响应OnPaint消息进行绘图.
另外IDC_STATIC是个通用ID.所有的static控件默认都是这个ID,你要使用不同的ID来以示区别.
另:在父窗口下直接在子窗口中作图,不知道能不能绘得起来,没有测试过,你试着改一下ID看看.