摘要: CListCtrl控件在数据库编程中是用得比较多的控件之一,也是Window控件中较难掌握的一个控件。他可以有四显示方式1:报告显示方式在Report方式中,列表控件的显示方式是有行和列的,行有叫做Item,但有多列是我们只能操作每一行的第零列,也就是最前列。插入列,可以用SetExtendedStyle设置风格,之后使用的是InsertColumn 比如: m_list.InsertColumn (0,"学号",LVCFMT_CENTER,60);设置完列后我们就可以设置列表控件的数据了使用的是InsertItem和setItemText其中InsertItem用于向列表 阅读全文
posted @ 2011-07-22 15:06 role 阅读(1104) 评论(0) 推荐(2) 编辑
摘要: 对话框上显示图片用图片控件,好像图片最多色彩数不超过256色,也就是8位,但是用代码在里面写的方法就可以解决这个问题了.]让一个对话框显示背景通常有两种做法:使用图片控件、在WM_PAINT消息中画图。用图片控件非常简单,但功能功能不强大,不能对图片拉申等。在WM_PAINT中画图,相对复杂,但可以做很多特殊处理(如对图片拉申、图片取反等等)。那么下面就对两种方法略述。1、用图片控件静态加载图片(bmp和ico格式) 在对话框中加入Picture控件,属性页中General->Type设为Bitmap, Image中选中相关联的图片资源号。(也就是Bitmap下的IDB号) 2、用pictur 阅读全文
posted @ 2011-07-21 21:10 role 阅读(2615) 评论(0) 推荐(0) 编辑
摘要: 创建个单文档,在view 类中的OnDraw()中添加如下代码:CRect object;GetClientRect(&object);//获取客户区的大小int x=object.right/2,y=object.bottom/2;//用来标定输出的位置pDC->SetTextAlign(TA_LEFT|TA_TOP);//该函数为指定设备环境设置文字对齐标志//设置文本格式pDC->TextOut(x,y,"hello,mfc",2);//文本输出,后面那个2是截取字符串数,可以不要,//不懂的是如果字符串太长,一行打印不完,如何换行?pDC-> 阅读全文
posted @ 2011-07-21 19:45 role 阅读(2183) 评论(0) 推荐(0) 编辑
摘要: 类CRect是对Windows结构RECT的封装,凡是能用RECT结构的地方都可以用CRect代替。结构RECT表示一个矩形的位置和尺寸,其定义为:typedef struct tagRECT{LONG left;LONG top;LONG right;LONG bottom;} RECT;其中 left、top分别表示矩形左上角顶点的横坐标和纵坐标,right、bottom分别表示矩形右下角顶点的横坐标和纵坐标。由于CRect提供了一些成员函数和重载运算符,使得CRect的操作更加方便。 1.CRect的构造函数 CRect有如下6个构造函数:CRect( );CRect( int l, i 阅读全文
posted @ 2011-07-21 18:56 role 阅读(15662) 评论(0) 推荐(0) 编辑
摘要: 参考<visual c++实用教程>人民邮电出版多文档下的用户登录界面先创建多文档下的appwizard,插入对话框,设置控件以及它的关联变量后,为对话框添加控件通知消息的处理函数:为确定键添加响应函数onok()的代码,编辑代码如下: UpdateData();//获取输入框的内容,这句话很关键喔……呵呵if(m_szLoginName=="user"&&m_szPassword=="test1234"){MessageBox("用户验证通过","登录提示",MB_OK);}else{ 阅读全文
posted @ 2011-07-21 16:02 role 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 使用AppWizard 工具生成的MDI程序启动时会默认创建个空白文件,但有时会带来麻烦//MDI启动时不建立一个新文件,将InitInstance()中的代码修改为如下:CCommandLineInfo cmdInfo;if(cmdInfo.m_nShellCommand==CCommandLineInfo::FileNew){cmdInfo.m_nShellCommand=CCommandLineInfo::FileNothing;}ParseCommandLine(cmdInfo); 阅读全文
posted @ 2011-07-21 08:58 role 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 5.2 创建有模式对话框使用有模式对话框时在对话框弹出后调用函数不会立即返回,而是等到对话框销毁后才会返回(请注意在对话框弹出后其他窗口的消息依然会被传递)。所以在使用对话框时其他窗口都不能接收用户输入。创建有模式对话框的方法是调用CDialog::DoModal()。下面的代码演示了这种用法:CYourView::OnOpenDlg(){ CYourDlg dlg; int iRet=dlg.DoModal();}CDialog::DoModal()的返回值为IDOK,IDCANCEL。表明操作者在对话框上选择“确认”或是“取消”。由于在对话框销毁前DoModal不会返回,所以可以使用局部变 阅读全文
posted @ 2011-07-20 20:44 role 阅读(11547) 评论(0) 推荐(1) 编辑
摘要: 它可将多个单选按钮圈起来,再将你想设为默认按钮的那个按钮的Group属性选中,其它按钮的Group属性取消。这样这些RADIO按钮就成了一组可以实现在他们之间进行单选,这4个按钮只有group属性的可以影射一个变量,其类型为int,这个变量可以用来返回用户选择了哪个选项,0表示选择了第一个,1表示选择了第二个, ....依此类推 这样以后就可以分别对不同的RADIO按钮进行消息映射了被分到一组里的单选框是互斥的,不在一个组里的单选框是互不影响的 阅读全文
posted @ 2011-07-18 16:00 role 阅读(718) 评论(0) 推荐(0) 编辑
摘要: 非模态(Modeless)对话框,又叫做无模式对话框,当用户打开非模态对话框时,依然可以操作其他窗口。例如,Windows提供的记事本程序中的【查找】对话框。【查找】对话框不会垄断用户的输入,打开【查找】对话框后,仍可与其他用户界面对象进行交互。用户可以一边查找,一边修改文章,这样就大大方便了使用。 非模态对话框允许用户在处理非模态对话框的同时处理目标对话框。其不会垄断用户的输入,如图所示。 Windows应用程序中,对话框分为两种。另一种是模态对话框。二者的区别在于当对话框打开时,是否允许用户进行其他对象的操作。 要建立非模态对话框需要调用两个函数 Creat()和ShowWindow() 阅读全文
posted @ 2011-07-18 15:02 role 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 注意 把第一列的城市看成固定的,求出另一列数的最长递增序列用a[p]保存rich city的标号r,dp[i]存放的是长度为i的序列的末尾最小的那个a[i]值dp[]的长度就是最多的道路数目。因为数据500000 故用二分查找的方法更新dp#include<stdio.h>#include<stdlib.h>#include<string.h> int a[500001],dp[5000001];//dp[i]用来存储长度为i时的最小值int find(int a,int*dp,int low,int height)//每次加入的数和dp中的数进行比较直到返 阅读全文
posted @ 2011-04-04 22:12 role 阅读(271) 评论(0) 推荐(0) 编辑