摘要:微软发布的dotnetfx2.0是相当成功的开发框架,由此产生了大量基于.NET2.0的应用,微软后来发布的dotnetfx3.0及dotnetfx3.5都是对2.0的扩展,并添加了很多新的特性(如:linq、wpf、wcf、wwf、Lambda、类型推断及简化的语法等),但碍于庞大的dotnetfx3.5安装部署都十分困难,dotnetfx2.0应用依然十分普遍。几个月以前微软发布了dotnetfx4.0,其强大的功能让dotnetfx2.0的优势消失殆尽,很多新的应用开发已经从.NET4.0开始了。由于.NET4.0使用全新的CLR,因此基于.NET2.0的程序集并不能直接在.NET4.. 阅读全文
posted @ 2011-06-29 20:56 心随灵动 阅读(1006) 评论(0) 推荐(0) 编辑
摘要:C++开发环境:1.Turbo CTurbo C是美国Borland公司的产品, 该公司在1987年首次推出Turbo C 1.0 产品, 其中使用了全然一新的集成开发环境, 即使用了一系列下拉式菜单,将文本编辑、程序编译、连接以及程序运行一体化, 大大方便了程序的开发。1988年, Borland 公司又推出Turbo C1.5版本, 增加了图形库和文本窗口函数库等, 而Turbo C 2.0 则是该公司1989年出版的。Turbo C2.0在原来集成开发环境的基础上增加了查错功能, 并可以在Tiny模式下直接生成.COM (数据、代码、堆栈处在同一64K 内存中) 文件。还可对数学协处理器 阅读全文
posted @ 2011-06-29 20:46 心随灵动 阅读(2009) 评论(0) 推荐(0) 编辑
摘要:1.在指定位置处创建一个CMFCTabCtrl,并给其添加4个CEdit,01CRect rectTab;02CEdit m_wnd1;03CEdit m_wnd2;04CEdit m_wnd3;05CEdit m_wnd4;06CMFCTabCtrl m_wndTab;0708m_wndTabLoc.GetWindowRect (&rectTab);09ScreenToClient (&rectTab);1011m_wndTab.Create (CMFCTabCtrl::STYLE_3D, rectTab,this, 1,12CMFCTabCtrl::LOCATION_TOP 阅读全文
posted @ 2011-06-28 14:38 心随灵动 阅读(3631) 评论(0) 推荐(0) 编辑
摘要:我为了移动一个无标题栏的窗体,使用了WM_NCHITTEST消息,这个消息大概如下:通常,我们拖动对话框窗口的标题栏来移动窗口,但有时候,我们想通过鼠标在客户区上拖动来移动窗口。一个容易想到的方案是,处理鼠标消息WM_LBUTTONDOWN和WM_LBUTTONUP。在OnLButtonUp函数中计算鼠标位置的变化,调用MoveWindow实现窗口的移动。注意,拖动标题栏移动窗口的时候,会出现一个矩形框,它提示了窗口移动的当前位置。当鼠标左键放开的时候,窗口就移动到矩形框所在位置。而我们的实现方案中没有这个功能。要实现此功能,我们必须自己来画这些矩形。事实上,我们没有必要自己来做这件事情,因为 阅读全文
posted @ 2011-06-28 13:58 心随灵动 阅读(320) 评论(0) 推荐(0) 编辑
摘要:当你设计一个应用程序时,或许你希望用户能够通过客户区来拖动窗体,比如:当窗体没有标题栏或创建的是不规则的窗体时,就只有通过客户区来拖动窗体了。一个发生在我们身边很好的例子就是Microsoft Windows Media Player。Media Player有项功能是根据用户的爱好可以随意换掉外观(换肤),这个时候标题栏就隐藏了,但是你能够通过客户区来拖动窗体。首先必须了解Windows的消息传递机制,当有鼠标活动消息时,系统发送WM_NCHITTEST 消息给窗体作为判断消息发生地的根据。假如你点击的是标题栏,窗体收到的消息值就是 HTCAPTION ,同样地,若接受到的消息是 HTCLI 阅读全文
posted @ 2011-06-28 13:57 心随灵动 阅读(266) 评论(0) 推荐(0) 编辑
摘要:MFC CListCtrl的用法.Style/插入、删除、选中数据及排序问题等2010-02-05 19:04摘抄自:http://hi.baidu.com/fclshark/blog/item/650cbaa731b7619fd14358dc.html功能强大的CListCtrl:做网络笔记,还需添加修改CListCtrl改变行的颜色,列的颜色,字体颜色等.资源属性里面有个sort设置排序的,如果不小心选了Ascending,那么你insertItem的顺序就就1,10,11,12,13,14,15,16,17,18,19,2,20,21....所以要注意.首先使用下面的语句设置CListC 阅读全文
posted @ 2011-06-28 09:24 心随灵动 阅读(4635) 评论(0) 推荐(0) 编辑
摘要:CListCtrl控件使用方法总结 今天第一次用CListCtrl控件,遇到不少问题,查了许多资料,现将用到的一些东西总结如下:以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,“查 阅读全文
posted @ 2011-06-28 09:06 心随灵动 阅读(787) 评论(0) 推荐(0) 编辑
摘要:SendMessage、PostMessage原理本文讲解SendMessage、PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级、中级、高级程序员进行理解,三个步骤分别为:1、SendMessage、PostMessage的运行机制。2、SendMessage、PostMessage的运行内幕。3、SendMessage、PostMessage的内部实现。注:理解这篇文章之前,必须先了解Windows的消息循环机制。1、SendMessage、PostMessage的运行机制我们先来看最简单的。SendMessage可以理解为,SendMessage函数发送消息, 阅读全文
posted @ 2011-06-27 21:02 心随灵动 阅读(592) 评论(0) 推荐(0) 编辑
摘要:如果直接在线程里调用AfxGetMainWnd可能会出错,原因:_AFXWIN_INLINE CWnd* AFXAPI AfxGetMainWnd(){ CWinThread* pThread = AfxGetThread(); return pThread != NULL ? pThread->GetMainWnd() : NULL; }而AfxGetThread获取的是当前线程,而不是主线程!CWinThread* AFXAPI AfxGetThread(){// check for current thread in module thread stateAFX_MODULE_TH 阅读全文
posted @ 2011-06-27 20:12 心随灵动 阅读(726) 评论(0) 推荐(0) 编辑
摘要:关于在线程中使用AfxGetMainWnd()出错的问题.AfxGetMainWnd()得到的是当前线程的主窗口(如果有的话).因为主窗口是属于主线程的,所以想得到主窗口HWND值,只能在主线程中用AfxGetMainWnd(),但要不是处在主线程中,AfxGetMainWnd()可能是从当前线程查询主窗口的。但好像AfxGetMainWnd()不能跨线程,故要出错.要想在线程中使用主窗口的HWND值,可以把主窗口的HWND值传给线程.也可以用AfxGetApp()先取得主线程,再通过CWinThread的类成员m_pMainWnd获得主窗口(AfxGetApp()->m_pMainWn 阅读全文
posted @ 2011-06-27 20:11 心随灵动 阅读(2875) 评论(1) 推荐(2) 编辑
摘要:引用小甜鼠的CTreeCtrl中用右键选中item并弹出菜单的方法在csdn上看了几篇文章,自己正好派上用场,总结一下://获取到鼠标点中的位置POINT pt;GetCursorPos(&pt);UINT uFlags;//将屏幕坐标转化为客户区坐标ScreenToClient(&pt);MapWindowPoints(&m_ctrlClassTree, &pt,1);//获取鼠标点中位置的itemHTREEITEM hItem = m_ctrlClassTree.HitTest(pt,&uFlags);if ((hItem != NULL) & 阅读全文
posted @ 2011-06-27 15:58 心随灵动 阅读(504) 评论(0) 推荐(0) 编辑
摘要:首先定义右键消息函数: afx_msg void OnRBClick(NMHDR* pNMHDR, LRESULT* pResult); 然后在消息循环中定义消息对应关系: ON_NOTIFY(NM_RCLICK, ID_TREECTRL, OnRbClick) 接着定义消息函数内容: void OnRBClick(NMHDR* pNMHDR, LRESULT* pResult) { CPoint point; GetCursorPos(&point); CPoint pointInTree = point; m_TreeCtrl.ScreenToClient(&pointIn 阅读全文
posted @ 2011-06-27 15:56 心随灵动 阅读(1299) 评论(0) 推荐(0) 编辑
摘要:匈牙利表示法: 它通过在每一个表示符名字的前面放置一个数据类型助记符,为程序员提供了对标识符的即时识别。《1》MFC、句柄、控件及结构的命名规则。 Windows类型 样本变量 MFC类 样本对象 HWND hWnd CWnd* pWnd HDLG hDlg CDialog* pDlg HDC hDC CDC* pDC HGDIOBJ hGdiObj CGdiObject* pGdiObj HPEN hPen CPen* pPen HBRUSH hBrush CBrush* pBrush HFONT hFont CFont* pFont HBITMAP hBitmap CBitmap* pBi 阅读全文
posted @ 2011-06-27 11:42 心随灵动 阅读(182) 评论(0) 推荐(0) 编辑
摘要:一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放4、文字常量区 —常量字符串就是放在这里的。 阅读全文
posted @ 2011-06-23 10:03 心随灵动 阅读(139) 评论(0) 推荐(0) 编辑
摘要:这些关于SQLite与SQL差异的问题,你是否遇到过呢?笔者在这里为大家总结出了使用SQLite时,与SQL之间经常会出现的一些差异性问题,希望对大家的使用有所帮助。一、常见问题汇总1 TOP 这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录: [pre]SELECTTOP10 *FROM[index]ORDERBYindexidDESC;[/pre]但是这条SQL语句在SQLite中是无法执行的,应该改为: [pre]SELECT*FROM[index]ORDERBYindexidDESClimit 0,10;[/pre]其中limit 0 阅读全文
posted @ 2011-06-15 10:31 心随灵动 阅读(2193) 评论(0) 推荐(0) 编辑
摘要:关于CString总结前言:串操作是编程中最常用也最基本的操作之一. 做为VC程序员,无论是菜鸟或高手都曾用过CString.而且好像实际编程中很难离得开它(虽然它不是标准C++中的库).因为MFC中提供的这个类对 我们操作字串实在太方便了,CString不仅提供各种丰富的操作函数、操作符重载,使我们使用起串起来更象basic中那样直观;而且它还提供了动态内 存分配,使我们减少了多少字符串数组越界的隐患。但是,我们在使用过程中也体会到CString简直太容易出错了,而且有的不可捉摸。所以有许多高人站过 来,建议抛弃它。 在此,我个人认为:CString封装得确实很完美,它有许多优点,如“容易使 阅读全文
posted @ 2011-06-14 22:08 心随灵动 阅读(256) 评论(0) 推荐(0) 编辑
摘要:参考文章如下:l网上流传甚广的一个大牛写的“关于CString的技巧”,没能找到原文,转载地址如下:http://blog.csdn.net/coolstar14/archive/2004/07/15/41885.aspxlCodeProject上一篇“CString Managment”地址: http://www.codeproject.com/KB/string/cstringmgmt.aspxlCodeProject上的FAQ里的一些解答:http://www.codeproject.com/KB/cpp/cppforumfaq.aspx#mfc_cstrtopcharlMSDN里关于 阅读全文
posted @ 2011-06-14 21:57 心随灵动 阅读(834) 评论(0) 推荐(0) 编辑
摘要:MFC分割字符串的函数AfxExtractSubString(CString& rString, LPCTSTR lpszFullString,int iSubString, TCHAR chSep = '\n'),下面大概说一下它的用法:注:本文系rainy8758原创,转载请注明出处:http://blog.hjenglish.com/rainy8758/articles/1010963.html 参数说明: rString 得到的字符串;lpszFullString 待分割的字符串;iSubString 要得到第几个字符串;chSep 个子串之间的分隔符 例如,有 阅读全文
posted @ 2011-06-14 19:59 心随灵动 阅读(1599) 评论(0) 推荐(0) 编辑
摘要:Openssl是个为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。 首先下载Openssl包:(http://www.openssl.org/),这是一个C语言类库包,在Windows下可以通过Perl对该类库包进行MakeBuild,产生libeay32、ssleay32的Lib以及Dll文件,具体操作详见:http://blogger.org.cn/blog/more.asp?name=OpenSSL&id=18972,通过编译产生这样一系列文件: inc32里面放置C语言头 阅读全文
posted @ 2011-06-09 14:19 心随灵动 阅读(554) 评论(0) 推荐(0) 编辑
摘要:已经让我痛苦好久的Ubuntu下Eclipse的代码浮层颜色今天终于知道怎么修改了。想想那可恶的黑色背景加黑色文字,简单想骂娘。我知道这不怪Eclipse,也不能怪Ubuntu,貌似到头来只能怪自己没有找对方法。试了N多改变Eclipse配置的方法,又是首选项文字颜色、又是更改Eclipse皮肤、甚至我TMD还下载了一套Ubuntu的主题,不过这些方法都不对。更换Ubuntu主题的时候,发现下面有个自定义,点了一下,原来别有洞天。其实,大家只要更改一下颜色选项中的工具提示就OK了,可恶的问题,可恶的解决方式,不爽。 阅读全文
posted @ 2011-05-26 10:16 心随灵动 阅读(909) 评论(0) 推荐(0) 编辑
摘要:CSS技巧1.div的垂直居中问题vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行 powered by 25175.net2. margin加倍的问题设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上display:inline;例如:<#div id=”imfloat”>相应的css为#IamFloat{float:left;margin:5px;/*IE下理解为10px*/display:i 阅读全文
posted @ 2011-05-17 14:33 心随灵动 阅读(18715) 评论(2) 推荐(1) 编辑
摘要:首先通过DOS命令窗口启动模拟器. 再另外打开一个DOS命令窗口,定位到你下载的安装程序或游戏安装包的目录,然后执行命令安装: adb install 包名success.就成功了. 安装包应该都是 .apk的,在此网址上有很多资源:http://www.tigersw.cn/sys19.html,都是Android平台的应用程序。 因为模拟器是新配置的,里面没有音乐或视频等文件,需要用户自己添加进去,下面介绍一下我添加文件及用模拟器自带的播放器播放的步骤。 首先打开一个DOS命令窗口,最好定位到你的音乐文件存放的目录(等下添加文件时可以少输几个字符)。所有安装程序和添加的文件都是放在模拟器的 阅读全文
posted @ 2011-05-04 23:49 心随灵动 阅读(1423) 评论(0) 推荐(0) 编辑
摘要:Android开发带来新一轮热潮让很多移动开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开 源项 目,贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式。下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意,也可以直接掌握 Android内核的接口使用.1.Android团队提供的示例项目如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发。由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏、图像处理、时间显示、开始菜单快捷方式等。地址:http:/ 阅读全文
posted @ 2011-05-04 08:37 心随灵动 阅读(405) 评论(0) 推荐(0) 编辑
摘要:Android SDK 本身包含很多帮助开发人员设计、开发、测试和发布 Android 应用的工具,在本文中,我们将讨论 10 个最常用的工具。#1: Eclipse ADTEclipse ADT 是 Eclipse 平台下用来开发 Android 应用程序的插件。#2: The SDK and AVD Manager该工具包含很多重要的功能,包括管理不同的 Android SDK 版本(构建目标),你知道的 Android 的版本众多,API上有些兼容性问题。另外该工具还用于管理 Android 虚拟设备配置 (AVD) ,用来配置模拟器。#3: Android Debug Bridgead 阅读全文
posted @ 2011-05-04 08:24 心随灵动 阅读(527) 评论(0) 推荐(1) 编辑
摘要:进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-6u14-windows-i586.exe2、安装jdk-6u14-windows-i586.exe3、配置环境变量:右击“我的电脑”-->"高级"-->"环境变量"1)在系统变量里新建“JAVA_HOME”变量,变量值为:C:\Program Files\Java\jdk1.6.0_14(根据自己的安装路径填写)2)新建“classpa 阅读全文
posted @ 2011-05-03 22:38 心随灵动 阅读(2109) 评论(0) 推荐(1) 编辑
摘要:很多程序员已经干了一段时间java了依然不明白jdk与jre的区别。JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。如果安装了JDK,会发同你的电脑有两套JRE,一套位于 \jre 另外一套位于 C:\Program Files\Java\jre1.5.0_15 目录下,后面这套比前面那套少 阅读全文
posted @ 2011-05-03 22:32 心随灵动 阅读(197435) 评论(23) 推荐(58) 编辑
摘要:最近总想整理下对MSSQL的一些理解与感悟,却一直没有心思和时间写,晚上无事便写了一篇探索MSSQL执行计划,本文讲执行计划但不仅限于讲执行计划。网上的SQL优化的文章实在是很多,说实在的,我也曾经到处找这样的文章,什么不要使用IN了,什么OR了,什么AND了,很多很多,还有很多人拿出仅几S甚至几MS的时间差的例子来证明着什么(有点可笑),让许多人不知道其是对还是错。而SQL优化又是每个要与数据库打交道的程序员的必修课,所以写了此文,与朋友们共勉。谈到优化就必然要涉及索引,就像要讲锁必然要说事务一样,所以你需要了解一下索引,仅仅是索引,就能讲半天了,所以索引我就不说了(打很多字是很累的,况且我 阅读全文
posted @ 2011-05-03 15:05 心随灵动 阅读(378) 评论(0) 推荐(0) 编辑
摘要:一个查询需要的CPU、IO资源越多,查询运行的速度就越慢,因此,描述查询性能调节任务的另一种方式是,应该以一种使用更少的CPU、IO资源的方式重写查询命令,如果能够以这样一种方式完成查询,查询的性能就会有所提高。 如果调节查询性能的目的是让它使用尽可能少的服务器资源,而不是查询运行的时间最短,那么就更容易测试你采取的措施是提高了查询的性能还是降低了查询的性能。尤其是在资源利用不断变化的服务器上更是如此。首先,需要搞清楚在对查询进行调节时,如何测试我们的服务器的资源使用情况。 在开始我们的例子前,先运行下面的这二条命令(不要在正在使用的服务器上执行),这二条命令将清除SQL Server的数据和 阅读全文
posted @ 2011-04-29 15:50 心随灵动 阅读(221) 评论(0) 推荐(0) 编辑
摘要:protectedvoidButton2_Click(objectsender,EventArgse){HttpCookiecookie=newHttpCookie("MyCook");//初使化并设置Cookie的名称DateTimedt=DateTime.Now;TimeSpants=newTimeSpan(0,0,1,0,0);//过期时间为1分钟cookie.Expires=dt.Add(ts);//设置过期时间cookie.Values.Add("userid","userid_value");cookie.Values.A 阅读全文
posted @ 2011-04-13 17:20 心随灵动 阅读(1739) 评论(1) 推荐(0) 编辑
摘要:阅读本文章之前的准备 阅读本文章前,需要读者对以下知识有所了解。否则,阅读过程中会在相应的内容上遇到不同程度的问题。 懂得ASP/ASP.NET编程 了解ASP/ASP.NET的Session模型 了解ASP.NETWeb应用程序模型 了解ASP.NETWeb应用程序配置文件Web.config的作用、意义及使用方法 了解InternetInformationServices(以下简称IIS)的基本使用方法 了解如何在MicrosoftSQLServer中创建一个数据库。Session模型简介 Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个 阅读全文
posted @ 2011-04-13 14:33 心随灵动 阅读(273) 评论(0) 推荐(0) 编辑