Tangram商业版本预览(七):MFC/COM/.NET对象的集成、组合平台

Tangram是一款支持MFC、COM、.NET对象自由组合的UI框架,通过XML描述实现无需编码的界面搭建,极大提升了传统MFC UI框架的灵活性。本文展示了如何使用Tangram在VB6程序中集成.NET控件。
2007年03月18日 20:41:00

Tangram商业版本预览(七):MFC/COM/.NET对象的集成、组合平台

Tangram支持MFC对象与COM对象、.NET对象的自由组合形成的UI界面,这一点将极大改进传统MFC UI框架的架构能力,而且,这种组合机制是基于XML描述的,对开发者而言不需要编写代码。
TangramMFC/COM/.NET对象的集成、组合框架,本例显示一个.NETCOMC++对象的组合窗体)

这个UIXML描述如下:

>Tangram DocViewID="TangramDoc3.DocTemplate.1" Name="SimpleSplitter2" DocObjID=""

ExtDocObjID="" WorkSpaceURL="d:/program files/tangram/debug/tangram.exe"<

>Icon Index="0"<>/Icon<

>Caption<Simple Splitter 2 1>/Caption<

>DocPlugin<

>!-- Add TangramDoc Plugin here: >Plugin/Plugin< --<

>/DocPlugin<

>Window<

>TangramNode Name="sp1" ID="TangramSplitter" CnnID="TangramLiteTabWnd.TangramConnector"<

>Row<

>TangramNode Name="fm1" ID="tangramsplitter" VBA="0" VBAID="0" CnnID="TangramLiteTabWnd.TangramConnector"

Caption="fm1" Width="512" Height="127" Tag="" Style="0" <

>Row<

>TangramNode Name="fm1_S0000" ID="MSComctlLib.ListViewCtrl.2" CnnID="TangramLiteTabWnd.TangramConnector"

VBA="1" VBAID="1" Width="196" Height="193" Tag="" Style=""/<

>TangramNode Name="fm1_S0001" ID="forms.form.1" CnnID="TangramLiteTabWnd.TangramConnector"

VBA="1" VBAID="2" Width="305" Height="193" Tag="" Style=""/<

>/Row<

>/TangramNode<

>/Row<

>Row<

>TangramNode Name="fm2" ID="TangramCLR#TangramCLR.TangramPropertyGrid" CnnID="" Width="512" Height="213" Tag="" Style="" /<

>/Row<

>/TangramNode<

>/Window<

>TangramDoc<>/TangramDoc<

>/Tangram<

有了Tangram,你甚至可以在VB6程序中使用.NET控件:



Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1533025


<script setup> import {onMounted} from 'vue'; import store from '../store/index.js'; onMounted(() => { // 登录 const path = new URL(window.location.href).searchParams.get('redirect') || ''; const jumpUrl = `${window.location.origin}` + '/fronted/map-byd-odd-plat/index.html' + path; console.log('jumpUrl---path', path); console.log('jumpUrl', jumpUrl); const instance = window?.passport.pop.init({ id: 'test', loginVersion: 'v5', apiOpt: { loginType: 1, u: jumpUrl, safeFlag: 0, product: 'pic_style_studio', is_voice_sms: 1, qrcode: 2, makeText: '您还没有登录,皮肤只能保留3天哦,登陆后就可以永久保留您喜爱的皮肤啦', qrcode_animatin: 1, overseas: 0, staticPage: 'https://charging.map.baidu.com/v3Jump.html', // 正式环境 // staticPage: 'http://test.baidu.com:3000/v3Jump.html', // 本地 }, cache: true, tangram: true, img: 'http://tb2.bdstatic.com/tb/static-common/img/passport/logindlg_pic1.png', authsite: ['tqq', 'renren', 'tsina'], registerLink: 'https://passport.baidu.com/v2/?reg&u=https://charging.map.baidu.com/', onLoginSuccess: function (args) { // 登录成功后,执行回调函数,在跳转到U之前触发 const token = args.target.bdPsWtoken; console.log('onLoginSuccess', args); store.dispatch('login', token); // location.url = '/' document.querySelector('#passport-login-pop').style.display = 'none'; }, onSubmitStart: function (args) { console.log('onSubmitStart'); console.log(args); // args.returnValue = false; }, onSubmitedErr: function (args) { console.log('onSubmitErr'); console.log(args); }, onSystemErr: function (args) { console.log('onSystemErr'); console.log(args); }, onShow: function () { // console.log('onShow'); }, onRealHide: function () { console.log('realname'); }, onHide: function () { console.log('onHide'); }, onDestroy: function () { console.log('onDestroy'); }, }); instance.show(); }); </script>改为vue2
最新发布
12-06
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值