65.9K
CodeProject 正在变化。 阅读更多。
Home

日期和时间 ActiveX 控件(VC++ 编写)供 VB 应用程序使用

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.50/5 (7投票s)

2007年5月17日

CPOL

1分钟阅读

viewsIcon

37282

downloadIcon

859

供 VB 应用程序使用的日期和时间 ActiveX 控件

引言

嗨,这个ActiveX控件教程是为初学者准备的。它是在VC++ 6.0中创建的。

可以将其作为ActiveX教程来学习。

背景

许多程序员试图解释ActiveX控件的概念。

这个程序将帮助你清楚地理解OCX控件的创建和在VC++中的使用。

在VC++中

步骤 1:文件 -> 新建 -> MFC ActiveX控件向导

步骤 2:为项目指定一个你喜欢的名称。

步骤 3:点击“确定”,并在下拉列表中选择控件子类类型为 STAIC。

步骤 4:为子类指定一个名称。

步骤 5:点击“完成”。

步骤 6:在 prjnamectrl.cpp 文件中,为 prjnamectrl 类添加消息处理程序。

1. WM_PAINT - 添加以下代码:

void CShapeCtrl::OnPaint()
{ SetTimer(1,100,0);
CPaintDC dc(this); // 设备上下文,用于绘制
// 不要为绘制消息调用 COleControl::OnPaint()
}

2. WM_TIMER - 添加以下代码:

CDC *cd;
void CShapeCtrl::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{ SYSTEMTIME st;CString cs;
CRect g;g.top=0;g.left=0;g.right=200;g.bottom=18;
CBrush cb;cb.CreateSolidBrush(RGB(192,192,192));
CRgn crg;crg.CreateRectRgn(0,0,200,18);
cd=GetDC(0);
GetLocalTime(&st);
cs.Format("日期:%d-%d-%d 时间:%d:%d:%d",st.wDay,st.wMonth,st.wYear,
st.wHour,st.wMinute,st.wSecond);
cd->FillRect(g,&cb);
cd->SetBkMode(TRANSPARENT);
SetWindowRgn(crg,1);
cd->SetBoundsRect(g,1);
cd->SetTextColor(RGB(0,0,250));
cd->TextOut(0,0,cs,cs.GetLength());
ReleaseDC(cd);
}
COleControl::OnTimer(nIDEvent);
}

步骤 7:修改资源,然后编译并运行。

步骤 8:在Debug/Release文件夹中,你可能会得到 prjname.ocx 文件。

在VB中

步骤 1:创建一个新的项目,作为简单的应用程序。

步骤 2:右键单击“组件”选项卡,选择“组件”。

步骤 3:在“组件”中,浏览并找到你之前创建的OCX文件。

步骤 4:应用并确定。

步骤 5:将组件拖放到你的窗体中。

步骤 6:它就可以工作了!

历史

在此处保持您所做的任何更改或改进的实时更新。

© . All rights reserved.