博文
桌面时钟出新版本了!!(2006-02-19 20:47:00)
摘要: 这是一个小巧的桌面时钟,显示时位于所有窗口的前端.采用指针显示时间方式,在表盘上显示阴历阳历日期以及星期,二十四节气,重要的节日显示,同时提供手动关机和定时关机功能.双击表盘即可打开万年历.
可以作为WINDOWS时钟代替品.
由于时间关系,本软件做的有点粗糙,我会在以后加以完善.
使用前请先看说明.
不管你是否使用了本软件,不管你对本软件有什么想法,欢迎给我留言
下载地址:http://www.programfan.com/wysoft/showwysoft.asp?id=1549......
改变对话框的背景色(2006-02-15 19:45:00)
摘要:改变对话框的背景色
黄基前(广西桂林)
---- 笔者曾在《软件报》2000年第5期中讨论过如何改变控件的颜色,但还有
相当一部分的读者来信提问:一个基于对话框的MFC AppWizard应用程序中,如
何改变对话框的背景颜色呢?对于这个问题,其实可以由几种不同的方法来实
现,具体如下(粗斜体代码为增添的):
---- 方法一:调用CWinApp类的成员函数SetDialogBkColor来实现。
---- 其中函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色。
下面的例子是将应用程序对话框设置为蓝色背景和红色文本,步骤如下:
---- ① 新建一个基于Dialog的MFC AppWizard应用程序ExampleDlg。
---- ② 在CExampleDlgApp ::InitInstance()中添加如下代码:
BOOL CExampleDlgApp: : InitInstance ( )
{
…
CExampleDlgDlg dlg;
m_pMainWnd = &dlg;
//先于DoModal()调用,将对话框设置为蓝色背景、红色文本
SetDialogBkColor(RGB(0,0,255),RGB(255,0,0));
int nResponse = dlg.DoModal();
…
}
---- 编译并运行,此时对话框的背景色和文本色已发生了改变。值得注意的
是:在调用DoModal()之前必须先调用SetDialogBkColor,且此方法是将改变
应用程序中所有的对话框颜色,并不能针对某一个指定的对话框。
---- 方法二:重载OnPaint(),即WM_PAINT消息。有关代码如下(以上例工程为准):
void CExampleDlgDlg::OnPaint()
{
if (IsIconic())
…
else
{
CRect rect;
CPaintDC dc(this);
GetClientRect(rect);
dc.FillSolidRect(rect,RGB(0,255,0)); //设置为绿色背景
CDialog::OnPaint();
}
---- 方法三:重载OnCt......
轻松查找Windows自启动程序(2006-02-15 09:20:00)
摘要: 如果系统启动时自动加载的程序过多,会造成启动速度缓慢,而很多病毒或者木马也是在系统启动时自动加载的。所以了解怎样在Windows中查找自启动程序是非常重要的。
一、在“启动”文件夹中寻找
“启动”文件夹一般位于“系统盘符\Documents and Settings\用户名\开始菜单\程序\启动\”目录(Win 2000/XP)或“系统盘符\WINDOWS\Start Menu\Programs\启动\”目录。通过快捷方式的属性可以查出程序所在的位置。
二、从自动批处理文件中寻找
在Win 98中,Autoexec.bat和Winstart.bat文件中的程序在开机时自动执行;而在WinMe/2000/XP/2003中,这两个批处理文件默认不被执行。
三、从系统配置文件中寻找
在有些系统配置文件中也可以找到自启动程序的踪迹,如Config.sys、Win.ini、System.ini、Wininit.ini和Msdos.sys等。
四、通过“......
Windows XP\2000操作系统自动关机的实现(2006-02-15 09:18:00)
摘要: 如果你想出门,但电脑又正在进行工作,这时就要用到自动关机。大多数实现自动关机的方法都是使用一些第三方软件,这样不仅麻烦, 而且为实现这个小功能而专门动用一个软件,显的小题大做了!其实Windows XP(Windows 2000也可以)自身就具备定时关机的功能,下面我们就来看看如何实现Windows XP的自动关机。
Windows XP的关机是由Shutdown.exe程序来控制的,位于Windows\System32文件夹中。如果想让Windows 2000也实现同样的效果,可以把Shutdown.exe复制到系统目录下。比如你的电脑要在22:00关机,可以选择“开始→运行”,输入“at 22:00 Shutdown -s”,这样,到了22点电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工作。如果你想以倒计时的方式关机,可以输入“Shutdown.exe -s -t 3600”,这里表示60分钟后自动关机,“3600”代表60分钟。设置好自动关机后,如果想取消的话,可以在运行中输入“shutdown -a”。另外输入“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。
Shutdown.exe的参数,每个都具有特定的用途,执行每一个都会产生不同的效果,比如“-s”就表示关闭本地计算机,“-a”表示取消关机操作,下面列出了更多参数,大家可以在Shutdown.exe中按需使用。
用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-txx] [-c "comment"] [-d up:xx:yy]
&......
[转]我眼中的母亲(2006-02-11 10:09:00)
摘要:上世纪80年代,我出生在中国最北方的城市,和所有人一样,刚出来就只是会哭,不过这哭声让我的妈妈感到欣慰。从那以后我便如电脑上的鼠标,成了母亲这台电脑永远割舍不下的牵挂。b.ChinaRen.com
不知何时,第一屡光线射入我的眼帘,我的思想由此开始了,同时母亲的印象也第一次在未长成的大脑里勾勒出来。
自:Club.ChinaRen.com
母亲拥有一双带着漂亮形状,如清澈泉水般的大眼睛,没有人会相信眼睛会说话,不过母亲的眼睛的确是我心灵信息传递的开始。在未曾说清楚汉语之前,我的语言就是通过与母亲眼神的沟通来表达的,我的饥饿、痛苦、快乐、甚至在闭上眼睛睡觉时,梦里的信息,都可以传递给母亲。在我的印象里,母亲的眼睛虽然水汪汪的,但是很少充满泪水,无论日子怎样艰苦、工作怎样劳累,特别是在我小的时候,身体不好,经常生病,母亲在医院里看着我痛苦的样子,却没有像其他母亲心疼孩子那样而流泪,并且还总是鼓励我坚强,从她的眼里,我知道了什么是坚强、什么是独立,但当我度过自己18岁生日后的两个月,一切发生了改变,母亲第一次在我的面前哭了,而且是哭的那么伤心,如同泛滥的河水,因为父亲因为心脏病,英年早逝。从那以后,母亲的泪水经常弄湿我的衣袖,母亲说,她老了,想坚强但是岁月打破了她的意志,经不住打击了,说我长大了,以后要知道怎样当家了。可祸不单行,接着母亲的父亲,母亲的小妹,接连在两年内去世,母亲的眼泪真的如同泉水长流不停。后来,到了去年我离开家乡去南方工作时,在长途汽车站再次见到了母亲的眼泪,她这次没有流很多,她是为了不想让我变的软弱,她把脸躲到继父的身后,但我还是看到泪珠从她眼角滑落……,我真的也忍不住了,如同小的时候,用眼睛和母亲说话一样,泪水在眼眶里润涨,但是没有流下来,我知道我要坚强。来到南方工作,无论工作多艰难,生活多孤单,我在电脑屏幕前始终坚持把自己月牙形状的眼睛形象通过视频传递给母亲,同时我也会收到母亲的同样信号。
自:Club.ChinaRen.com
母亲的双手摸了20多年,从细腻到粗糙到忘记再到想念。小的时候,母亲的手就是我的手,我的意志想到什么它就会做什么。它是那么柔软、灵巧,我的衣物和事物都来自于它,这双手也曾拉着我漫步在田间夕阳的小路中,感受人间的美好。慢慢长大后,我也感觉到它渐渐变的有力,同时也粗糙了,摸在脸上有种......
VC小知识总结(2006-01-18 22:24:00)
摘要:26)CImageList控件中图象橙色被显示为黄色?
我使用了一个CImageList控件来装入位图,用于TREE控件,其它的色彩都很正常就是橙色被显示成为黄色.
你只能使用系统指定的20种颜色(橙色不包括在内);当然,你也可以用下面的方法来装载位图资源而不受颜色数的限制.
HBITMAP LoadResourceBitmap(HINSTANCE hInstance, LPSTR lpString,
HPALETTE FAR* lphPalette)
{
HRSRC hRsrc;
HGLOBAL hGlobal;
HBITMAP hBitmapFinal = NULL;
LPBITMAPINFOHEADER lpbi;
HDC hdc;
int iNumColors;
if (hRsrc = ::FindResource(hInstance, lpString, RT_BITMAP))
{
hGlobal = ::LoadResource(hInstance, hRsrc);
lpbi = (LPBITMAPINFOHEADER)LockResource(hGlobal);
hdc = ::GetDC(NULL);
*lphPalette = CreateDIBPalette ((LPBITMAPINFO)lpbi, &iNum......
VC小知识总结(2006-01-18 22:23:00)
摘要:(1)当文档被修改时,如何在标题上加上标志'*'?
重载CDocument类的虚函数virtual SetModifiedFlag:
void CTest2Doc::SetModifiedFlag(BOOL bModified)
{
CString strTitle = GetTitle();
CString strDirtyFlag = " *"; // note space before the '*'
// so we don't break Save As dialog
if (!IsModified() && bModified)
{
SetTitle(strTitle + strDirtyFlag);
}
else if ( IsModified() && !bModified )
{
int nTitleLength = strTitle.GetLength();
int nDirtyLength = strDirtyFlag.GetLength();
SetTitle( strTitle.Left(nTitleLength - nDirtyLength) );
......
VC小知识总结(2006-01-18 22:22:00)
摘要:(46) CDC中的竖排文本?
在OnDraw成员函数中我想让文本竖直对齐,但CDC类似乎不支持该处理
方法一:如果你的竖直对齐是指旋转文本的话,下面的代码会对你有帮助:该代码检查一个Check box控制,查看文本是否需要旋转.
// m_pcfYTitle is a CFont* to the selected font.
// m_bTotateYTitle is a bool (==TRUE if rotated)
void CPage1::OnRotateytitle()
{
LOGFONT lgf;
m_pcfYTitle->GetLogFont(&lgf);
m_bRotateYTitle=
((CButton*)GetDlgItem(IDC_ROTATEYTITLE))->GetCheck()>0;
// escapement is reckoned clockwise in 1/10ths of a degree:
lgf.lfEscapement=-(m_bRotateYTitle*900);
m_pcfYTitle->DeleteObject();
m_pcfYTitle->CreateFontIndirect(&lgf);
DrawSampleChart();
}
注意如果你从CFontDialog中选择了不同的字体,你应该自己设定LOGFONT的lfEscapement成员.将初始化后的lfEscapement值传到CFontDialog中.
方法二:还有一段代码可参考:
LOGFONT LocalLogFont;
strcpy(LocalLogFont.lfFaceName, TypeFace);
LocalLogFont.lfWeight = fWeight;
LocalLogFont.lfEscapement = Orient;
LocalLogFont.lfOrientation = Orient;
if (MyFont.CreateFontIndirect(&LocalLogF......
C++/C试题的答案与评分标准(2006-01-18 22:16:00)
摘要:一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)
请写出 BOOL flag 与“零值”比较的 if 语句。(3分)
标准答案:
if ( flag )
if ( !flag )
如下写法均属不良风格,不得分。
if (flag == TRUE)
if (flag == 1 )
if (flag == FALSE)
if (flag == 0)
请写出 float x 与“零值”比较的 if 语句。(4分)
标准答案示例:
const float EPSINON = 0.00001;
if ((x >= - EPSINON) && (x <= EPSINON)
不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。
如下是错误的写法,不得分。
if (x == 0.0)
if (x != 0.0)
请写出 char *p 与“零值”比较的 if 语句。(3分)
标准答案:
if (p == NULL)
if (p......
C++/C编程质量试题(2006-01-18 22:14:00)
摘要: 本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。
笔试时间90分钟。请考生认真答题,切勿轻视。
一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)
提示:这里“零值”可以是0, 0.0 , FALSE或者“空指针”。例如 int 变量 n 与“零值”比较的 if 语句为:
if ( n == 0 )
if ( n != 0 )
以此类推。
请写出 BOOL flag 与“零值”比较的 if 语句:
请写出 float x 与“零值”比较的 if 语句:
请写出 char *p 与“零值”比较的 if 语句:
二、以下为Windows NT下的32位C++程序,请计算sizeof的值(10分)
char str[] = “Hello” ;
char *p = str ;
int n = 10;
请计算
sizeof (str ) =
sizeof ( p ) =
......