控件消息传递给对话框,请教大虾们

fyz2841585 2012-02-24 02:23:38
我创建了一个控件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;
}
当我点击对话框里的控件时,我想在对话框中产生一条直线(其他操作也行),可是我发现,控件的操作跟对话框类联系不起来,该怎么操作,才能传递控件消息给对话框类?
...全文
137 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
fyz2841585 2012-02-24
  • 打赏
  • 举报
回复
感谢shn521,已经成功了,马上给分
fyz2841585 2012-02-24
  • 打赏
  • 举报
回复
还是报同样的错哦,
[Quote=引用 14 楼 fyz2841585 的回复:]

提示那个CEeposure的成员函数,is not a member of 'CWnd'
[/Quote]
shn521 2012-02-24
  • 打赏
  • 举报
回复
(CEeposure*)GetParent()->
shn521 2012-02-24
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 fyz2841585 的回复:]
提示那个CEeposure的成员函数,is not a member of 'CWnd'
[/Quote]
(CEeposure*)GetParent->
fyz2841585 2012-02-24
  • 打赏
  • 举报
回复
提示那个CEeposure的成员函数,is not a member of 'CWnd'
fyz2841585 2012-02-24
  • 打赏
  • 举报
回复
我试过了,没有用,该怎么办?
[Quote=引用 11 楼 fyz2841585 的回复:]

我忘记补充一点,控件有自己的类啊,当在点击控件时,进入下面的函数,而不是对话框类CEeposure的OnLButtonDown。
void ImgCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
。。。。。。。
这样写? GetParent()->
}
[/Quote]
shn521 2012-02-24
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 fyz2841585 的回复:]
我忘记补充一点,控件有自己的类啊,当在点击控件时,进入下面的函数,而不是对话框类CEeposure的OnLButtonDown。
void ImgCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
。。。。。。。
这样写? GetParent()->
}
[/Quote]
你有问这的时间早就都试完了,试了你不就知道了吗?
fyz2841585 2012-02-24
  • 打赏
  • 举报
回复
我忘记补充一点,控件有自己的类啊,当在点击控件时,进入下面的函数,而不是对话框类CEeposure的OnLButtonDown。
void ImgCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
。。。。。。。
这样写? GetParent()->
}
playStudy 2012-02-24
  • 打赏
  • 举报
回复
GetParent()->函数

自己写个函数(产生一条直线),应该可以吧
shn521 2012-02-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 fyz2841585 的回复:]
GetParent()->函数,调用的都是CWnd的函数啊,我想调用对话框类CEeposure的成员函数,改如何操作?感激不尽

引用 5 楼 shn521 的回复:

GetParent()->函数
[/Quote]
..........你试试好吗?
fyz2841585 2012-02-24
  • 打赏
  • 举报
回复
GetParent()->函数,调用的都是CWnd的函数啊,我想调用对话框类CEeposure的成员函数,改如何操作?感激不尽
[Quote=引用 5 楼 shn521 的回复:]

GetParent()->函数
[/Quote]
fyz2841585 2012-02-24
  • 打赏
  • 举报
回复
请问xianglitian,这个消息如何发的,消息结构如何?
[Quote=引用 6 楼 xianglitian 的回复:]

发个消息给父窗口
在这个消息里做你想要的操作
[/Quote]
向立天 2012-02-24
  • 打赏
  • 举报
回复
发个消息给父窗口
在这个消息里做你想要的操作
shn521 2012-02-24
  • 打赏
  • 举报
回复
GetParent()->函数
shn521 2012-02-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fyz2841585 的回复:]
使用GetParent()之后呢,我是想要点击控件后,调用对话框类CEeposure的成员函数啊

引用 1 楼 shn521 的回复:

GetParent()
[/Quote]

调用GetParent()就获得了对话框类CEeposure指针了,获得指针了就可以调用函数了啊。
罗平 2012-02-24
  • 打赏
  • 举报
回复
加消息映射函数,或在 OnCommand中判断执行。
fyz2841585 2012-02-24
  • 打赏
  • 举报
回复
使用GetParent()之后呢,我是想要点击控件后,调用对话框类CEeposure的成员函数啊
[Quote=引用 1 楼 shn521 的回复:]

GetParent()
[/Quote]
shn521 2012-02-24
  • 打赏
  • 举报
回复
GetParent()

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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