| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1354 人关注过本帖
标题:关于SetProp函数
取消只看楼主 加入收藏
shn521
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:52
注 册:2010-6-18
结帖率:73.33%
收藏
已结贴  问题点数:20 回复次数:1 
关于SetProp函数
BOOL CDoubleEdit::Attach(HWND hWnd)
{
    //将类和控件关联
    if(m_hWnd != NULL)
    {
        DebugBreak();
        return FALSE;
    }

    m_hWnd = hWnd;
    SetProp(hWnd, DOUBLE_EDIT_PROP_NAME, this);
    //修改控件过程为新的处理过程
    m_lOldProc = SetWindowLong(hWnd, GWL_WNDPROC, (long)NewEditProc);
    if (m_lOldProc == 0)
    {
        m_hWnd = NULL;
        return FALSE;
    }
    else
        return TRUE;
}

函数功能:该函数在指定窗口的属性表中增加一个新项,或者修改一个现有项。如果指定的字符串不在属性表中,那么就增加该新的项,新项中包含该字符串和句柄,否则就用指定的句柄替换该字符串的全前句柄。   函数原型:BOOL SetProp(HWND hWnd,LPCTSTR lpString,HANDLE hData);   参数:   hWnd:指向窗口的句柄,该窗口的属性表要接收一个新项。   lpString:指向以null结尾的字符串指针,或者包含一个标识字符串的原子。如果该参数是一个原子,么它必须是以前使用GlobalAddAtom函数创建的。原子是16位的数据值,它必须是放置在lpstring参数低位字中,而高位字必须为O。   hData:指向要拷贝到属性表中的数据的句柄。该数据句柄可以标识任何对应用程序有用的值。   返回值:如果该数据句柄和字符串以加到属性表中,那么返回值为非零。如果该函数失败,那么返回为零。若想获得更多错误信息,请调用GetLastError函数。
1,第三个参数是一个数据句柄,这里怎么是this了,这个是个指针啊
2,SetProp,还是没太明白这个函数到底是做什么的,一般什么时候用呢
3,控件和类关联是什么意思,一般什么时候用呢

[ 本帖最后由 shn521 于 2010-8-15 20:35 编辑 ]
搜索更多相关主题的帖子: 函数 SetProp 
2010-08-15 20:30
shn521
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:52
注 册:2010-6-18
收藏
得分:0 
以下是引用东海一鱼在2010-8-15 22:01:22的发言:

1,第三个参数是一个数据句柄,这里怎么是this了,这个是个指针啊
  HANDLE的定义为:typedef void* HANDLE  明白了吗?当然可以了。

2,SetProp,还是没太明白这个函数到底是做什么的,一般什么时候用呢
  这个函数很少使用,一般用在你想要给一个已注册的窗体类附加特殊数据时。

3,控件和类关联是什么意思,一般什么时候用呢
  控件是WINDOWS的窗体类(注意,不是C++的类啊,就是一数据结构,不过有回调函数。从某种精神上说是用C的数据结构在仿真C++的类,以达到面向对象设计的便利性。毕竟WINDOWS是用C开发的),而你自己设计得C++类并不能对WINDOWS做什莫,所以你的类必须包含这个‘WINDOWS的窗体类’成员,并对它做功,才有作用。
这也就是MFC所作的:用C++的类包含windows数据对象(各种句柄)和映射API函数。达到用面向对象的方式设计WINDOWS程序的目的。

如果你对上面的意思不能理解,建议你回头再好好看看WINDOWS SDK 程序设计。
非常感谢
2010-08-15 22:41
快速回复:关于SetProp函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017667 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved