本文介绍了将fn替换为Visual Studio 2017的MFC中支持的CWnd :: SubclassCtl3d()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在将一个MFC应用程序从VC6(MFC42.dll)移植到Visual Studio 2017.除了调用fn CWnd :: SubclassCtl3d()之外,其他所有内容都很好。我用谷歌搜索得到这个fn的文档,但无法获得任何有用的东西。



在VS2017的MFC中使用哪个API /成员fn我可以替换对此fn的调用? />


关于此调用的描述性评论说明:



//由于此窗口实际上是一个编辑控件但是没有$
//有"编辑"作为它的类名,为了使它正常工作,使用CTL3D,我们必须告诉CTL3D"真的是"。 a $
//编辑控件。这在CTL3D中使用一个相对较新的API。
//称为Ctl3dSubclassCtlEx。

然后调用如下:



pEdit-> SubclassCtl3d(CTL3D_EDIT_CTL);

pEdit是指向CEdit对象的指针(CEdit派生自CWnd)。

I'm porting an MFC application from VC6 (MFC42.dll) to Visual Studio 2017. Everything else built just fine except the calls to the fn CWnd::SubclassCtl3d(). I googled to get this fn's documentation but could not get anything useful.

With which API/member fn in VS2017's MFC I can replace the calls to this fn?

The descriptive comment about this calls says this:

// Since this window is really an edit control but does not
// have "edit" as its class name, to make it work correctly
// with CTL3D, we have to tell CTL3D that is "really is" an
// edit control. This uses a relatively new API in CTL3D
// called Ctl3dSubclassCtlEx.
and then the call is made like so:

pEdit->SubclassCtl3d(CTL3D_EDIT_CTL);
pEdit is a pointer to a CEdit object (and CEdit derives from CWnd).

推荐答案

我怀疑你可以删除它。自Windows 95之前就不再需要Ctl3d。

I suspect you can just remove it. Ctl3d hasn't been needed since before Windows 95.

Dave


这篇关于将fn替换为Visual Studio 2017的MFC中支持的CWnd :: SubclassCtl3d()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-21 12:51