dw html 时分秒电子时钟,电子式时钟-krdw0dB-ChinaUnix博客

电子式时钟

作者:

看了VC知识库《在线杂志》第27期的“”,确实不错

,但失真严重。认识咱们知识库这么久,学了不少东西,我也该作点"贡献"了,于是自己动手也写一个。本文的示例程序界面如图一所示:

dgiliappimg.gif

图一

paragraph.gif

程序说明

首先建立一个基于对话框的工程,导入数码位图资源,直接在对话框类CMy2Dlg中添加类mytime

程序中的mytime类主要提供两个函数接口:一个是set()用来设置显示位置;一个是myfun()用来设置显示数字来显示。class mytime

{

public:

int change(char);

mytime();

~mytime();

CString m_time;

void myfun(CString temp);//显示数字字符串

void set(CDialog *,int tnum,int tx,int ty,int tspace);//设置显示位置

CStatic *m_pictur[20];// 静态图 指针 数组

int num;// 静态图个数

int x;// 起始X坐标

int y;// 起始Y坐标

int space;// 各数码之间 间距

};主要成员函数set()和myfun(): void mytime::myfun(CString temp)

{

m_time=temp;

int mynum=m_time.GetLength();

for(int k=0;kSetIcon(myico);//设置显示的图标

}

for(int i=k;iSetIcon(myico);

}

}

void mytime::set(CDialog *parent,int tnum,int tx,int ty,int tspace)

{

CMy2Dlg *mypar=(CMy2Dlg*)parent;

for(int i=0;iCreate(NULL,SS_ICON,aa1,mypar,1);// 创建静态图标控件

m_pictur[k]->ShowWindow(true);

}

}  然后在CMy2Dlg类中加入CMy2Dlg::OnTimer()消息响应函数以实现时钟功能,其它具体代码看源码内有详细说明。

程序中难免有不足和BUG,欢迎指正。

--------------------next---------------------

doc2.gif Petzold的《Windows程序设计》里也有这个,他用gdi画的。 ( annidy 发表于 2008-8-28 10:56:00)

doc2.gif 要改一下!

严重的GDI资源泄露! ( wolong98 发表于 2004-12-28 15:38:00)

doc2.gif 是有几分钟后就不再显示这个问题。

可能是ExtractIcon函数引起的。把m_imgList和myico改成成员变量让ExtractIcon函数在构造函数内执行。

具体更改如下:

1.成员变量声明:

CImageList m_imgList;

HICON myico[16];

2.构造函数:

mytime::mytime()

{

m_time=_T("");

num=0;

m_imgList.Create(IDB_BITMAP1,12, 1, RGB(255,255,255));//创建位图链 每个位图12像素

for(int i=0;i<16;i++)//释放图标

{

myico[i]= m_imgList.ExtractIcon(i);

}

}

3.myfun函数:

void mytime::myfun(CString temp)

{

m_time=temp;

int mynum=m_time.GetLength();

for(int k=0;k{

m_pictur[k]->SetIcon(myico[10]);//设置显示的图标

}

for(int i=k;i{

m_pictur[i]->SetIcon(myico[change(m_time[i-k])]);

}

} ( lhongliangi 发表于 2004-7-13 13:12:00)

doc2.gif 问题:几分钟后就不再显示时间,连窗口标题的图标也没了。 ( vcxian 发表于 2004-7-8 13:13:00)

doc2.gif 不用位图也没有太大难度,只是要一点耐心...慢慢用gdi画 ( redcheek 发表于 2004-7-6 12:42:00)

doc2.gif 偶记得在codeproject还是codeguru上有一个不用位图资源的,也可以显示成这个样子,当时看到,甚是佩服。各位有兴趣可以找一找 ( yulincat 发表于 2004-7-5 18:25:00)

.......................................................

--------------------next---------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值