获取窗口实例句柄

北飞 2010-04-07 03:05:59
我用一个窗口类,调用某个普通类里的函数,现在这个被调用的函数里需要对窗口的控件进行操作,请问该如何解决呢?
...全文
272 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
北飞 2010-04-12
  • 打赏
  • 举报
回复
谢谢各位,最后还是用了sendmessage解决了
shenqiabing 2010-04-07
  • 打赏
  • 举报
回复
如果是MFC的话,就传个 this 过去,如果是SDK,就传个HWND过去就行的了
finder_zhang 2010-04-07
  • 打赏
  • 举报
回复
如果你要调用函数,又是在MFC里面,当然要传this指针啦.

在你的其他类里
void Cxxx::Func(CxxxWnd* pWnd){
pWnd->Fun(); 这样就行啦.
}
当然,其他类要包一下你的窗口的头文件.
hzy694358 2010-04-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jiahan1314 的回复:]
CWnd* pDlg = CWnd::FromHandle( WND );
然后pDlg->取不到窗口的成员函数啊
[/Quote]
那不是让你自己写的函数吗,你想调用什么成员函数,就写那个函数啊
真不知道你说的取不到是什么意思
finder_zhang 2010-04-07
  • 打赏
  • 举报
回复
回8楼,你要加一个类型转换,转成你自己的窗口类型才行的.
CxxxWnd* pDlg = (CxxxWnd*)(CWnd::FromHandle( WND ));
Eleven 2010-04-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jiahan1314 的回复:]
传递HWND过去以后,如何调用窗口类里的函数呢
[/Quote]
发个自定义的消息给HWND,在该HWND类中响应该消息
北飞 2010-04-07
  • 打赏
  • 举报
回复
CWnd* pDlg = CWnd::FromHandle( WND );
然后pDlg->取不到窗口的成员函数啊
hzy694358 2010-04-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jiahan1314 的回复:]
传递HWND过去以后,如何调用窗口类里的函数呢
[/Quote]
1、如果是HWND可以用FromHandle得到指针再调用窗口类的成员函数
static CWnd* PASCAL FromHandle( HWND hWnd );
CWnd* pDlg = FromHandle( hWnd );
pDlg->窗口的成员函数

2、更简单的就是直接传指针过去,直接用指针调用
北飞 2010-04-07
  • 打赏
  • 举报
回复
传递HWND过去以后,如何调用窗口类里的函数呢
踏实每一步 2010-04-07
  • 打赏
  • 举报
回复

// 普通类
class A
{
void func(CWND* p);
};

void A::func(CWND* p)
{
p->hWnd; // 窗口句柄
}

// 窗口类
void MyWnd::()
{
A a;
a.func(this);
}

Sou2012 2010-04-07
  • 打赏
  • 举报
回复
传一个窗口句柄过去, 或是最好不要在其它类里去操作句柄。 用成员函数解决。
finder_zhang 2010-04-07
  • 打赏
  • 举报
回复
如果是MFC的话,就传个 this 过去,如果是SDK,就传个HWND过去就行的了.
kier2 2010-04-07
  • 打赏
  • 举报
回复
在调用普通类的时候传个hwnd过去啊
z8y8x 2010-04-07
  • 打赏
  • 举报
回复
你传个参数过去不就行了吗,句柄可以,this指针也可以啊

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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