摘要:开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件。(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网上发表相关内容的朋友们。)ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。这里控件容器就是浏览器,用户不需要通过浏览器调用控件的属性或方法。因此,开发面向Web的ActiveX控件比开发桌面的
阅读全文
摘要:运行环境:VC6.01 创建工程File / New / Projects / MFC ActiveX ControlWizard,工程名称输入OnlineOcx(自定义)。点击OK进入下一画面,“Would you like help files to be generated?”选择“No help files”。点击Next进入下一画面,点击Finish完成。ClassView中的结构如图:2 添加自定义的方法在ClassView中点选工程名称,CTRL+W启动ClassWizard,或者File/ClassWizard启动ClassWizard,选择Automation分页,如下图:在
阅读全文
摘要:用ATL创建COM组件一、创建一个模型(工程) MyProj。二、给模型(工程)增加一个组件 MyCom。三、给组件增加方法(函数) MyF1、MyF2、MyF3、MyF4。一、创建模型(工程) MyProj在VC++6.0工作平台中,点击菜单 File 下的 New 菜单项,在出现的 New 对话框中选中 Projects 卡片,在列表框中选中 ATL COM AppWizard(活动模板库组件导航)。 在 Project Name 编辑框中输入项目名如 MyProj ,并选择合适的 Location 后,按确认按钮进入下一个对话框:ATL COM Appwizard - step 1 o.
阅读全文
摘要:开发环境:VS2010开发工程:C++ATL项目开发目的:创建ActiveX实现js调用步骤:1.创建一个ATL工程应用程序类型选择动态链接库(DLL),勾选支持COM+1.0,勾选支持部件注册器2.选择类视图,添加接口与类如果没有找到类视图,可以在工具栏中添加上视图选择工程,右键添加类。选择ATL简单对象。输入对象信息。此处的ProgID需要注意,填写之后可在js中通过new ActiveXObject(“你的progID”)创建对象。 勾选支持中的3个选项,我选择的线程模型为单线程,可根据实际需求修改。完成后会发现已经生成了Add.h和Add.c文件。里面有一些红色波浪线提示错误无需管。.
阅读全文
摘要:CStatic 继承于 CWnd,是一种特殊的窗体。他可以显示文本字符串(这也是最常用的用法)、图标、指针(cursor)、位图和增强图文元件. 通常静态控件不提供输入和输出。但是如果把他的属性设置为 SS_NOTIFY,他可以通知其父窗口的击鼠标事件。如果文本不变,可以直接设置其 Caption。如果想在运行过程中改变其显示文本,可以用如下方式:CStatic *pStatic=(CStatic*)GetDlgItem(IDC_STATIC);pStatic-SetWindowText("Just a Test of Static Control!");如果要显示图标,则
阅读全文
摘要:消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合。 1.MessageBox("这是一个最简单的消息框!"); 2.MessageBox("这是一个有标题的消息框!","标题"); 3.MessageBox("这是一个确定 取消的消息框!","标题", MB_OKCANCEL ); 4.MessageBox("这是一个警告的消息框!","标题", MB_ICONEXCLAMATION ); 5.MessageBox(
阅读全文
摘要:PrintDocument实例所有的订阅事件如下:1.创建一个PrintDocument的实例.如下:System.Drawing.Printing.PrintDocument docToPrint = new System.Drawing.Printing.PrintDocument(); 2.设置打印机开始打印的事件处理函数.函数原形如下:void docToPrint_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) 3.将事件处理函数添加到PrintDocument的PrintPage事件中。d
阅读全文
摘要:CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;CREATE DATABASE 的语法:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]create_specification: [DEFAULT] CHARACTER SET charset_name | [DEFAULT] COLLATE collation_name
阅读全文
摘要:1. 注册表介绍注册表查看工具regedit.exe。最高级主要包括5个键。另外还有2个隐藏的,一般不常用。2. 注册表操作.NET操作注册表主要用到两个类,命名空间为Microsoft.Win32。RegistryKey:针对具体键的操作,包括3个只读属性和一些列的方法,分别添加、删除和设定子键和值。Registry:主要包括7个只读属性,分别对应可能存在的7个顶级键。3. 注册表实例实例很简单:通过下拉框选择颜色,作为窗体的背景色。当关闭窗口时自动保存设置。² 页面布局:新建Windows Application程序,在窗体上添加一个ComboBox控件;² 初始化颜色
阅读全文
摘要:第一种方法:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;using System.Net;using System.Net.Sockets;namespace Scan{ class FtpUpLoadFiles { /// <summary> /// FTPClient 的摘要说明。 /// </summary> public class FTPClient { #region 构造函数 /// <summary
阅读全文
摘要:问题我想实现这样一个功能,将类型作为参数传递:已经有FrmA、FrmB、FrmC、FrmS等几个窗体类了,需要实现这样一个函数:fun(参数A){参数A F = new 参数A();F.Show();}fun(FrmA);//就能新建并打开一个FrmA窗口答案用反射: 主调类: private void button3_Click(object sender, EventArgs e) { bindForm("WindowsApplication1.UserControl1"); } private void bindForm(string f) { System.Type
阅读全文
摘要:转自:http://www.weiw.com/article/list.asp?id=79C# 中引用资源文件的几个方法- 一、常用方法(已确认1// Correct 是资源的名字,比如 Correct.png 资源的名字即为 Correct 。2pictureBox1.Image = Properties.Resources.Correct;二、使用 ResourceManager 类的方法(已确认):01// 1. 首先获取一个 ResourceManager 类的实例:02ResourceManager resourceManager = newResourceManager("
阅读全文
摘要:MDI编程模式private void menuItem3_Click(object sender, System.EventArgs e) //菜单的CLICK事件.{FrmClass MyClass = null; //生成自己的表单foreach( Form ftemp in this.MdiChildren) //查找当前父表单所有子表单{if(ftemp is FrmClass){MyClass = (FrmClass)ftemp;break;}}if(MyClass==null || MyClass.IsDisposed){MyClass = new FrmClass();MyCl
阅读全文
摘要:SqlConnectionconn=newSqlConnection("Server=(local);DataBase=test;User=sa;Pwd=sa"); SqlDataAdapterda=newSqlDataAdapter("select*fromtest",conn); DataSetds=newDataSet(); da.Fill(ds); dataGridView1.DataSource=ds.Tables[0]; ①DataGridView取得或者修改当前单元格的内容: 当前单元格指的是DataGridView焦点所在的单元格,它可以
阅读全文
摘要:要求不但能够在List Control中显示数据,而且能够动态修改选中的Item中的内容,其功能类似与在程序中插入一张可以随意修改的表(Table)。虽然整个过程很简单,却体现了MFC编程的灵活性。通过实现高级List Control控件,也可以从更深层次理解MFC界面编程。下面将实现步骤总结如下:这里我们来实现一个自己的类CEditTable,该类继承与CListCtrl。先说一下我们的思路:CListCtrl类给提供了现实数据的基本操作,但要像Word中编辑表格一样编辑ClistCtrl中的内容,首先必须获取要编辑的Item的位置,然后用新输入的内容代替原来Item中的内容。基本思路很简单
阅读全文
摘要:原文:http://hi.baidu.com/longchengjiang/blog/item/f6a6e4ca148cba4ef21fe7c2.html控件小记2009-05-12 21:52通用控件被包含在:COMCTL32.DLL控件变量类型: Value:关联值类型。→获得pulic变量(int & CString) UpdateData(FALSE):可以向控件传递数据 UpdateData(TRUE):可以从控件获得数据Control:通过GetSafeHwnd()得到控件句柄。→获得控件的实例,可调用控件支持函数。Check Box添加一个control变量(m_chec
阅读全文
摘要:VC开发指南1.1 如何学好VC 这个问题很多朋友都问过我,当然流汗是必须的,但同时如果按照某种思路进行有计划的学习就会起到更好的效果。万事开头难,为了帮助朋友们更快的掌握VC开发,下面我将自己的一点体会讲一下: 1、需要有好的C/C++基础。正所谓“磨刀不误砍柴工”,最开始接触VC时不要急于开始Windows程序开发,而是应该进行一些字符界面程序的编写。这样做的目的主要是增加对语言的熟悉程度,同时也训练自己的思维和熟悉一些在编程中常犯的错误。更重要的是理解并能运用C++的各种特性,这些在以后的开发中都会有很大的帮助,特别是利用MFC进行开发的朋友对C++一定要能熟练运用。 2、理解Windo
阅读全文
摘要:引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。将方法作为方法的参数我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出一句问
阅读全文
摘要://声明一个委托public delegate string AddHandler(int a, string b);//你要多少个参数在这里定义,此例只有两个参数void 调用异步(){ AddHandler handler = new AddHandler(Add);//用BeginInvoke开始异步操作 这里的 1,"字符串",这两个参数就是对应(int a, string b) IAsyncResult result = handler.BeginInvoke(1, "字符串", new AsyncCallback(AddComplete),&
阅读全文
摘要:由于个人需要,想找一个键盘记录的程序,从网上下载了很多,多数都是需要注册的,另外也多被杀软查杀。于是决定自己写一个,如果作为一个windows应用程序,可以实现抓取键盘的记录。想要实现随系统启动的话,其中一种方法就是要作为windows服务,把代码直接写到服务里边并不能抓取到键盘的记录,从网上翻阅资料及查看msdn才知道:Windows 服务应用程序在不同于登录用户的交互区域的窗口区域中运行。窗口区域是包含剪贴板、一组全局原子和一组桌面对象的安全对象。由于 Windows 服务的区域不是交互区域,因此 Windows 服务应用程序中引发的对话框将是不可见的,并且可能导致程序停止响应。同样,错误
阅读全文