对话框容器环境响应Active控件事件 动态创建ActiveX

原创 2015年07月06日 19:52:23

1 在对话框面板上静态添加ActiveX控件

在对话框面板上 右键->Insert ActiveX control

在控件的属性中 添加对控件的事件响应(要求编写ActiveX控件的时候已经添加了事件)



2 动态添加Active控件 以及响应事件

首先添加ActiveX控件类




在Dlg.h中


#include "CDMy0705B.h"

public:
CDMy0705B m_active;

void CMYDlg::OnBnClickedButton1()
{
	// TODO: Add your control notification handler code here
	this->m_active.Create("clock",WS_CHILD|WS_VISIBLE,CRect(0,0,100,100),this,123);
	this->m_active.Hello();
}
至此 动态创建完成
动态创建的控件如何添加事件呢?可以参照静态控件的事件响应代码

public:
	afx_msg void OnBnClickedButton1();
	DECLARE_EVENTSINK_MAP()<span style="white-space:pre">		</span>//新增的
	void ClickMy0705bctrl2();<span style="white-space:pre">	</span>//静态控件事件响应的函数 动态的也可以拿来用

BEGIN_EVENTSINK_MAP(CMYDlg, CDialogEx)
	ON_EVENT(CMYDlg, IDC_MY0705BCTRL2, DISPID_CLICK, CMYDlg::ClickMy0705bctrl2, VTS_NONE)<span style="white-space:pre">	</span>//静态控件的响应 是自动生成的代码
	ON_EVENT(CMYDlg, 123, DISPID_CLICK, CMYDlg::ClickMy0705bctrl2, VTS_NONE)<span style="white-space:pre">		</span>//模仿上面的代码 写出动态创建的代码
END_EVENTSINK_MAP()

void CMYDlg::ClickMy0705bctrl2()<span style="white-space:pre">	</span>//两个不同ID的Active控件 暂时使用同一个函数来响应
{
	// TODO: Add your message handler code here
	::AfxMessageBox("你点击了这个Active控件");
}



基于对话框的ActiveX控件开发以及MFC对话框调用点击无响应问题

基于MFC的ActiveX控件,主要功能是加载图片进行局部放大。 Demo小样:一、放大控件的设计过程1.新建MFC ActiveX项目 2.添加对话框MyDlg类,对话框ID为IDD_MYDLG...
  • u010684134
  • u010684134
  • 2015年12月07日 15:05
  • 1359

创建添加对话框的Activex

1.ActiveX的基本概念          ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。这个容器包括WEB网页,应用程序窗体...
  • wangzhiyang925
  • wangzhiyang925
  • 2014年08月20日 23:10
  • 2180

开发基于MFC的ActiveX控件的时候的一些消息处理

MFC有PreTranslageMessage() 可以处理一些基于MFC的消息处理。 可是有时候如果你开发一个基于MFC的ActiveX作为容器,内部实现是Win32 或者其他框架会发现,好多消息...
  • sesiria
  • sesiria
  • 2016年08月08日 17:26
  • 1312

动态创建控件(按钮)及响应事件的方法

  • 2002年10月07日 00:00
  • 7KB
  • 下载

在视图窗口中动态创建ActiveX控件FlexGrid

  • 2013年02月05日 15:48
  • 31KB
  • 下载

【VS开发】动态创建ActiveX控件

bool CCollectDataDlgDlg::CreateMyCtrl(LPRECT lpRect, UINT nID, CWnd *pParent) {  CLSID clsid;  ws...
  • LG1259156776
  • LG1259156776
  • 2016年07月23日 12:52
  • 670

Access vba动态创建ActiveX控件

http://blog.csdn.net/xcntime/article/details/21706779 在Access  VBA编写的程序中,如果可以在运行时动态创建控件无疑是非常有用的,因为...
  • xcntime
  • xcntime
  • 2014年12月21日 14:07
  • 1046

在MFC中动态创建控件以及事件响应

动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。   一、创建动态控件:   为了对照,我们先来看一下静态控件的创建。   放置静态控件时必须先建立一个容...
  • yanhui8610
  • yanhui8610
  • 2011年11月12日 17:36
  • 253

MFC动态创建控件并响应事件代码实现过程

MFC动态创建控件以及响应动态创建的控件的事件的实现方法如下。 1.创建对象     用new进行动态创建一个对象。然后调用Create函数创建窗口,在函数的父窗口参数中传入this或者用AfxG...
  • Qsir
  • Qsir
  • 2017年06月07日 13:23
  • 578

在MFC中动态创建控件以及事件响应

在MFC中动态创建控件以及事件响应 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。   一、创建动态控件:   为了对照,我们先来看一下静态控件...
  • m372897500
  • m372897500
  • 2012年02月17日 12:36
  • 745
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对话框容器环境响应Active控件事件 动态创建ActiveX
举报原因:
原因补充:

(最多只允许输入30个字)