2024年4月2日发(作者:)
OCX控件
新建->项目->MFCActiveX
完成后编译器自动添加四个类。
型如:
一.事件的添加方法:
1.常用事件
右键Ctrl类->添加->添加事件->常用事件(Click事件为例)
在其他程序调用控件时在控件事件中就可以添加Click事件。在点击新建的对话框中的控
件时就会执行Click事件函数。
如下图
2.自定义方法
右键.lib类的第一个节点->添加方法
添加后在其他程序调用控件时就可以给控件添加变量并调用方法。
二.添加属性
以背景色为例,右键Lib类的第一个节点,添加属性,选择常用属性中的BackColor属
性(当然也可以自定义属性):
在Listcpp中手动添加属性页代码:
在OnDraw手动添加:
其中上图圈出部分为手动添加的代码,用于当控件被调用时打开改控件的颜色属性面板改变
控件的颜色。而COLORREFcol=TranslateColor(GetBackColor);这行代码实现了获取下图颜
色面板的颜色并返回给col;
如何在新程序中添加控件并实时改变控件的GDI?
方法:右键xxxlib文件的第一节点添加方法;
完成后在文件会添加该函数,例如:
voidCocx004Ctrl::myfun1(DOUBLEparag)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(parag>250)
{
parag=0;
}
CDC*dc=GetDC();
CRectrec;
GetClientRect(&rec);
CBrushbru;
CPenpen;
Pen(PS_SOLID,4,RGB(100,parag,100));
dc->SelectObject(&pen);
SolidBrush(RGB(parag,100,100));
dc->SelectObject(&bru);
dc->MoveTo(,);
dc->LineTo(,);
dc->Ellipse(&rec);
ReleaseDC(dc);
//TODO:
在此添加调度处理程序代码
}
以上代码实现了控件的简单绘图
注:默认属性中除颜色属性外还有字体等属性,这儿未整理。


发布评论