-
-
[求助]MFC中关于窗口对象,窗口资源,子类化窗口,附加窗口的一些疑惑???
-
发表于: 2021-3-20 12:04 3144
-
近期在学习wtl编程,在看别人的代码是,好几处出现窗口对象,窗口资源,子类化窗口,附加窗口的操作,感觉很绕,理不清楚逻辑关系。
基本的代码逻辑如下
CWindow A { enum { IDD = IDD_MAINDLG };// IDD_MAINDLG是窗口资源 init(); CWindow B; } init() { B.SubclassWindow(m_hWnd);//将A的成员m_hWnd作为参数执行B的SubclassWindow函数 }首先是窗口对象和窗口资源的关系,基本操作是利用IDD关联窗口资源和窗口对象:
enum { IDD = IDD_MAINDLG };
然后是关于子类化窗口和附加窗口的理解,msdn上关于子类化窗口的说明如下:
基本意思就是调用CWindow对象的subclasswindow函数将该对象和给定的窗口关联在一起(这里有点理解不太彻底)。
然后又去百度了一下,看了这篇文章d47K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2j5%4y4V1L8W2)9J5k6h3&6W2N6q4)9J5c8Y4u0S2L8X3E0#2L8U0q4Q4x3V1k6S2M7Y4c8A6j5$3I4W2i4K6u0r3k6r3g2@1j5h3W2D9M7#2)9J5c8U0f1H3y4U0t1J5y4o6b7@1和505K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2A6N6r3c8S2j5h3&6Q4x3X3g2U0L8$3#2Q4x3V1k6T1L8r3!0Y4i4K6u0r3x3U0l9H3z5g2)9J5c8U0l9^5i4K6u0r3x3U0c8Q4x3V1j5&6x3K6j5@1j5K6t1&6y4$3b7&6j5h3c8W2j5K6t1&6y4r3b7I4j5K6q4S2y4e0W2V1y4$3f1@1z5e0x3I4j5W2)9J5k6h3S2@1L8h3H3`.感觉还是有点迷糊。
我现在有点想不通的是,窗口对象A已经和窗口资源进行关联,再使用A的成员变量窗口对象B子类化窗口A,是不是可以理解为窗口B和窗口A的m_hWnd都指向同一个窗口,它们都可以操纵和改变同一个窗口(换句话说,就是两个窗口对象可以附加到同一个窗口资源上???)