首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将 MFC/ATL 代码转换为 Windows 窗体应用程序

将 MFC/ATL 代码转换为 Windows 窗体应用程序的过程需要考虑以下几个方面:

  1. 代码结构:MFC/ATL 代码和 Windows 窗体应用程序的代码结构有很大的不同,因此需要对代码进行重构以适应 Windows 窗体应用程序的结构。
  2. 用户界面:Windows 窗体应用程序使用 Windows 窗体控件来构建用户界面,而 MFC/ATL 代码通常使用 C++ 和 MFC/ATL 库来构建用户界面。因此,需要将 MFC/ATL 代码中的用户界面元素转换为 Windows 窗体控件。
  3. 数据绑定:MFC/ATL 代码中的数据绑定和 Windows 窗体应用程序中的数据绑定有很大的不同。因此,需要对数据绑定进行重新设计和实现。
  4. 事件处理:MFC/ATL 代码中的事件处理和 Windows 窗体应用程序中的事件处理有很大的不同。因此,需要对事件处理进行重新设计和实现。
  5. 异常处理:MFC/ATL 代码中的异常处理和 Windows 窗体应用程序中的异常处理有很大的不同。因此,需要对异常处理进行重新设计和实现。

总之,将 MFC/ATL 代码转换为 Windows 窗体应用程序需要进行全面的重构和重新设计,以适应 Windows 窗体应用程序的结构和要求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ATL CLR MFC Win32 常规 的区别

MFCATL和CLR是VC2005内置的3大库,涵盖了windows的各种开发方法和开发应用。当然关于C++开发的库不止这3个,不过这3个是微 软推荐。...MFC库有很多年的历史了,MFC是基于Windows API 的简单封装。其核心架构基于”Document/View”架构(20年前被认为很潮流的一种概念)和消息流动机制。...MFC是微软的基本类库,用于使用Visual C++开发环境创建本地应用程序。顾名思义,CLR具有跨平台、跨语言的特性,各种语言都可以使用CLR开发.NET平台上应用程序。...工程的创建和设置如下: 1)首先创建一个MFC工程。例如,支持MFC的Win32控制台应用程序。 2)配置项目,使工程具有公共语言运行库支持。...// TODO: 在此处为应用程序的行为编写代码

1.4K30

atl创建avtive

atl窗体通过CComControlBase的内部变量控制,窗体属性,包括onsize事件对应的m_bRecomposeOnResize变量控制窗体变化事件响应。 2.可插入的控件 ?...5.mfc的通过ddx可以自动绑定activex为成员变量,生成activex的方法调用文件和对象创建方法。不过vs提供的绑定只能生效一次。...控件端事件的实现可以通过,类窗口中的控件类右键“接口实现”,选择实现的接口和模块自动实现后连接点代码。如下: ? ? ? ? 10.c#调用过程中,项目obj需要手动删除,否则会有编译错误。...MFC调用activex可以ddx绑定控件自动生成接口代码,不过自动生成只能一次,接口有更新,只能重建项目重新绑定,才能自动生成调用activex的代码了。...CLSID可以通过__uuidof(IObj)获取 atl使用CComDispatchDriver创建自动化对象(mfc使用COleDispatchDriver

