现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2012-08-10 06:43 工业·编程 ⁄ 共 15371字 暂无评论
本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础: 1. 大致了解MFC框架的基本运作原理; 2. 熟悉Windows消息机制,熟悉MFC的消息映射和反射机制; 3. 熟悉OOP理论和技术; 本文根据笔者多年的开发经验,并结合简单的例子一一展开,希望对读者有所帮助。 1. 美化界面之开题篇 相信使用过《金山毒霸》、《瑞星杀毒》软件的读者应该还记得它们的精美界面. 程序的功能如何如何强大是一回事,它的...
阅读全文
2012-08-09 04:25 工业·编程 ⁄ 共 4672字 暂无评论
在性能优化方面永远注意80-20原则,即20%的程序消耗了80%的运行时间,因而我们要改进效率,最主要是考虑改进那20%的代码。不要优化程序中开销不大的那80%,这是劳而无功的。 第一招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。比如说字符串的赋值: 方法A:通常的办法 #define LEN 32 char string1 [LEN];...
阅读全文
2012-08-09 04:23 工业·编程 ⁄ 共 682字 暂无评论
一、注意虚拟析构函数的使用       假设 class CB : public CA;       这个时候若:      CA *p = new CB();      delete p;      如果CA的析构函数不是虚拟的话,CB的析构函数就不会被执行,而只有CA的析构函数会被执行。     很多类并不是被设计作为基类的。只有类在行为...
阅读全文
2012-08-09 04:20 工业·编程 ⁄ 共 1711字 暂无评论
    软件的“易用性”从何而来?源自于秀外慧中的程序用户界面。     程序的界面设计经历了两个完全不同的时期:第一代是以文本为基础的简单交互,如常见的命令行方式、字符型菜单等等,这个时期的程序再界面设计方面基本上很少考虑人的审美需求;第二个时期以图形、语音化的程序界面为代表,这个时期的程序设计充分地考虑了人对美的需求,在设计思想上,遵循着以人为本的理念。优秀的程序界面,在...
阅读全文
2012-08-09 04:17 工业·编程 ⁄ 共 1218字 暂无评论
使用一种强制的机制保证一些致命错误能够被处理是一个明智的选择。比如说内存错,文件错等等。       在C++中引入了一种在C语言中不存在的特性,错误捕捉机制(try/catch),这是一种强制性的机制,如果程序中抛出的异常未被成功捕捉,该异常将一直会沿着函数调用的顺序上升,直到被捕捉到为止。而默认的main函数之外存在有异常捕捉代码,这段默认的异常捕捉代码将会终止程序并报告异常的发生。 ...
阅读全文
2012-08-09 04:16 工业·编程 ⁄ 共 448字 评论 1 条
HBRUSH CMyUIDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)       {           HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);            if(   CTLCOLOR_STATIC   ==   nCtlColor   )       ...
阅读全文
类中定义: CTreeCtrl m_treeCtrl; CImageList cImageList; 代码实现: HICON hIcon; CimageList.Create(16, 16,  ILC_COLOR32| ILC_MASK, 4, 4);//16,16表示cImageList中图标大小,                                     &#...
阅读全文
2012-08-09 04:14 工业·编程 ⁄ 共 414字 暂无评论
TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能;该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消息了,从而帮助你调式也在RELEASE的时候减少代码量。 使用非常简单,格式如下: TRACE("DDDDDDDDDDD"); temp=123; TRACE("wewe%d",temp); 分别在调试窗口显示: DDDDDDDDDDD wewe123 同样还存在TRACE0,TRACE1,TRACE2。。。分别对应0,1,2。。个参数 TRACE信息输出到V...
阅读全文
2012-08-09 02:53 工业·编程 ⁄ 共 1206字 暂无评论
三六、使应用程序启动时不自动创建新文档 在默认情况下,用AppWizard开发的SDI/MDI应用程序在启动时创建一个新的文档。如果要使应用程序在启动时不创建新文档,只需在应用类 CmyApp::InitInstance()函数的ProcessShellCommand调用前加上下面的语句就可以了: cmdInfo.m_nShellCommand = CComandLineInfo::FileNothing; 三七、播放mp3:     CFileDialog file(true);     if(file.DoModal()...
阅读全文
2012-08-09 02:51 工业·编程 ⁄ 共 1344字 暂无评论
三一、文件查找:(例查找连续的换行符) FILE *fp,*fp1; int flag=0; int ch; fp=fopen("c://test.txt","r"); fp1=fopen("c://wrttest.txt","w"); while(!feof(fp)) {   ch=fgetc(fp);   if(feof(fp))    break;   if(ch==’/n’&&flag==1)    continue;   else if(ch==’/n’&&flag==0...
阅读全文