注册自己的控件到Visual Studio 环境里

Visual Studio开发MFC项目OCX控件添加使用控件方法 1、在Windows系统中注册OCX控件 在OCX控件目录,右键新建一个文本文档,将文件名和扩展名改为"双击注册.bat",添加如下注册脚本: cd /d %~dp0 RegSvr32 .\EloamView.ocx 选中该脚本文件,右键选择”以管理员身份运行“该脚本文件,注册成功会提示。 注意变更OCX控件目录,或其它地方已注册过旧版本,需要先反注册该控件后,再重新注册控件。 在OCX控件目录,右键新建一个文本文档,将文件名和扩展名改为"反注册控件.bat",添加如下反注册脚本: RegSvr32 /u 阅读详情
原文:http://www.cnblogs.com/happyy2k/archive/2004/11/29/70401.html
1. 首先要获得IDE的DTE 对象(Get DTE's Object)
if (  this ._env  ==   null  )
{
    Type latestDTE 
= Type.GetTypeFromProgID("VisualStudio.DTE");
    
if( latestDTE == null )
        
throw new System.ApplicationException("Can not get DTE Type from VisualStudio.DTE ProgID.");

    
this._env = Activator.CreateInstance(latestDTE) as EnvDTE.DTE;
    
if( this._env == null )
        
throw new System.ApplicationException("Fail to create DTE instance.");
}

2. 增加自己的Tab到Tools Box 里(Add new Tab to Tools Box)
//  Get the main window of ToolBox;
Window ToolBoxMainWin;
ToolBoxMainWin 
=   this ._env.Windows.Item(EnvDTE.Constants.vsWindowKindToolbox);
if ( ToolBoxMainWin  ==   null  )
    
throw   new  System.ApplicationException( " Can not get the ToolBox window. " );

//  Get the ToolBox Object
ToolBox TheToolBox;
TheToolBox 
=  (ToolBox) ToolBoxMainWin.Object;

//  Get the ToolBox Tab collection
ToolBoxTabs TheToolBoxTab;
TheToolBoxTab 
=  TheToolBox.ToolBoxTabs;

//  Check the old tab
ToolBoxTab TheTab  =   null ;
foreach ( ToolBoxTab oldTab  in  TheToolBox.ToolBoxTabs )
{
    
if( oldTab.Name != null && oldTab.Name == strTabName )
    
{
        TheTab 
= oldTab;
        
break;
    }


}

//  Tab is not found, add the new one.
if ( TheTab  ==   null  )
    TheTab 
=  TheToolBoxTab.Add(strTabName);

if ( TheTab  ==   null  )
    
throw   new  System.ApplicationException( " Adding new ToolBox Tab:  "   +  strTabName  +   "  fails. " );

//  win bug - need to do this for some reason
this ._env.ExecuteCommand( " View.PropertiesWindow " ,  "" );

3. 把自己的编译好的Assembly 加入到新Tab 中(Add compiled Assembly to the new Tab)

//  Active the tab
TheTab.Activate();

//  Add Our Components in the Assembly to the tab
TheTab.ToolBoxItems.Add( "" ,
    strAssemblyName,
    vsToolBoxItemFormat.vsToolBoxItemFormatDotNETComponent);

4. 同理,如果要删除自己的控件,则需要在Tab里查询到控件,然后删除,如果发现Tab内没有任何控件也可以选择删除这个Tab(Same concept, if you want delete custmer control from IDE, need search the control first, then delete it , if the Tab don't have any other control, also can choose delete the Tab)

//  tab item count is 1(pointer) or no item name specified, delete the tab immediately
if ( theTab.ToolBoxItems.Count  ==   1   ||  toolBoxItemNames  ==   null   ||  toolBoxItemNames.Length  ==   0  )
    theTab.Delete();
else                             
{
    
// Remove the items
    ToolBoxItem OldItem;
    System.Collections.ArrayList deleteItems 
= new System.Collections.ArrayList();
    
bool[] deletedIndex = new bool[toolBoxItemNames.Length];
    
for( int i = 0; i < toolBoxItemNames.Length; i++ )
        deletedIndex[i] 
= false;

    System.Collections.IEnumerator ItemEnum 
= theTab.ToolBoxItems.GetEnumerator();
    ItemEnum.Reset();
    
while( ItemEnum.MoveNext() )
    
{
        OldItem 
= (ToolBoxItem)ItemEnum.Current;
        
bool itemFound = false;

        
if( OldItem != null )
        
{
            
for(int i = 0; i < toolBoxItemNames.Length; i++)
            
{
                
if( deletedIndex[i] )
                    
continue;

                
if( toolBoxItemNames[i] == null && OldItem.Name == null )
                
{
                    itemFound 
= true;
                    deletedIndex[i] 
= true;
                    
break;
                }

                
                
if( toolBoxItemNames[i] != null && OldItem.Name != null && toolBoxItemNames[i] == OldItem.Name )
                
{
                    itemFound 
= true;
                    deletedIndex[i] 
= true;
                    
break;
                }

            }

        }

        
if(!itemFound)
            
continue;

        deleteItems.Add(OldItem);
    }

    
if( deleteItems.Count == ( theTab.ToolBoxItems.Count - 1) ) // delete item == toolitems -1 (pointer), delete the tab directly.
        theTab.Delete();
    
else
    
{
        
for( int i = 0; i < deleteItems.Count; i++ )
        
{
            OldItem 
= (ToolBoxItem)deleteItems[i];
            
// delete the item.
            OldItem.Delete();                            
        }

        
if( theTab.ToolBoxItems.Count == 1 )
            theTab.Delete();
        
// checked undeleted items.
        if( deleteItems.Count != toolBoxItemNames.Length )
        
{
            
string undeletedNames = "";
            
bool first = true;

            
for( int i = 0; i < toolBoxItemNames.Length; i++ )
            
{
                
if( deletedIndex[i] )
                    
continue;
                
if( first )
                
{
                    undeletedNames 
= undeletedNames + toolBoxItemNames[i];
                    first 
= false;
                }

                
else
                    undeletedNames 
= undeletedNames + "," + toolBoxItemNames[i];

            }


            
throw new System.ApplicationException("Fail to remove item: " + undeletedNames + ".");
        }

    }

}

问题:在Windows 10 的环境下,如何为Visual Studio 2015 Enterprise 添加 TeeChart绘图控件 根据网络上的资料重新整理,参考资料见最后。   运行环境:windows10 家庭版 64位、Visual Studio 2015 Enterprise 、 TeeChart绘图控件 下载:https://pan.baidu.com/s/1o69nOZS    解决方案: 1.下载TeeChart控件并安装( 安装所需的许可证: sn.txt ),安装完后找到安装路径(带有TeeCha... 阅读详情

相关推荐

TeeChart 8 ActiveX控件在Visual Studio C++项目中的64位配置与部署指南

在桌面应用开发中,数据可视化是展示和分析信息的关键环节,其核心原理是通过图形化界面将数据转化为直观的图表。为实现高效开发,开发者常借助成熟的图表控件,而非重复造轮子。ActiveX控件作为一种经典的COM组件技术,在Windows平台上为MFC、Win32等传统C++项目提供了强大的可视化能力,其技术价值在于封装了复杂的绘图逻辑,显著提升了开发效率。然而,随着系统架构向64位迁移,ActiveX控件的32位与64位兼容性问题成为工程实践中的常见挑战,尤其是在Visual Studio C++这类遗留技术栈中

weixin_30824599的博客 397

SuperMap iObject .NET-开发环境搭建

SuperMap iObject .NET—开发环境搭建 本文以SuperMap最新版的10i与Visual Studio 2019为例进行搭建,目标是在WPF中进行开发,后续会发相关的SuperMap WPF的开发。 1.包下载 在官网中下载相关文件,参照下图。官网下载地址 2.环境配置 解压后文件列表如下,选择Install_x86.bat以管理员身份运行,这个操作应该包括环境变量、VS工程模板文件、引用和工具箱的添加。运行会直接将开发环境部署到VisualStudio2010和2012中,其他版本的

碎碎念的安静的博客 4551

从零到一:在Visual Studio中构建并调试MFC ActiveX控件

本文详细介绍了在Visual Studio中从零开始构建并调试MFC ActiveX控件的完整流程,包括环境准备、项目创建、编译注册、界面设计、核心功能实现及网页集成等关键步骤。针对开发过程中常见的OCX注册失败、界面闪烁等问题提供了实用解决方案,帮助开发者高效完成ActiveX控件开发与部署。

weixin_28840591的博客 225

2026最新!Visual Studio 2026 + QT6.9 环境配置全攻略:一键搞定安装与乱码问题,开发效率翻倍!(全网最详细教程,手把手教你搭建完美开发环境!)(QT安装教程)

VS2022+QT6.7.2附下载链接 最新版 安装教程 环境配置 干货满满

ZJQSDSA的博客 3万+

使用 Visual Studio 在 Web 浏览器控件中进行 JavaScript 调试 .NET

如果你正在使用 Visual Studio 进行开发,你可以利用 Visual Studio 提供的强大调试工具来调试在 Web 浏览器控件中运行的 JavaScript 代码。当你点击 “调试 JavaScript” 按钮时,调试器将自动中断 JavaScript 执行,并在 Visual Studio 中打开一个新的调试会话。在项目创建向导中,选择适合你的项目类型和配置选项,并为项目指定一个名称。这样,当你点击按钮时,日志信息将显示在 Visual Studio 的 “输出” 窗口中,方便你进行调试。

CodeBandit的博客 441

Visual Studio中的串口通信:使用MSCOMM32控件

本文还有配套的精品资源,点击获取 简介:在Visual Studio开发环境中,开发者常需要通过MSCOMM32控件实现串口通信。该控件是微软提供的32位串行通信组件,简化了串口数据传输的实现过程。本文将详细探讨MSCOMM32控件的功能和在串口开发中的应用,并介绍如何使用批处理文件注册该控件。 1. Visual Studio中的串口通信基础 串口通信概述...

weixin_33670640的博客 1569

Visual Studio中解决MSCOMM控件的问题

   我装的VS2010中没有自动安装MSCOMM控件,在打开一个有串口控件的工程时,总是报错“此计算机ActiveX没有注册…………”,在网上找了很多注册ActiveX的方法,其中一种是通过Regsvr32 来注册控件,但是需要下载.ocx文件。后来在网站上找到了MSCOMM的安装程序:http://download.csdn.net/source/964556。下载之后有以下几步操作:1)这里需要注意的是,如果是Win7的操作系统,需要右键-》以管理员身份运行。2)在VS中选择,工具-》选择工具箱-》右

xiaohegou的专栏 2466

Visual Studio版本中MSCOMM控件串行通信开发指南

随着技术的演进和软件开发工具的迭代升级,VS2008、VS2010和VS2013作为开发工具,它们承载了不同时间阶段的开发者对MSCOMM控件的应用。MSCOMM控件是串行通信领域中广泛使用的一个ActiveX组件,它为开发者提供了一套简便的方法来控制RS-232串行端口。在这些Visual Studio版本中,尽管MSCOMM控件的基本使用原理相同,但在不同版本的集成开发环境中,其配置、使用和调试的过程也存在一定的差异性。

weixin_36464343的博客 939

C++实践之Qt学习(扩展):Visual Studio中Qt开发环境的搭建

本篇文章主要是写给特别想用VS进行Qt开发的同学,内容包含超多超详细过程截图,谨慎查看。 另外由于之前安装和测试,中间穿插了VS2017和VS2019的部分截图,界面上会有一点差距,区别不大。 如果想直接使用QtCreator进行Qt开发,本篇文章可以直接跳过。 文章目录安装Visual Studio(若已安装,可跳过)下载安装安装Qt插件方式一:直接在VS扩展中搜索安装方式二:从Qt下载站下载插件安装包配置插件环境VS创建Qt项目创建项目Qt GUI Application向导进入向导选择模块设置父类.

大家随意 7万+

Visual Studio精美按钮控件库实战集成——CrystalButton.dll应用指南

在现代软件开发中,用户界面(UI)不仅是功能实现的载体,更是用户体验的核心组成部分。Visual Studio作为微软推出的集成开发环境(IDE),为开发者提供了强大的Windows窗体应用和WPF应用开发支持。其内置的控件库如Button、TextBox、Label等虽能满足基础需求,但在追求高交互性与视觉美感的应用场景下显得力不从心。边框不仅是装饰元素,更是视觉引导的关键。CrystalButton 提供以下边框属性:// 圆角像素值这些属性直接参与OnPaint。

weixin_33816734的博客 1014

AppleAccount注册之生成sign

根据日志发现:签名来自于AuthKit的-[AKAppleIDServerResourceLoadDelegate signRequest:withCompletionHandler:]的一个block,这个库是放在共享缓存库里的,找到提前准备好的IDA文件,先去找主方法,根据分析IDA,最后找到了实际生成签名的方法:t1。,接受五个参数,context(之前讲的获取到的客户端证书),bytes(待加密的body字节),length(字节长度),以及两个接受结果的参数,直接进这个方法看,

2503_90751938的博客 1005

在 Visual Studio 中创建和管理 Python 环境

该环境不会出现在“Python 环境”窗口中的任何位置,它不会设置为项目的当前环境,也不会作为全局环境使用。在列表中选择环境时,Visual Studio 会在“Python 环境”窗口的“概述”选项卡上显示该环境的各种属性和命令,例如解释器位置。要在新项目中使用不同的环境,请使用“将此作为新项目的默认环境”命令。通常,如果下载并运行传统 Python 分发版的安装程序,Visual Studio 会检测新的安装和环境是否出现在“Python 环境”窗口中并且是否可以为项目选择它们。

zeroty的专栏 2071

避坑指南:STM32定时器测PWM频率占空比时,那些CubeMX没告诉你的细节(蓝桥杯真题衍生)

本文深入解析STM32定时器测量PWM频率和占空比时的关键细节,揭示CubeMX配置中未明确的时钟树原理和输入捕获机制。针对蓝桥杯嵌入式赛题中的常见问题,提供动态调整预分频器、多采样数字滤波等实战解决方案,帮助开发者避免测量误差,提升PWM测量精度和稳定性。

weixin_28692153的博客 339

LegacyUpdate调试技巧:如何使用Visual Studio调试ActiveX控件

LegacyUpdate是一款帮助旧版Windows系统恢复在线更新功能的工具,其核心组件是ActiveX控件。本文将详细介绍如何使用Visual Studio高效调试LegacyUpdate的ActiveX控件,解决开发过程中的常见问题。 ## 准备调试环境 ### 1. 项目结构与调试配置 LegacyUpdate提供了完整的Visual Studio项目支持,调试配置主要集中在以下文件:

gitblog_00807的博客 900

同态加密与SEAL库实战:CKKS参数调优避坑指南

本文深入探讨了同态加密技术中CKKS方案的参数调优实践,重点解析了SEAL库中`poly_modulus_degree`、`coeff_modulus`和`scale`三大核心参数的配置技巧与避坑指南。通过实战案例展示了如何平衡计算深度、精度与性能,为开发者提供了一套完整的参数优化方法论,帮助避免常见的'scale out of bounds'等错误,显著提升同态加密应用的可靠性和效率。

weixin_29315569的博客 227

STM32异常与中断过程详解

1. 异常与中断概念引入 异常主要是指来自CPU内部的意外事件,比如执行了未定义指令、算术溢出、除零运算等发生在CPU内部的意外事件,这些异常的发生,会引起CPU运行相应的异常处理程序;中断一般来自硬件(如片上外设、外部I/O输入等)发生的事件,当这些硬件产生中断信号时,CPU会暂停当前运行的程序,转而去处理相关硬件的中断服务程序。但无论是异常还是中断,都会引起程序执行偏离正常的流程,转而去执行异常/中断的处理函数。 下面对异常和中断的介绍,如果中断信号的产生原因来自CPU内部,则称之为异常;如果中断信号来

luobeihai的博客 1万+

win10注册MSCOMM32控件及简单使用

https://www.jianshu.com/p/5c54338b67b2 前言 &amp; 吐槽 前几天重装了系统,然后之前写的用MsComm控件(Microsoft Communications Control)进行串口通信的程序无法运行了,用VS打开项目进入资源视图,发现打不开包含MsComm控件的对话框资源,提示未在此计算机上注册ActiveX控件。而VS工具箱提供的COM组件里也没有M...

爱她就要努力 6500

RK3588网络调试笔记:当我把默认RTL8211F PHY换成另一款时,踩了哪些坑?

本文详细记录了在RK3588平台上将默认RTL8211F PHY芯片替换为其他型号的全过程,包括硬件设计验证、内核驱动适配、复位时序配置等关键步骤。通过实际案例分享,提供了从驱动调试到硬件优化的系统性解决方案,帮助开发者高效完成PHY芯片替换,确保网络接口稳定性。

weixin_30291791的博客 669

32位visual studio中添加x64 ActiveX控件方法

32位visual studio中添加x64 ActiveX控件方法 win32/x64版本ActiveX控件的添加方法 visual studio中创建ActiveX控件的方法可参考:https://blog.csdn.net/wangzhiyang925/article/details/38715605?tdsourcetag=s_pcqq_aiomsg。 在编译器中可选择win32和x64两...

风之哀翼的博客 2174

微搭低代码实现用户登录及注册功能

在小程序开发中,我们可以拿到微信用户的openid,openid可以作为用户的唯一标识,在查询数据的时候可以进行数据过滤实现查询自己提交的数据。那微搭中是否也有openid这个概念,可以获取用户自己提交的数据呢? 答案是肯定的,那要怎么去做呢?思路是先创建一个数据源方法,在数据源中返回openid,然后低代码中可以调用数据源的方法并且赋值给全局变量,这样在后续的业务中从全局变量就可以获取openid了,方便做数据权限的控制。 为了实现这个目的,我们从创建数据源开始。 创建数据源 我们先创建一个用户管理的数据

低代码布道师的博客 2997

【WorkBuddy从入门到精通实战教程】使用手册 第 2 章 WorkBuddy的下载、安装、登录与更新

摘要:WorkBuddy官方下载地址为https://www.codebuddy.cn/work/,支持Mac和Windows系统,需根据设备自动匹配版本。安装时需核对发布者信息,Mac用户需拖入应用程序文件夹。登录支持微信扫码或手机号,公司电脑安装需IT授权。更新通过个人中心检查,遇到安装包损坏、登录失败或文件读写问题时,建议重新下载、检查网络/权限或联系官方支持。重要文件建议定期备份,避免直接操作原文件。(149字)

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 1843

如何在 Visual Studio 中创建和管理 Python 环境

如何在 Visual Studio 中创建和管理 Python 环境 2019/08/06 Python 环境 是在其中运行 Python 代码的上下文,它包括全局、虚拟和 Conda 环境。环境由解释器、库(通常是 Python 标准库)以及一组已安装的包组成。这些组成部分共同确定哪些语言结构和语法有效、哪些操作系统功能可访问以及哪些包可使用。 在 W...

poloyzhang的专栏 7704

万字长文介绍ARINC 653,以及在综合模块化航空电子设备(IMA)中的作用

ARINC 653 在综合模块化航空电子设备(IMA)的发展进程中扮演着极为关键的角色。从行业应用的实际情况来看,空客 A380 和波音 787 等先进飞机的航电系统套件充分体现了行业对 IMA 的高度重视和积极投入。在 IMA 架构下,核心软件具备强大的能力,能够支持多个航空电子应用程序的同时运行。这些应用程序可以并行开发,并高效地部署在同一个计算平台上,极大地提高了开发效率和系统集成度。ARINC 653 的出现为航空电子行业创造了一个充满活力和竞争力的商业环境。

2956

解决Window 7系统中Visual Studio 2010不能使用MSCOMM ActiveX控件的问题

步骤 VS2010没有自带MSCOMM控件,首先在该页面下载MSCOMM控件包:http://download.csdn.net/detail/rabbit200808/3236756(在此感谢rabbit200808 分享)。 2.      下载完毕后,把包里的所有文件拷贝到系统目录c:\windows\syswow64下(win 7系统);c:\windows\systom32(X

Never too late to study 2263

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

怎样使控件注册到VS2005 工具箱中

   近来项目做了一些控件,为了让软件开发环境更加统一和方便,制作了控件安装程序,在安装后,控件会自动注册到VS2005的工具箱中,就像DevExpress等控件一样。下面主要来说说怎样让自定义控件自动注册到VS2005工具箱中吧!     控件自动注册到VS2005工具箱的方法非常简单,尝试中我使用了两种方法,其实核心都只要掌握DTE,EnvDTE80的使用。    方法一(参考网文):一、系统

TonyWang的专栏 4134

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: CodeDOM浅析(下)
下一篇: Windows7社区发布活动----Windows7安全性
colderboy
博客等级 码龄26年 1粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值