1.3K20
  • 什么是QT?「建议收藏」

    Qt被用在KDE桌面环境、Opera、Google Earth、Skype、Adobe Photoshop Album和VirtualBox的开发中,使用 Qt ,只需一次性开发应用程序和用户界面,无须重新编写源代码...,便可跨不同桌面和嵌入式操作系统部署这些应用程序。...基本上,Qt 同Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。但是其跨平台性又是MFC等无法比拟的。 什么是MFC?...mfc是什么   1、mfc是微软基础类库的简称,是微软公司实现的一个c++类库,主要封装了大部分的windows API函数,并且包含一个应用程序框架,以减少应用程序开发人员工作量。   ...MFC除了是一个类库以外,还是一个框架,你应该试过,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。

    1.2K30

    【云+社区年度征文】WinForm引用ActiveX组件,对Com组件的学习

    image.png 使用Com组件 新建一个窗体或者用户控件,刚才添加的Adobe PDF Reader 组件拖入到窗体中就可以像winform控件一样操作该控件了。...也就是说ActiveX控件是基于COM对象的,使用COM技术让不同语言编写的控件可以进行互相调用,而如何编写ActiveX控件呢,可以使用ATLMFC,但是两个我都没使用过!...您可以使用COM库,而无需将其编译到应用程序中。COM是许多Microsoft产品和技术(例如Windows Media Player和Windows Server)的基础。...ActiveX 控件导入程序 ActiveX 控件的 COM 类型库中的类型定义转换为 Windows 窗体控件。...Windows 窗体只能承载 Windows 窗体控件,即从 Control 派生的类。 Aximp.exe 生成可承载于 Windows 窗体上的 ActiveX 控件的包装器类。

    1.8K40

    LLM2Vec介绍和Llama 3换为嵌入模型代码示例

    但是这篇论文LLM2Vec,可以任何的LLM转换为文本嵌入模型,这样我们就可以直接使用现有的大语言模型的信息进行RAG了。...嵌入模型和生成模型 嵌入模型主要用于文本数据转换为数值形式的向量表示,这些向量能够捕捉单词、短语或整个文档的语义信息。...LLM2Vec 在论文中提出了一种名为LLM2Vec的方法,用于仅解码器的大型语言模型(LLM)转换为强大的文本编码器。...方法详解 论文中描述的LLM2Vec方法在代码层面主要涉及以下几个关键的修改,以decoder-only模型转换为能够生成丰富文本编码的模型: 启用双向注意力:通常,decoder-only模型使用的是单向...利用LLM2VecLlama 3化为文本嵌入模型 首先我们安装依赖 pip install llm2vec pip install flash-attn --no-build-isolation

    31210

    CC+的角角落落 第二辑 002

    使用Windows API构建窗体应用 就历史来说,使用纯API开发窗体应用程序是上个世纪80年代以前的事情了,开发应用程序的人需要使用大量接近系统内核的API来完成应用程序的设计(当时C的版本还很低,...没有类等概念,使用大量流程式,函数式的代码写一个窗体应用是一件很恐怖的事情)。...MFC的第一个公开版本发布于1992年3月,使用C语言开发窗体应用的程序员们转而开始使用MFC来代替使用API直接开发窗体应用程序。...当Windows操作系统启动一个程序之后,由编译器插入到可执行文件中的启动代码(之前还干了一堆事情,初始化各个段,初始化堆、栈等)调用WinMain函数启动应用程序。...现在你们大可不必直接使用API制作窗体应用程序(在理解API的使用流程下使用MFC或是用Qt写窗体应用),但是了解原理是非常必要的。

    86750

    以金山界面库(openkui)为例思考和分析界面库的设计和实现——问题

    其中代码的下载SVN地址是https://openkui.googlecode.com/svn/trunk。我分析的是版本号为54的版本。...我们知道windows系统又可称为“视窗系统”,正如其义,我们可以发现,windows系统就是通过一个个窗口展现给我们的。...使用WTL还是MFC?         我相信做windows开发的同学,对MFC很熟悉。我刚毕业的时候,也是看了遍侯捷的《深入浅出MFC》才开始踏上windows开发之路的。...但是,之后一直耳闻MFC的种种弊端,其中人们提到最多的一点就是MFC框架复杂容余,编译出来的文件相对较大。...,经过我们观察发现,这段代码是非常容余的,可以精简之。

    65920

    C和C加加的学习过程总结,内有实用学习路线

    OK,很多时候,应用开发要尊重客户习惯,一般说来,语言这个东东,还是要结合具体平台的开发,才能开发出有意义的应用程序卖钱。...假如我们开发VC,并且使用C++,这个时候,才需要考虑学习MFC了,因为这是微软的标准类库,至少Windows平台下,它最权威,你看见没有,我们从学习开始,走了多少步,才走到MFC?...呵呵,其实不是啦,和学语言一样,我们学MFC的目的,也不是希望成为MFC的专家,而是要利用MFC开发Windows应用程序,为我们赚钱。看见没?MFC是手段,不是目的,目的是开发Windows程序。...其实Windows下,有一套很标准的C接口,叫Win32API,这个才是Windows的标准编程核心,因此,学习MFC,真实的目的是理解Windows程序开发,建议可以先学习Win32API,看来我们又回到...最后祝所有程序员都能够走上人生巅峰,让代码梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。

    1.3K61

    简述C和C++的学习历程

    我们的价值,体现在客户价值上,而不是语言写得好不好看。 C++是C的一个面向对象的解释,C++为C扩充了大规模工程应用,复杂的系统结构的组织和掌控方法,但是,我认为,C++骨子里还是C的。...OK,很多时候,应用开发要尊重客户习惯,一般说来,语言这个东东,还是要结合具体平台的开发,才能开发出有意义的应用程序卖钱。...呵呵,其实不是啦,和学语言一样,我们学MFC的目的,也不是希望成为MFC的专家,而是要利用MFC开发Windows应用程序,为我们赚钱。看见没?...MFC是手段,不是目的,目的是开发Windows程序。...其实Windows下,有一套很标准的C接口,叫Win32API,这个才是Windows的标准编程核心,因此,学习MFC,真实的目的是理解Windows程序开发,建议可以先学习Win32API,看来我们又回到

    64520

    MFC和QT的区别

    ,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。...windows系统开发的程序很大部分都是使用了MFC框架进行开发,在如今我们的很多酒店、政府等等很多行业上面用的都是MFC框架进行开发,MFC全面支持COM组件开发,这个时候很多在windows开发的程序也会在这上面支持...编程,而我们的MFC是封装后的windows编程。...基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。...C++在windows平台开发会使用QT作为应用程序开发,进而调用windows编程来进行驱动的开发,这样俩者完美的兼容在一起,这样可以避免QT开发程序的不稳定性和MFC开发界面不够美观的问题,所以在windows

    1.8K51

    MFC中句柄、指针、ID之间的关联

    每一个句柄就相应windows窗体,而vc对HANDLE进行类封装,间接操作的都是HANDLE,如今句柄仅仅是类的一个成员变量。...HWND FindWindow和FindWindowEx 具体见此处 VC++中有关句柄和指针及其转换 1.MFC窗体的句柄和指针的转换 (1) 一般窗体对象都会有一个其相应的句柄变量,所以我们能够取此对象的...、控件的指针和句柄的相互转化 (1)指针转化为句柄 在MFC应用程序中首先要获得窗体的指针,然后将其转化为句柄 CWnd* pWnd; HANDLE hWnd = pWnd->GetSafeHwnd...(); (2)句柄转化为指针 在MFC应用程序中首先获得对话框控件的句柄。...:CWnd *GetWindow获得窗体指针,pWnd->m_hWnd(The handle of the Windows window attached to this CWnd)在::FromHandle

    1.7K40

    OCX开发总结

    01 OCX开发总结 首先,使用ocx意味着,网站只支持windows!! MFC ActiveX和ATL C++ ocx开发,有ATLMFC ActiveX两套框架。...二者的比较,简单说,MFC封装程度高,故MFC使得你很快完成你的工程并更快的运行起来,但是牺牲了灵活性;ATL更接近COM核心,轻量级。 如果ocx需要界面的话,如监控控件需要显示视频流。...建议使用MFC ActiveX,可以像MFC Dialog项目那样写界面,尽管说MFC过时了,但C++写简单实用的界面,还有其他更好的选择?...如果很在意ocx控件大小的话,只能用ATL,因为MFC ActiveX是MFC项目——打入MFC库,不够轻量。...CMFCActiveXControl1Ctrl::start(void) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); // TODO: 在此添加调度处理程序代码

    1.7K10

    解决 VS2017 使用 Windows 桌面向导创建的项目编译时触发 warning C4819 警告

    昨天升级了一下 VS2017 到最新版本,发现创建项目的向导有了很大的变化,以前创建 Win32项目 的菜单不见了,取而代之的是 Windows桌面应用程序Windows桌面向导。...如果你选择使用 Windows桌面应用程序 那么 VS 会很快的不需要你选择任何选项的情况下帮你创建好一个原来所谓的 Win32项目。...而如果你希望在创建项目时选择是否使用 ATL 或者 MFC 库时,你需要使用 Windows桌面向导。...可这个 Windows桌面向导 并不省心,使用该向导创建的项目全新编译时会触发一个 warning C4819 警告。...具体内容是: warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。

    1.2K20

    C++库大全

    虽然从技术角度讲,MFC是不大漂亮的,但是它构建于Windows API 之上,能够使程序员的工作更容易,编程效率高,减少了大量在建立 Windows 程序时必须编写的代码,同时它还提供了所有一般 C+...MFC 编写的程序在各个版本的Windows操作系统上是可移植的,例如,在 Windows 3.1下编写的代码可以很容易地移植到 Windows NT 或 Windows 95 上。...因为其类层次极像MFC,所以有文章介绍从MFC到WxWindows的代码移植以实现跨平台的功能。通过多年的开发也是一个日趋完善的 GUI库,支持同样不弱于前面两个库。并且是完全开放源代码的。...参考网站:http://www.fox-toolkit.org/ 5)   WTL 基于ATL的一个库。因为使用了大量ATL的轻量级手法,模板等技术,在代码尺寸,以及速度优化方面做得非常到位。...2) ATL ATL(Active Template Library)是一组小巧、高效、灵活的类,这些类为创建可互操作的COM组件提供了基本的设施。

    2.3K60

    C++著名程序库的比较和学习经验

    虽然从技术角度讲,MFC是不大漂亮的,但是它构建于Windows API 之上,能够使程序员的工作更容易,编程效率高,减少了大量在建立 Windows 程序时必须编写的代码,同时它还提供了所有一般 C+...MFC 编写的程序在各个版本的Windows操作系统上是可移植的,例如,在Windows 3.1下编写的代码可以很容易地移植到 Windows NT 或 Windows 95 上。...因为其类层次极像MFC,所以有文章介绍从MFC到WxWindows的代码移植以实现跨平台的功能。通过多年的开发也是一个日趋完善的GUI库,支持同样不弱于前面两个库。并且是完全开放源代码的。...3.5、WTL 基于ATL的一个库。因为使用了大量ATL的轻量级手法,模板等技术,在代码尺寸,以及速度优化方面做得非常到位。主要面向的使用群体是开发COM轻量级供网络下载的可视化控件的开发者。...12.2、ATL ATL(Active Template Library)是一组小巧、高效、灵活的类,这些类为创建可互操作的COM组件提供了基本的设施。

    30430
    领券