- 博客(35)
- 收藏
- 关注
转载 VC6.0中如何修改工程的名字
其实有一个比较简单的方法,不过需要的是仔细,我已经试过了是可行的,假如你的工程是AAA,想改为BBB,请按照一下步骤操作: 1 备份源工程,这样即便是失败也没关系. 2 删除工程对应的临时文件,AAA.ncb,AAA.opt,AAA.APS 3 用文本编辑工具,不如UltraEdit,打开AAA.dsp,搜索字符串AAA,确认该字符串是工程名相关,并替换为BBB,替换完后
2012-04-17 17:22:39
862
转载 XCode 4.2开发笔记图文(3)---多视图开发的初步了解
今天看了一下iOS开发中多个视图的应用.iOS下包含了几种不同种类的视图类型和controller:比如Tab Bar ,Navigation Bar ,Tool Bar等.也可以自定义自己的视图的controller程序中主窗口的视图控制器我们成为root controller,由它负责不同视图的切换等功能.由root controller负责的视图都有自己的controller和d
2012-04-06 16:32:08
2249
转载 由init、loadView、viewDidLoad、viewDidUnload、dealloc的关系说起
由init、loadView、viewDidLoad、viewDidUnload、dealloc的关系说起init方法在init方法中实例化必要的对象(遵从LazyLoad思想)init方法中初始化ViewController本身 loadView方法当view需要被展示而它却是nil时,viewController会调用该方法。不要直接调用该方法。
2012-04-06 16:27:51
575
转载 viewDidUnload 和 dealloc 的区别
viewDidUnload 和 dealloc 的区别 对于iphone开发人员来说,内存管理是极为重要的技巧,哪怕程序的功能再强大,设计再漂亮,如果内存控制不好,也难逃程序莫名退出的噩运,这与网页开发是完全不同的。内存控制里面有很多门道,在这里分析一下 viewDidUnload 和 dealloc 的区别,关于这两者的区别的文章很多,但是大都是摘抄和
2012-04-06 11:13:03
509
转载 IOS开发中nil和release的用法
先简单解释一下nil和release的作用:nil就是把一个对象的指针置为空,只是切断了指针与内存中对象的联系;而release才是真正通知内存释放这个对象。所以nil并没有释放内存,只有release才回真正释放内存。再分析一下二者使用的先后顺序:如果没有release就直接nil,那么虽然不会出错,却等于自己制造内存泄漏了,因为nil之后release就已经不起作用了。相反,如果在使用接口
2012-04-06 10:32:00
847
转载 如何成为一个C++高级程序员
C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在 C++ 的使用范围比以前已经少了很多,java、C#、python 等语言在很多方面已经可以代替C++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业,比如游戏、高效的服务器。 现在学习 java、C#等语言的人数远远高于C++
2011-11-21 16:10:39
631
转载 iOS 5的StoryBoard
StoryBoard是iOS 5的新特征,旨在代替历史悠久的NIB/XIB(其实StoryBoard还是基于NIB/XIB的,不过开发人员已经无需直接跟NIB打交道了)。目前关于StoryBoard的文档并不多,苹果的iOS 5的开发者文档里也仅有不多的介绍。所以,本文只是简单的谈谈本人对StoryBoard的一些粗浅的理解。(StoryBoard有时也叫做StoryBoarding,我不太注
2011-11-21 16:05:29
1719
1
转载 使用storyboard
story board是xcode4.2新增的一个特性,它将原有工程中的所有xib文件集成在一起,用拖拽的方式建立2个viewController之间的跳转关系,使得整个程序的UI跳转逻辑清楚明了。使用storyboard后,界面相关的代码编写将更少。 简单说一个storyboard是个什么东西。storyboard引入了2个概念: scene: 一个场景, 由一个vi
2011-11-21 16:04:30
3500
转载 获取一个字节后6位,和一个字节前2位
一个字节有8位,可以用原来的值和0x3f(就是0011 1111B)按位与,即可得到后六位。前两位就是和0xc0按位与,然后右移六位。unsigned char a=0x34;unsigned char high=a&0xc0>>6;unsinged char low=a&0x3f;
2011-10-20 09:58:24
2547
原创 Visual Leak Detector 下载 以及在 VC6.0 中的使用方法!
Visual Leak Detector (VLD) 1.9h (Beta),点这里开始下载!我昨天用到这个工具,下载到Visual Leak Detector 后按照网上的使用步骤开始调试,新建了一个Win32的应用程序,结果是成功了。但当我在自己以前的MFC工程中包含了这个文件,编译能够通过,一运行就会出错,整的我好困惑,也许是版本不同的原因,网上大部分讲解的都是1.0版本的,而我
2011-06-07 11:34:00
1430
原创 VC内存泄露检查工具:Visual Leak Detector
灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题。当程序越来越复杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问题。内存泄漏是最常见的内存问题之一。内存泄漏如果不是很严重,在短时间内对程序不会有太大的影响,这也使得内存泄漏问题有很强的隐蔽性,不容易被发现。然而不管内存泄漏多么轻微,当程序长时间运行时,其破坏力是惊人的,从性能下降到内存耗尽,甚至会影响到其他程序的正常
2011-06-07 10:33:00
517
原创 SDI程序让视图窗体随着父窗体的放大而放大
<br /> <br />重载WM_SIZE消息响应函数,然后在响应消息函数里调用子窗口的MoveWindow()函数,在MoveWindow()指定位置和大小<br /> <br />void CMainFrame::OnSize(UINT nType, int cx, int cy) { CFrameWnd::OnSize(nType, cx, cy); // TODO: Add your message handler code here if (NULL != m_Consol
2011-04-27 16:31:00
564
原创 VC 多文档去掉菜单栏
<br />一个多文档程序,用SetMenu(NULL)不能去掉菜单栏,单文档可以直接在框架类的OnCreate函数中去掉即可,但这里不行。<br />其实在CXXXApp的InitInstance()中的AddDocTemplate(pDocTemplate);<br />后面加上pDocTemplate->m_hMenuShared=NULL;<br />然后在pMainFrame->ShowWindow(SW_SHOWMAXIMIZED);<br />pMainFrame->UpdateWindow(
2011-04-26 11:18:00
2281
1
转载 Parsing error
<br /><br />有时候在给程序的类添加消息响应或者虚函数的时候,会弹出“Parsing error:Expected "afx_msg",input line.......”<br /> //{{AFX_MSG(CMyimageDoc)<br />public:<br /> afx_msg void OnStart();<br /> afx_msg void Onsavefile();<br /> afx_msg void OnStop();<br />protected:<br /> afx_ms
2011-04-12 11:33:00
6281
1
转载 VC对话框控件不响应回车消息之解决方案
<br /><br />用IE浏览网页时回车就可提交信息,如:google搜索时填入搜索内容按回车键就可以提交<br />但在VC对话框里用webbrowser控件浏览网页时,按回车键就直接退出对话框程序了,<br />原因是对话框先截获回车消息,然后调用OnOK(),所以就退出了。<br />解决方法是重载PreTranslateMessage(MSG* pMsg)函数:<br /> view plaincopy to clipboardprint?BOOL CMyDlg::PreTranslateMes
2011-04-12 11:26:00
3917
转载 如何在表中的唯一/主键被外部关键字引用的情况下drop表
<br />SQL> create table t (t1 int primary key);<br /><br />Table created.<br /><br />SQL> create table t1 (t1 int,t2 varchar2(20));<br /><br />Table created.<br /><br />SQL> alter table t1 add constraint frg_t1 foreign key (t1) references t;<br /><br
2011-04-11 17:34:00
1151
转载 MFC中CMainFrame类CDoc类CView类CApp类之间关系
<br /><br />用APPWIZARD这个工具声称的应用程序架构包括了应用程序基本的四个类,<br />分别是:CApp,CMainFrame,CDoc,CView。<br />其中 CApp负责整个应用程序的管理,CDOC类中有一个CAPP的指针,也可以认为应用程序是从CApp开始执行的。<br />CMainFrame是主窗口框架<br />CDoc是应用程序数据来源(文档)主要是用来管理数据,提供保存和加载数据的功能。有关文件的读写操作在CDoc的Serialize函数中进行。<br />CVi
2011-04-08 17:16:00
3467
1
转载 vc 建立空文档失败 问题跟踪
<br /><br />问题引入:<br /> 新建一个mfc单文档程序后,删除了所有的工具栏条目,程序编译通过,但在执行时后提示:“建立空文档失败”,程序退出<br />问题分析:<br /> 由于工具栏资源被删除,所以在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)<br />里面创建工具栏目时候会失败。 但是这和弹出“建立空文档失败”看不出直接联系。为了查出根本原因,这里进行深入调试。<br /> 跟踪调试,问题出现在
2011-04-08 17:15:00
3397
转载 深入分析MFC文档视图结构(项目实践)
<br /><br />文档视图结构(Document/View Architecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/View Architecture通过将数据和其表示分开,提供了很好的数据层次和表现层次的解耦。然而,虽然我们使用MFC AppWizard就可以很轻松地获得一个支持Document/View Architecture的MFC程序框架,Document/View Architecture本身的复杂性加上VC产生的一系列代码足够让我们眼花缭乱
2011-04-08 17:14:00
669
转载 VC项目开发之单文档多视图实现(整理)
<br /><br />多视图是VC开发中经常要用到的技术之一,一般地实现单文档多视图有三种方式(1)通过视图分割的技术(使用CSplitterWnd实现),将窗口分割为多个部分,每个部分显示各自显示不同的视图,这种技术实现起来比较简单,并且相关的资料也很多。(2)通过一个文档关联多个视图,窗口显示整个视图。(3)有一个函数可以简单的实现视图间的切换。下面就简单的介绍一下这三种方式。<br />1. 通过视图分割的技术<br />这种方式比较简单,有很多资料。这里就不详细介绍了,我的博客前面有详细的介绍。<
2011-04-08 17:14:00
2171
1
转载 MFC,单文档视图创建顺序
<br />OnInitialUpdate 视图窗口完全建立后第一个被框架调用的函数。框架在第一次调用OnDraw前会调用OnInitialUpdate,因此OnInitialUpdate是设置滚动视图的逻辑尺寸和映射模式的最合适的地方。<br /> 时间上,两者先后顺序不同,构造函数生成本类的对象,但没有产生窗口,OnCreate后窗口产生, 然后才是视图的OnInitialUpDate,一般在这里对视图的显示做初始化。简单点,就是ONCREATE只是产生VIEW的基本结构和变量而在OnIniti
2011-04-08 16:49:00
2591
原创 多文档转单文档工程(转帖)
<br />多文档改单文档步骤:<br />1.首先找到CXxxApp类里的InitInstance函数 (其中Xxx为你自己创建的类名称)<br />将多文档模块改为添加单文档模块<br />CSingleDocTemplate * pDocTemplate;<br /> pDocTemplate = new CSingleDocTemplate(<br /> IDR_XxxTYPE,<br /> //IDR_MAINFRAME,<br /> RUNTIME
2011-04-06 15:27:00
946
原创 vc++ resource.h文件出现“fatal error RC1004: unexpected end of file found”问题
<br />问题描述:vc6中编译是在resource.h文件出现“fatal error RC1004: unexpected end of file found”错误问题原因:resource文件最后一行需要一个回车,可能是因为通过拷贝粘贴时将回车换行去掉了解决方法:添加一个回车换行符
2011-03-31 11:06:00
2528
原创 VC用ADO连接oracle的方法
import "c:/program files/common files/system/ado/msado15.dll" / no_namespace / rename ("EOF", "adoEOF")_ConnectionPtr m_pConnection;_RecordsetPtr m_pRecordset;// 初始化COM,创建ADO连接等操作AfxOleInit();连接:m_pConnection.CreateInstance(__uuidof(Connection));try //建立数据
2011-03-07 02:03:00
1399
原创 练习2-8:创建一个vector,并用一个for循环语句向它输入25个浮点数,显示vector的结果。
<br />#include<iostream><br />#include<vector><br />using namespace std;<br />void main()<br />{<br /> float fTemp;<br /> int i;<br /> vector<float> v;<br /> for (i = 0; i < 25; i++)<br /> {<br /> cin >> fTemp;<br /> v.push_back(fTemp);<br /> }<br /> for
2011-03-03 18:22:00
1051
原创 练习2-7:编一个程序,一次显示文件的一行,然后等待用户按回车键后显示下一行
<br />#include<iostream><br />#include<string><br />#include<fstream><br />using namespace std;<br />void main()<br />{<br /> ifstream in("main.cpp");<br /> string line;<br /> system("pause");<br /> while(getline(in,line))<br /> {<br /> cout<<line<<endl;<
2011-03-03 16:10:00
1515
1
原创 练习2-6:修改Fillvector.cpp使它能把vector中的所有元素连接成单独的一个字符串,并打印,但不要加上行号。
<br />#include <string><br />#include <iostream><br />#include <fstream><br />#include <vector><br />using namespace std;<br />void main()<br />{<br /> vector<string> v;<br /> ifstream in("main.cpp");<br /> string str, word, temp;<br /> while (in >> word)<
2011-03-03 16:03:00
822
原创 练习2-5:修改Fillvector.cpp使他能从后向前打印各行
<br />#include <string><br />#include <iostream><br />#include <fstream><br />#include <vector><br />using namespace std;<br /> <br />void main()<br />{<br /> vector<string> v;<br /> ifstream in("main.cpp");<br /> string line;<br /> while (getl
2011-03-03 15:36:00
721
原创 练习2-4:编一个程序统计文件中特定单词出现的次数(要求使用string类的运算符==来查找单词)
<br />#include<iostream><br />#include<string><br />#include<fstream><br />using namespace std;<br /> <br />void main()<br />{<br /> ifstream in("e://test.txt");<br /> string word;<br /> int num = 0;<br /> while(in>>word)<br /> {<br /> if(word=="hello")<b
2011-03-03 15:34:00
1354
原创 练习2-3:编一个程序用来打开文件并统计文件中以空格隔开的单词数目
<br />#include<iostream><br />#include<string><br />#include<fstream><br />using namespace std;<br /> <br />void main()<br />{<br /> ifstream in("e://test.txt");<br /> string word;<br /> int num=0;<br /> while(in>>word)<br /> {<br /> cout<<word<<" ";<br /
2011-03-03 15:33:00
1824
原创 Windows SDK笔记
<br /><br />Windows SDK笔记(一):Windows程序基本结构<br />一、概述<br /><br />Windows程序具有相对固定的结构,对编写者而言,不需要书写整个过程,大部分过程由系统完成。<br />程序中只要按一定的格式填写系统留给客户的那一小部分。<br />所需要完成的有:<br />窗口类的定义、窗口的建立、消息函数的书写、消息循环。<br /> <br />二、消息处理函数<br /><br />Windows程序是事件驱动的,对于一个窗口,它的大部分例行维护是由
2011-01-17 16:05:00
594
转载 CreateWindowEx和CreateWindow的区别
<br />CreateWindowEx 函数功能:该函数创建一个具有扩展风格的重叠式窗口、弹出式窗口或子窗口,其他与 CreateWindow函数相同。关于创建窗口和其他参数的内容,请参看CreateWindowEx。 函数原型:HWND CreateWindowEx(DWORD dwExStle,LPCTSTR IpClassName,LPCTSTR lpWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,HWND hWndPa
2011-01-13 17:55:00
3249
转载 消息处理函数LRESULT CALLBACK WndProc()、应用程序主函数int WINAPI WinMain ()
一、消息处理函数 LRESULT CALLBACK WndProc();//二、应用程序主函数int WINAPI WinMain ()Windows程序是事件驱动的,对于一个窗口,它的大部分例行维护是由系统维护的。每个窗口都有一个消息处理函数。在消息处理函数中,对传入的消息进行处理。系统内还有它自己的缺省消息处理函数。 客户写一个消息处理函数,在窗口建立前,将消息处理函数与窗口关联。这样,每当有消息产生时,就会去调用这个消息处理函数。通常情况下,客户都不会处理全部的消息,而是只处理自己感兴趣的消息
2011-01-13 16:41:00
20017
转载 CALLBACK回调函数详解
凡是由你设计却由windows系统呼叫的函数,统称为callback函数。某些API函数要求以callback作为你参数之一。如 SetTimer,LineDDA,EnumObjects。 回调函数是由开发者按照一定的原形进行定义的函数(每个回调函数都必须遵循这个原则来设计)例如:----------------------------------------BOOL CALLBACK DialogProc( HWND hwndDlg, // handle of dialog box
2011-01-13 16:33:00
3033
1
转载 WPARAM,消息响应机制
WPARAM,消息响应机制 wParam和lParam 这两个是Win16系统遗留下来的产物,在Win16API中WndProc有两个参数: 一个是WORD类型的16位整型变量;另一个是LONG类型的32位整型变量。因此根据匈牙利命名法,16位的变量就被命名为wParam, 32位的变量就被命名为lParam。 到了Win32API中,原来的16位变量也被扩展为32位,因此此时wParam和lParam的大小完全相同。 在Win32API的早期,为了保证和Win16API的代码可移植性MS定义了WP
2011-01-13 16:14:00
588
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人