上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: “你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起。” ----------Arthur J.Riel(1)所有数据都应该隐藏在所在的类的内部。(2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。(3)尽量减少类的协议中的消息。(4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。(5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。如果类的两个方法有一段公共代码,那么就可以创建一个防止这些公共代码的私有函数。 (6)不要以用 阅读全文
posted @ 2006-12-14 11:02 巨巨 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 我的初恋女友初恋时19岁. 我的现任女友初恋时16岁. 我的初恋女友是我的大学同学. 我的现任女友是我在泡吧时认识的. 我连哄带骗花半个月后与我初恋女友发生了关系. 我与现任女友认识的当天就在一起. 我和初恋女友发生关系的地点在我们宿舍. 我和现任女友在四星的酒店开房. 第一次和初恋女友约会.吃的是二块钱一碗的刀削面.她说吃不 了还夹了一大半给我. 第一次和现任女友约会,吃的... 阅读全文
posted @ 2006-12-13 21:50 巨巨 阅读(99) 评论(0) 推荐(0) 编辑
摘要: MFC内部代码是:MSG message;while(::GetMessage(&message,NULL,0,0)){ ::TranslateMessage(&message); ::DispatchMessage(&message);}当有消息需要处理的时侯,GetMessage返回,如果没有投递任何消息,则程序挂起,可运行其它程序 。当消息最终到达的时侯,程序被唤起。TranslateMessage函数可以将WM_KEYDOWN消息转换为WM_CHAR;DispatchMessage函数将控件传递给MFC消息转储,由转储来通过消息映射来调用函数。当应用程序需要运行 阅读全文
posted @ 2006-12-06 20:45 巨巨 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 在列表框中贴图,或者在静态控件上画图的一个方法是采用CPaintDC来构建DC,这样可以很方便的使用。如下面的程序段:CBitmap bitmap;bitmap.LoadBitmap(IDB_BITMAP);CPaintDC dc(GetDlgItem(IDC_LIST));CRect rect;GetDlgItem(IDC_LIST)->GetWindowRect(&rect); CDC dcCompatibleDC;dcCompatibleDC.CreateCompatibleDC(&dc);dcCompatibleDC.SelectObject(&bitma 阅读全文
posted @ 2006-12-06 20:44 巨巨 阅读(119) 评论(0) 推荐(0) 编辑
摘要: (1)先为控件添加ID,要连续的ID,你想创建几个就添加几个了。(2)然后做一个循环,改变下面的i值和104为你自己创建的ID 号就可以了for(int i=0;i<3;i++){ CString str="我的静态控件"; sta[i].Create(str,WS_CHILD|WS_VISIBLE,CRect(320,300+i*50,450,350+i*50),this,104+i);} GetDlgItem(ID_STA1)->SetWindowText("静态控件1"); GetDlgItem(ID_STA1)->SetWind 阅读全文
posted @ 2006-12-06 20:42 巨巨 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 创建两个对话框模板。(1)在主对话框的OnCreate函数中,创建非模态对话框,模板选用第二个对话框int CWindowDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) {if (CDialog::OnCreate(lpCreateStruct) == -1)return -1; CWindowDlg* pWnd=(CWindowDlg*)AfxGetMainWnd(); ASSERT_VALID(pWnd); dlg=new CRecive(pWnd); //dlg声明为CRecive*dlg->Create(IDD_RECIVE,pWnd); 阅读全文
posted @ 2006-12-06 20:42 巨巨 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 1)CDC的所有成员函数都以逻辑坐标作为参数。2)CWnd的成员函数都以设备坐标作为参数。3)所有点中测试之类的函数都应该考虑设备坐标,区域的定义应采用设备坐标。某些像CRect::PtInRect之类的函数只有在采用设备坐标参数时才会保证有正确的结果。4)将一切需要长期使用的值用逻辑坐标或物理坐标保存。5)一般在虚函数OnPrepareDC中设置映射模式要比在OnDraw函数中设置合适一些。例子如下:在View类中添加声明:private:// 画笔颜色int m_nColor;// 矩形区域CRect m_rectEllipse;在构造函数中对变量进行初始化:m_nColor=GRAY_B 阅读全文
posted @ 2006-12-06 20:40 巨巨 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 郁闷了一天了!开始是XP系统,实在是装不上SQL2000,装上了用不了。实在太郁闷了,最后换了系统了!装了2000,顺利安装成功SQL2000,高兴啊!突然发现没有显卡驱动,声卡驱动,郁闷,爬网驱动之家搜索,一切安装好了。按照书上给的也没有什么改变,继续连接数据库。晕倒,怎么也不正确啊!后来才发现原来书上有错误!以下是正确的连接方法:///类ADOConn负责连接SQL数据库:(VC++SQL SERVER数据库应用系统开发与实例提供!)#import "c:/Program Files/common Files/System/ado/msado15.dll" no_nam 阅读全文
posted @ 2006-12-06 20:36 巨巨 阅读(244) 评论(0) 推荐(0) 编辑
摘要: /*本段程序实现了将小图片拼接成大图片的过程,所建立的程序模版是基于对话框的程序。程序段放在了OnEraseBkgnd中了;并且使用了随机生成图片的方法,小图片的尺寸为50*50*/#define rdint(i)(rand()%(int)(i)) //随机数定义#define nRows 10 //生成地图的行数#define nCols 6 //生成地图的列数BOOL CMapDlg::OnEraseBkgnd(CDC* pDC) {// TODO: Add your message handler code here and/or call default CDC memdc,bufdc 阅读全文
posted @ 2006-11-22 09:43 巨巨 阅读(147) 评论(0) 推荐(0) 编辑
摘要: /*功能说明:下面的语句实现了对前面两个函数的调用。用于透明半透明显示两张图片。从中可以学到句柄和对象指针之间的转换方法。*/CPaintDC dc(this); // device context for painting// TODO: Add your message handler code here m_dra=(HBITMAP)LoadImage(NULL,"res//girlmask.bmp",IMAGE_BITMAP,596,329,LR_LOADFROMFILE); m_hBg=(HBITMAP)LoadImage(NULL,"res//bg.b 阅读全文
posted @ 2006-11-21 21:25 巨巨 阅读(284) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页