社区
ATL
帖子详情
怎样将简单的MFC对话框在ocx中显示?
wml231
2009-12-05 04:21:07
并使对话框作为ocx的形状,随ocx的大小变化而变化
是在OnDraw中做吗,怎么做呢?
在线等!!!!!!!!答者有分
...全文
271
14
打赏
收藏
怎样将简单的MFC对话框在ocx中显示?
并使对话框作为ocx的形状,随ocx的大小变化而变化 是在OnDraw中做吗,怎么做呢? 在线等!!!!!!!!答者有分
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aa_0910
2010-01-01
打赏
举报
回复
ding.....
我在地球
2009-12-22
打赏
举报
回复
可以 添加 对话框 资源 到 项目中 ,然后 生成一个 对话框类来 控制,在 控件 头文件 中 定义 该对话框变量: dlg1
在 控件实现文件 中的 OnCreate 事件中 通过 dlg1.Create(IDD_DIALOG1,this);dlg1.ShowWindow(SW_SHOW);来生成并显示
OK了
RockEx
2009-12-19
打赏
举报
回复
1, 在“资源“视图中,右键”对话框“,选择”插入对话框“来创建一个默认的对话框。
2, 删除默认产生的“确定“和”取消“按钮,调整对话框大小为230*40。
3,更改对话框ID为IDD_MAINDIALOG,并修改对话框属性:Border—none, Style – Child, System Menu – False, Visible – True.(这几个属性很重要,否则对话框可能不能显示)
5,为对话框创建一个类,名为CMainDialog,
现在我们为类增加成员变量:
1,为CMyActiveXCtrl类增加一个变量m_MainDialog,类型为CMainDialog
增加支持代码
1,为CMyActiveXCtrl处理WM_CREATE事件的代码,在其中加入:
m_MainDialog.Create(IDD_MAINDIALOG, this);
并在OnDraw函数中加入:
m_MainDialog.MoveWindow(rcBounds, TRUE); //对话框显示
wml231
2009-12-19
打赏
举报
回复
哦,也是,不过我的控件是第三方的,不知道能创建不,需要测试下
rambo_ghaip
2009-12-16
打赏
举报
回复
ocx自带有窗口,你可以在这窗口里面create你想使用的大多数控件,何必往ocx中放对话框呢?
Dan_M
2009-12-16
打赏
举报
回复
4楼正解
wml231
2009-12-14
打赏
举报
回复
多谢,回去我试下,晚些散分
wml231
2009-12-06
打赏
举报
回复
属性好像没戏,多谢两位,4楼的方法能详细点吗?
NET_SPY_SHI
2009-12-06
打赏
举报
回复
如果是开发ocx,可以这样:
假设ocx的名称为SMC_NTM,使用MFC创建
CSMC_NTMCtrl::CSMC_NTMCtrl()
{
InitializeIIDs(&IID_DSMC_NTM, &IID_DSMC_NTMEvents);
EnableSimpleFrame();
// TODO: 在此初始化控件的实例数据。
}
void CSMC_NTMCtrl::OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
if (!pdc)
return;
// TODO: 用您自己的绘图代码替换下面的代码。
//pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
//pdc->Ellipse(rcBounds);
m_TheOCXDialog->MoveWindow(rcBounds,TRUE);//对话框显示
}
// CSMC_NTMCtrl 消息处理程序
//初始化对话框
int CSMC_NTMCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: 在此添加您专用的创建代码
m_TheOCXDialog=new COCXDialog();
m_TheOCXDialog->Create(IDD_DIALOG_OCX,this);
m_TheOCXDialog->ShowWindow(SW_SHOW);
return 0;
}
//调整对话框大小
void CSMC_NTMCtrl::OnSize(UINT nType, int cx, int cy)
{
COleControl::OnSize(nType, cx, cy);
// TODO: 在此处添加消息处理程序代码
CRect rectTmp;
this->GetClientRect(rectTmp);
m_TheOCXDialog->MoveWindow(rectTmp,TRUE);
}
yexiaoya
2009-12-05
打赏
举报
回复
可以设置那个 控件的属性 好像
zoulie
2009-12-05
打赏
举报
回复
将对话框当作子窗口放进OCX中,在WM_SIZE里面根据OCX窗口大小调整对话框大小
wml231
2009-12-05
打赏
举报
回复
d
wml231
2009-12-05
打赏
举报
回复
没有啊,我就是想写个控件,控件加载就显示对话框里的信息
然后,用户拖动和拉伸控件,对话框随之变化,
很难做到吗?
WecanHuang
2009-12-05
打赏
举报
回复
你要反其道而行之?
那估计要改很多代码
vc下基于
ocx
的
对话框
控件
vc下基于
ocx
的
对话框
控件,
ocx
入门用的哦!
OCX
.zip_c++写
ocx
_lib
ocx
_
ocx
银色_vc 控件
ocx
_调用
ocx
vc
一个由c++编写的
ocx
控件。用vc++ 6.0编译,用
MFC
对话框
调用。执行后会
显示
一个增加按钮,用来表示已经调用
OCX
控件。作为一项课堂作业,它是完美的。
VC++
MFC
时钟控件
时钟控件的位置:Debug 文件夹下的Clock.
ocx
打开工程重新编译并链接,... 注册后,在
MFC
对话框
中
,右键添加 ActiveX 控件,选择 Clock Control 即可。 版本:VC6.0 来源:孙鑫《VC++深入详解(修订版)》源程序
pdf控件
OCX
型
框架:
MFC
基于
对话框
的应用程序。放大,缩小,左转,右转,跳页,目录等基本功能都有的。对于只是调PDF来看看的情况还是比较友好的。(/手动捂脸)都没打算要分的,,,无奈现在少了0分这个选项
VC++常用的共用函数100多页
◆在调试
中
怎么样MESSAGEBOX一个数字◆ 16 ◆如何控制控件的焦点◆ 16 ◆如何对析构函数
中
对象进行释放◆ 16 ◆如何关闭一个模态窗口◆ 17 ◆如何将一个提示的声音发到声卡上◆ 17 ◆如何得到打开exe的带的参数◆ 17...
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章