VCer代码 VCer开源 VCer文章 VCer工具 VCer知道 VCer词典 VCer读书 VCer论坛   站点首页 我要张贴 控制面板
VCer代码 VCer开源 VCer文章 VCer工具 VCer知道 VCer词典 VCer读书 VCer论坛   站点首页 我要张贴 控制面板

目前位置: VCer资源中心
子级分类: VCer代码 VCer开源 VCer工具 VCer知道 VCer词典 VCer读书 VCer文章 VCer论坛
我来张贴一个>>>


白乔原创:实战软件DIY[4]
 
3. 实战策略 确定了FlashNow!的功能需求之后,接下来就是系统设计的工作。很简单,“怎样解决用户需求所提出的问题”,“在多种解决方案中,哪一种方案最合适”,如此如此,就是具体的系统设计的过程。系统设计一般分成概要设计和详细设计,大抵是“逐步求精”的思路。 如何设计我们的FlashNow!呢?不要慌,我们从系统流程设计、系统模块设计和系统类设计三个方面入手。 3.1 系统流程设计 FlashNow!包括两个重要的流程,用户可以直接启动FlashNow!,或者从一个.swf文件关联过去;另一种方式,用户可以从文件夹的Shell菜单中选取“启动FlashNow!动画浏览器(F)”来启动FlashNow!,对应于不同的系统入口,FlashNow!的系统流程设计如下: 流程一(浏览视图): 流程二(查看视图): 流程很简单,但愿软件实现起来也同样的简单。 3.2 系统模块设计 总体来说FlashNow!可以分成以下几大模块: ² Flash动画播放控制模块 包括动画播放(Play)、停止(Stop)、跳转(Seek)、拖放(Drag)、放大(ZoomIn)、缩小(ZoomOut)、全屏显示(FullScreen)模块;包括动画循环播放、画面质量和动画背景色设置等模块; ² Explorer文件 ...
作者:不祥 bluejoe张贴于2004-04-25 11:40:47.0,共阅读3299次,回复0
白乔原创:实战软件DIY[3]
 
2. 实战部署 编码?别急。对程序员来说,编码是很惬意的事情(就象碰到咖啡和啤酒一样),但记住:不要急着编码。做好完整的实战部署,才能打好仗。 2.1 问题定义 为什么要开发FlashNow!?开发FlashNow!真的有必要吗?FlashNow!系统的开发真正可行吗?下面我们来具体分析一下需求产生的基本背景。 也许你使用过acdsee,很好的东西,acdsee是个很成功的案例,大量的收藏图片,合法的,或者不合法的,你都会想到使用acdsee来查看它,这就是acdsee成功的地方。那么,现在流行什么了?现在(实际上是去年、或者前年)流行起Flash动画了,追美眉的男生一定很清楚,阿贵系列的,snoopy系列的,流氓兔系列的,ShowGood MTV,还有更多的无厘头的MTV,都纷纷采用Flash动画格式,去网上随便走走,活灵活现的Flash广告比中关村的ITer还要多。 总之,Flash动画很流行了。Flash作为一种成熟的流式技术,给动画带来了丰富的声音、快的速度和吸引人的交互性,Flash让动画活起来了。有Flash查看工具吗?有的,市场上流行的动画浏览器不少,有一款国外的产品SwfBrowser就很不错。怎么说呢,利用ShockwaveFlash控件,通过VB就完全可以做出一个象模象样的Flash动画浏览器来。作为Flash的缔造者,Macromedia也提供了界面 ...
作者:不祥 bluejoe张贴于2004-04-25 11:39:15.0,共阅读2805次,回复0
白乔原创:实战软件DIY[2]
 
1. 实战目标 我们到底要做什么?“一副图画胜过千言万语”,图1为FlashNow!的最终用户安装界面(在本文的后续内容我们将学习到软件安装程序的制作)。 图1 FlashNow!动画浏览器安装界面 再也简单不过了,我们要做的是一个Flash动画浏览器。图2和图3是软件运行界面的2个不同风格的快照(snapshot),图2是FlashNow!的查看视图,图3是FlashNow!的浏览视图,一个类似于资源浏览器的界面。 图2 FlashNow!的查看视图 图3 FlashNow!的浏览视图 程序跑起来会有2个界面,实战目标应该清楚了,FlashNow!实际上就是一个类似于acdsee双界面的Flash动画浏览器。 “麻雀虽小,五脏俱全”,再简单的软件都必须有详尽的帮助文档。如图4为FlashNow!的帮助界面。看来我们的实战内容还应包括帮助文档的编写。 图4 FlashNow!的帮助界面 看来要学的东西还真的不少,那我们赶快开动吧!
作者:不祥 bluejoe张贴于2004-04-25 11:38:07.0,共阅读2921次,回复0
GetLastError()对应的原因
 
