我创建了一个控件CHotpointImgCtrl,把这个控件运用在对话框CEeposure中
BOOL CEeposure::OnInitDialog() 
{
CDialog::OnInitDialog();
CImage* pBKImage = new CImage();
pBKImage->Load("apr1.bmp");
CImage* pSelImage = new CImage();
pSelImage->Load("apr2.bmp");
m_pHpImgCtrl = new CHotpointImgCtrl(pBKImage,pSelImage);
int nWidth = pBKImage->GetWidth();
int nHeight = pBKImage->GetHeight();
RECT rc={10,10,nWidth,nHeight};
m_pHpImgCtrl->Create(NULL,"",WS_CHILD,rc,this,100000);
m_pHpImgCtrl->ShowWindow(SW_SHOW);
   return TRUE;   
}
当我点击对话框里的控件时,我想在对话框中产生一条直线(其他操作也行),可是我发现,控件的操作跟对话框类联系不起来,该怎么操作,才能传递控件消息给对话框类?

解决方案 »

  1.   

    使用GetParent()之后呢,我是想要点击控件后,调用对话框类CEeposure的成员函数啊
      

  2.   

    加消息映射函数,或在 OnCommand中判断执行。
      

  3.   


    调用GetParent()就获得了对话框类CEeposure指针了,获得指针了就可以调用函数了啊。
      

  4.   

    请问xianglitian,这个消息如何发的,消息结构如何?
      

  5.   

    GetParent()->函数,调用的都是CWnd的函数啊,我想调用对话框类CEeposure的成员函数,改如何操作?感激不尽
      

  6.   

    GetParent()->函数自己写个函数(产生一条直线),应该可以吧
      

  7.   

    我忘记补充一点,控件有自己的类啊,当在点击控件时,进入下面的函数,而不是对话框类CEeposure的OnLButtonDown。
    void ImgCtrl::OnLButtonDown(UINT nFlags, CPoint point)
    {
      。
      这样写?  GetParent()->
    }
      

  8.   

    提示那个CEeposure的成员函数,is not a member of 'CWnd'
      

  9.   

    感谢shn521,已经成功了,马上给分