句柄获取

dianhui 2008-01-18 11:35:01
我自己重载窗口类:
class CCtrMode : public CFormView
{
...
}

我在另外一类中想取得上面我自定义的类句柄!
请问怎么做啊!
...全文
169 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
bobob 2008-01-22
  • 打赏
  • 举报
回复
只定义一个类的实例,不create的话,那就是一个空壳子,里面不会有句柄
create就是为这个类关联一个句柄。

指针和句柄的区别,句柄就是一个指针,而且是全局的,指针不一定是句柄。

你自己定义了从cformview继承的一个窗口类,比如
CCtrMode myMode;

那你要先create,指定窗口的风格,父窗口等等信息,然后可以调用GetSafeHwnd得到句柄,这个句柄是操作系统范围内唯一的,其他进程也可以使用。

Handle hWnd=myMode.GetSafeHwnd();
这个hWnd就是你要的句柄
dianhui 2008-01-21
  • 打赏
  • 举报
回复
不明白楼上在说什么!
wesen1111 2008-01-21
  • 打赏
  • 举报
回复
CCtrMode myMode;
myMode.Create(...);
....
myMode.GetSafeHwnd();

///-------------我想问问:bobob ----------
你这句:myMode.Create(...); 起什么作用啊?
创建类么?可是我自定义的这个类里并没有Create()这个函数啊?
那是不是要用构造函数来创建该类对象呢?可是问题是像这样的类,默认情况下构造函数,释构函数都是被保护的啊!不可以调用!
难道说得手动把它们改成公有的?能改吗?
望高手们明示!

myMode.Create(...); 其实是把一个类和一个对象联系起来否则myMode.GetSafeHwnd()得到的是NULL
cnzdgs 2008-01-21
  • 打赏
  • 举报
回复
高手都被下跑了。
class CCtrMode : public CFormView
{
...
}
这就相当于把CFormView类复制一份,把名字改成CCtrMode,其它地方可以做了些改动,改动记在{}里面。
dianhui 2008-01-21
  • 打赏
  • 举报
回复
高手们啊!!!!
dianhui 2008-01-21
  • 打赏
  • 举报
回复
CCtrMode myMode;
myMode.Create(...);
....
myMode.GetSafeHwnd();

///-------------我想问问:bobob ----------
你这句:myMode.Create(...); 起什么作用啊?
创建类么?可是我自定义的这个类里并没有Create()这个函数啊?
那是不是要用构造函数来创建该类对象呢?可是问题是像这样的类,默认情况下构造函数,释构函数都是被保护的啊!不可以调用!
难道说得手动把它们改成公有的?能改吗?
望高手们明示!
qq14923349 2008-01-18
  • 打赏
  • 举报
回复
findwindow
ouyh12345 2008-01-18
  • 打赏
  • 举报
回复
extern CCtrMode *pCtr;
pCtr->GetSafeHwnd();
bobob 2008-01-18
  • 打赏
  • 举报
回复
CCtrMode myMode;
myMode.Create(...);
....
myMode.GetSafeHwnd();
shelliu 2008-01-18
  • 打赏
  • 举报
回复
类哪有?类只是一种数据结构,句柄是资源才有的。
tieshashi 2008-01-18
  • 打赏
  • 举报
回复
句柄和指针不一样,比如说为什么要返回一个窗口的句柄 ,而不是返回他的指针,因为指向窗口的指针是会发生变化,于时就用一个句柄来指向指向窗口的指针,这样就。。。。。
qq14923349 2008-01-18
  • 打赏
  • 举报
回复
句柄和指针差不多阿
楼上的···
tieshashi 2008-01-18
  • 打赏
  • 举报
回复
那类句柄是什么,为什么不用指针呢,难道地址也会变动的吗?
ouyh12345 2008-01-18
  • 打赏
  • 举报
回复
对啊,所有的从CWnd类继承的类,都是窗口啊
tieshashi 2008-01-18
  • 打赏
  • 举报
回复
ouyh12345

GetSafeHwnd()是返回一个窗口的句柄吧~~~~
findwindow也是窗口吧

16,471

社区成员

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

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

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