void DisplayError(DWORD dwError) { LPVOID pv; FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER| FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwError, MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), (LPTSTR)&pv, 0, NULL); MessageBox(NULL, (LPTSTR)pv, "Error", MB_ICONHAND); LocalFree(pv); } 这样用: DisplayError(WSAGetLastError()); 可以看到错误的原因!
作者:不祥 jerry张贴于2004-04-24 22:31:46.0,共阅读2358次,回复0
偶新来的,这是偶的处女贴,请大家多关照!
 
呵呵!
作者:不祥 hustxiaoyao张贴于2004-04-24 11:21:26.0,共阅读1068次,回复0
snoopy每日一译-求星期几
 
注意事项: 在现在广泛使用的阳历中,公元1年(AD 1)之前是公元前1年(1 BC),不存在公元0年。和阳历不同,天文历法(astronomical reckoning)有0年。为了区别起见,天文历法不使用AD和BC,而使用正负号代替。天文年+1对应于公元1年(AD 1),而天文年0对应于公元前1年(1 BC),天文年-1对应于公元前2年(2 BC)。为了方便起见,我在本文及程序中都使用天文历法。 预览: 算法是基于这样的事实:+1年1月1日是星期一,+2年1月1日是星期二,依此类推。这是因为365%7=1!有了这个知识,我写了这个程序。我会解释我怎样得到这个结果的,希望对别人有点帮助。 How and Why 在我写这个程序之前,我注意到没有什么类和控件告诉我+1年1月1日是星期几,因此我想没有简单的传统方法去知道一个随机的日期是星期几。我必须另劈捷径,或者,至少改进旧的。 计算星期几传统的方法是基于一个已知星期数的基准日期。因为基准日期可以随机选择,我选择一个特殊的日期以使事情简单化。1月1日似乎是最好的选择,这样的话我不用考虑从基准日期到该年末有多少天。现在,我该选择哪一年呢?我选择0年。假设我们想知道YYYY年MM月DD日是星期几。如果我们知道了YYYY年1月1日是星期几的话,答案就很容易了。计算YYYY年1月1日的公式: theDayOfJan_1( ...
作者:不祥 ycr40张贴于2004-04-24 08:05:48.0,共阅读2198次,回复0
VCer.net宣传辞……
 
发信人: fooo99 (liaomin), 信区: VisualC 标 题: http://vcer.net即日开通! 发信站: BBS 水木清华站 (Tue Apr 13 22:14:20 2004), 转信 /////////////////////////////////////////////////////////////// From bluejoe: 经过1年的准备,vcer.net已经开发完成并已开通 主要偏重于VC代码这块,包括: 代码片段:张贴源代码区; 代码组件:可复用的开发包、类; 代码工程:完整的VC工程; 代码教程:相关VC教程,VC FAQs全集; 代码工具:VC开发过程中的辅助工具、资源; VCer论坛:论坛; 欢迎大家使用,并多提意见!! 感谢大家的一贯支持!! 在此特向一年前对vcer.net寄予厚望的VCer们致礼!! ////////////////////////////////////////////////////////
作者:不祥 bluejoe张贴于2004-04-23 09:32:50.0,共阅读1900次,回复0
如果我在编程方面遇到问题应该到哪个版发帖子呢?
 
急! 谢谢!
作者:不祥 lpngy张贴于2004-04-21 19:31:13.0,共阅读1741次,回复4
使用QueryPerformanceCount的小例子
 
LARGE_INTEGER liCount1; LARGE_INTEGER liCount2; LARGE_INTEGER liFrequency; double fSeconds; //你的其他代码... //时间点1(例如按某个button的时间) QueryPerformanceCounter(&liCount1); //你的其他代码... //时间点2(例如某事件完成的时间) QueryPerformanceCounter(&liCount2); QueryPerformanceFrequency(&liFrequency);//每秒记数 fSeconds=(double)(liCount2.QuadPart -liCount1.QuadPart )/(double)liFrequency.QuadPart; //时间点2和时间点1之间的精确秒数
作者:不祥 ycr40张贴于2004-04-20 17:21:50.0,共阅读2297次,回复1
白乔原创:Shell基础类CShell
 
本类封装了一些常用的Shell操作,包括:创建快捷方式,获取特殊目录路径(如:我的电脑)、枚举制定目录(如:桌面)的子项列表等。头文件: // Shell.h: interface for the CShell class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_SHELL_H__6D15D05C_CD8B_4422_BFAF_D0A70F36E352__INCLUDED_) #define AFX_SHELL_H__6D15D05C_CD8B_4422_BFAF_D0A70F36E352__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CShell //Shell文件基础类 { public: BOOL FreeMemory(void * pBuffer); BOOL CreateLink(LPCITEMIDLIST lpi, CString sPathLink, CString sDescription = "", BOOL bByName = false); LPITEMIDLIST ...
作者:不祥 bluejoe张贴于2004-04-20 20:52:12.0,共阅读2548次,回复0
偶新来的啊!大家多关照!
 
VC新手的说,向所有人致敬!
作者:不祥 aWu张贴于2004-04-20 14:46:05.0,共阅读1171次,回复2
轻轻松松将你的程序加上TrayIcon
 
 
使用CTrayIconDialog开发包可以在最短时间内将你的对话框程序加上通知栏图标及菜单。 CTrayIconDialog包主要包含2个类:CTrayIconDialog和CTrayIcon。前者完成对话框对TrayIcon的支持,后者则专门实现对TrayIcon的封装。使用CTrayIconDialog包的步骤非常简单。 首要条件是你的应用必须是一个基于对话框的应用,或者你需要加上TrayIcon的窗口必须是个对话框。接下来你需要将CTrayIconDialog设置成你的对话框的基类,也就是说,你必须将CDialog替换成CTrayIconDialog。 记住,与你的对话框相关的所有的CDialog都要换成CTrayIconDialog。包括BEGIN_MESSAGE_MAP里面,还有一些函数里对基类CDialog函数的调用,等等。 替换完毕,你的程序运行时就会出现TrayIcon,如图所示: 默认的图标是空的,提示文字告诉你:请使用GetTrayIcon()->Modify来设置你的图标。你可以照办,示例程序里面在CTrayIconDlgDemoDlg::OnInitDialog()里面就增添了以下语句: //装载图标 m_hMyIcon = AfxGetApp()->LoadIcon(IDI_ICON1); //设定提示文字 GetTrayIcon( ...
作者:不祥 bluejoe张贴于2004-04-18 16:17:41.0,共阅读2804次,回复1
如何在对话框中加入状态栏[1]
 
1.ID_INDICATOR_NISH and ID_INDICATOR_TIME这个两个加到 symbol 里去,同样的加到 string table 里去 2.在你的 Dialog 类里面加个 CStatusBar m_bar; 3.在实现文件开头加上 static UINT BASED_CODE indicators[] = { ID_INDICATOR_NISH, ID_INDICATOR_TIME }; 4.OnInitDialog 里面加上 m_bar.Create(this); //We create the status bar m_bar.SetIndicators(indicators,2); //Set the number of panes CRect rect; GetClientRect(&rect); //Size the two panes m_bar.SetPaneInfo(0,ID_INDICATOR_NISH, SBPS_NORMAL,rect.Width()-100); m_bar.SetPaneInfo(1,ID_INDICATOR_TIME,SBPS_STRETCH ,0); //This is where we actually draw ...
作者:不祥 Bccv张贴于2004-04-20 11:46:50.0,共阅读2258次,回复0
异步读写的简单串口类
 
// Serial.h #ifndef __SERIAL_H__ #define __SERIAL_H__ #define FC_DTRDSR 0x01 #define FC_RTSCTS 0x02 #define FC_XONXOFF 0x04 #define ASCII_BEL 0x07 #define ASCII_BS 0x08 #define ASCII_LF 0x0A #define ASCII_CR 0x0D #define ASCII_XON 0x11 #define ASCII_XOFF 0x13 class CSerial { public: CSerial(); ~CSerial(); BOOL Open( int nPort = 2, int nBaud = 9600 ); BOOL Close( void ); int ReadData( void *, int ); int SendData( const char *, int ); int ReadDataWaiting( void ); BOOL IsOpened( void ){ return( m_b ...
作者:不祥 bruticus张贴于2004-04-19 12:51:38.0,共阅读2863次,回复1
修正GridCtrl Demo2.25中New Cell-DateTime Cell设定时间在1970年1月1日之前出错的Bug
 
 
当把DateTime cell的时间调到1970年1月1日前的时候,就会发生错误.因为其中使用的是CTime.我将CTime 改成COleDateTime,就解决了这个Bug.请参照Demo225有问题请mailto:ycr40@163.net
作者:不祥 ycr40张贴于2004-04-20 08:25:56.0,共阅读2120次,回复0
用默认浏览器打开 URL
 
HKEY hkRoot,hSubKey; //定义注册表根关键字及子关键字 char ValueName[256]; unsigned char DataValue[256]; unsigned long cbValueName=256; unsigned long cbDataValue=256; char ShellChar[256]; //定义命令行 DWORD dwType; //打开注册表根关键字 if(RegOpenKey(HKEY_CLASSES_ROOT,NULL,&hkRoot)==ERROR_SUCCESS) { //打开子关键字 if(RegOpenKeyEx(hkRoot, "htmlfile\\shell\\open\\command", 0, KEY_ALL_ACCESS, &hSubKey)==ERROR_SUCCESS) { //读取注册表,获取默认浏览器的命令行 RegEnumValue(hSubKey, 0, ValueName, &cbValueName, NULL, &dwType, DataValue, &cb ...
作者:不祥 Bccv张贴于2004-03-30 16:44:19.0,共阅读2683次,回复1
白乔原创:VC之控件篇
 
本文主要通过大量示例指引读者了解和使用Windows控件以及ActiveX控件。1 前言 1.1 控件之于VC 控件与Visual C++没有直接的关系,控件是Windows操作系统的界面元素,而VC只是一种开发语言。VC可以编写Windows程序,当然也可以编写Windows界面,包括最熟悉的对话框界面。 对话框界面是初学者学习VC的一道门槛,学习复杂的文档/视对于初学者来说是很痛苦的事情。而对话框的优点就在于它的“所见即所得”,设计界面画得有多好看,程序运行界面就有多好看。而如何让你的对话框的界面更丰富一点,那就是控件的事情了。 所以,你,责无旁贷的,要先学好控件的使用;而本次教程,正是指引你如何在VC里实现控件编程。 控件是窗口,是个完成特定功能的小窗口。例如:最熟悉的列表框控件可以让你用来列出你所有女友的名字; 控件放置在对话框里,对话框就成为控件的容器,或曰父窗口;而控件就成为对话框的元素,或曰子窗口。 控件并不总是显示成一个窗口,它可以是隐藏着的,例如:你可以使用定时器控件来控制“神五”的发射,但没必要一定要在发射系统的主界面上土土地画上一只小闹钟。 你用来选择女友名字的列表框是Windows系统标准控件,用来指示大爆竹升天的定时器也是。但Windows系统为你考虑的总会有限,那么就需要一些先行的人(第三方)为你准备一些他们出品的控件,这些符合Windo ...
作者:不祥 bluejoe张贴于2004-04-15 22:59:04.0,共阅读7900次,回复1
如果您的工具包过大,这样做
 
给出那个包的地址,或者放到某个服务器,把 URL 在这里说下..就好了.
作者:不祥 Bccv张贴于2004-04-19 16:44:07.0,共阅读1629次,回复4
差别
 
http://www.taosl.net/news/news2003pic.htm
作者:不祥 xler张贴于2004-04-19 14:35:31.0,共阅读1579次,回复0
Visual Assist.net
 
Visual Assist.net,可以使用在vs.net 2003版上。
作者:不祥 brucewww张贴于2004-04-19 13:31:36.0,共阅读2499次,回复0

页次: 78/83页 记录总数1658 9 7 [ 71 72 73 74 75 76 77 78 79 80 ] 8 :