制作一个类似button控件的 ocx 怎么制作一个类似button控件的 ocx呢? 系统默认的只是绘制一个圆,如果想将控件做成像 button那样的窗口界面,该如何做? 有参考资料提供以下。同事只给我一个 .ocx的文件,我该如何使用里面的接口? 在我的机器上制作的 .ocx如果要拿到其他机器上使用,该提供哪些文件? 能直接把文件拷贝过去注册控件后使用吗?想做一个类似flash 播放器 那样的能在web页面上使用的控件,哪个兄弟给个案例或者链接。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接放个按钮上去不行么可以学习一下杨老师的《COM组件设计与应用》http://www.vckbase.com/vckbase/columnist/yangfeng/ 放到哪呢? 在向导中我选则基类可以是CButton或者其他控件类,就出来了,这样可以吗?待会给分哈,多谢 看看这个http://my.oschina.net/SmileWolf/blog/17206 默认的active工程在ctrl类中OnDraw函数中绘制椭圆,你在ctrl中定义一个成员按钮,在Ctrl::OnDraw中MoveWindow然后Show既可 将ocx控件,以及ocx控件所依赖的库都考过去,然后在其他机子上注册ocx,就可以使用了,点击鼠标右键,里面有个insert activex control..,会默认生成一个类,此类即是控件所生成的类 两个方法:方法1.让控件继承于标准控件,即在工程创建向导中选择MFC ActiveX ControlWizzard->next->在Which window class, if any, should this control subclass?中选择BUTTON,这样向导会增加以下函数:BOOL COcxBtnCtrl::PreCreateWindow(CREATESTRUCT& cs){ cs.lpszClass = _T("BUTTON"); return COleControl::PreCreateWindow(cs);}BOOL COcxBtnCtrl::IsSubclassedControl(){ return TRUE;}这样在OnDraw里只要简单处理即可:void COcxBtnCtrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid){ DoSuperclassPaint(pdc, rcBounds);}方法2.自己在OnDraw函数里画:在Resource里面增加两幅图片,一幅button按下的图片,一幅button抬起的图片。在OnDraw里采用StretchBlt画抬起的图片;在OnLButtonDown里画按下去的图片即可。还有什么问题吗? 多谢回答,眼泪哗哗的啊。这里真二八经的回答问题的,越来越少了。。我自己也找到了一种方法就是插入并创建一个对话框,将他作为控件的成员,并设置属性为child,no title等,然后在create事件响应函数中创建并显示,在OnDraw中MoveWindow(CRect(0,0,50,50),true)也行给分 为什么这段代码画出的屏幕是黑色的? MFC如何将编辑框文字占满全框? eMule 0.47c最新版可编译版本源代码。 一个简单的图标问题 各位大侠,想请教一下有没有支持world的VC控件 怎样在程序里播放mp3?? 有没有list和tree合在一起的控件,具有list和tree二者的功能!! VC+access+ODBC下如何存取图象(例如.bmp) 有谁知道Visual Studio.net正式中文版要多少钱啊?为什么Beta2只卖20块而据说VS6要卖23000元? live555 win7编译通过,使用静态库报错 求问如何通过pc机向手机发送短信? 谁学过MFC的打印啊?
http://www.vckbase.com/vckbase/columnist/yangfeng/
http://my.oschina.net/SmileWolf/blog/17206
方法1.让控件继承于标准控件,即在工程创建向导中选择MFC ActiveX ControlWizzard->next->在Which window class, if any, should this control subclass?中选择BUTTON,这样向导会增加以下函数:
BOOL COcxBtnCtrl::PreCreateWindow(CREATESTRUCT& cs)
{
cs.lpszClass = _T("BUTTON");
return COleControl::PreCreateWindow(cs);
}BOOL COcxBtnCtrl::IsSubclassedControl()
{
return TRUE;
}这样在OnDraw里只要简单处理即可:
void COcxBtnCtrl::OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
DoSuperclassPaint(pdc, rcBounds);
}方法2.自己在OnDraw函数里画:
在Resource里面增加两幅图片,一幅button按下的图片,一幅button抬起的图片。在OnDraw里采用StretchBlt画抬起的图片;在OnLButtonDown里画按下去的图片即可。还有什么问题吗?
多谢回答,眼泪哗哗的啊。这里真二八经的回答问题的,越来越少了。。我自己也找到了一种方法就是插入并创建一个对话框,将他作为控件的成员,并设置属性为child,no title等,然后在create事件响应函数中创建并显示,在OnDraw中MoveWindow(CRect(0,0,50,50),true)也行给分