- 博客(153)
- 收藏
- 关注
原创 ViewState(页面级)
l两种使用方式: 作用域---页面级 1.用户数据保存方式: ViewState["myKey"]="MyData"; 读取数据方式: string myData; if(ViewState["myKey"]!=null) { myData=(string)ViewState["myKey"]; } 注意:V
2013-04-07 16:29:34
4182
原创 常用的状态(信息)保持方式(重点)
记住:HTTP是无状态的。 1、ViewState: ASP.NET 的 .aspx页面特有,页面级的; 就是在页面上的一个隐藏域中保存客户端单独使用的数据的一种方式;服务器端控件的值都自动保存在ViewState中; 2、Cookie: HTTP协议下的一种方式,通过该方式,服务器或脚本能够在客户机上维护状态信息; 就是在客户端保存客户端
2013-04-07 16:25:59
2312
原创 常用的状态(信息)保持方式(重点)
lViewState: ASP.NET 的 .aspx页面特有,页面级的; 就是在页面上的一个隐藏域中保存客户端单独使用的数据的一种方式;服务器端控件的值都自动保存在ViewState中; lCookie: HTTP协议下的一种方式,通过该方式,服务器或脚本能够在客户机上维护状态信息; 就是在客户端保存客户端单独使用的数据的一种方式;就像你的病历本一
2013-04-07 16:21:26
2252
原创 无状态HTTP
通俗:一个浏览者发出的请求都是由实现了IHttpHandler接口的对象进行响应,由于下次访问不一定还是上次那个对象进行响应,上次响应完毕对象可能已经被销毁了,写的类变量值早就不存在了,因此不要将状态信息保存到类变量中。例子:编写一个aspxprivate int i;•public void Count()•{• Response.ContentType = "tex
2013-04-07 16:20:41
2325
原创 为函数设置“动态参数”
#include#includevoid ConnectData(int i , ...){ using namespace std; va_list ap; va_start(ap , i); while(i--) { char* ctemp = va_arg(ap ,char*); int itemp = va_arg(ap,int); float ftemp =
2012-12-15 10:51:20
2464
原创 《CRecordSet》类
CRecordsetCObject└CRecordsetCRecordset对象代表从一个数据源选择的一组记录的集合,被称作“记录集”。CRecordset对象可以以两种形式使用:动态集和快照。动态集是与其它用户的更新保持同步的动态数据集。快照是数据的静态视图。每一种形式都代表打开记录集时固定的一组记录。但是当滚动到动态集中的一个记录时,
2012-12-06 12:57:43
2637
原创 ADO 教程 (VC++)
本教程以新版 Microsoft® Visual C++® Extensions 为特征。VC++ Extensions 删除了对繁琐的 VARIANT 数据类型的使用。本教程还使用了 #import 伪指令,它将 ADO Typelib 转换到头文件中,这个头文件使一些 ADO 的功能在使用和外观上类似于它的同伴 Microsoft® Visual Basic®。#define IN
2012-12-06 12:34:09
2771
原创 自定义消息的使用实例
1、Windows系统中,系统消息的范围是0到WM_USER - 1 ,WM_USER是一个常量,其值为0x400, WM_USER以上的值用于自定义消息;2、可以简单地用WM_USER加上一个数值定义一个消息ID{说明:消息其实就是一个常量值}3、使用API函数RegisterWindowMessage可以注册一个系统内唯一的消息ID;、、、、、、、、、、、、、、、、、、、、
2012-12-02 17:06:09
2459
原创 MFC中消息映射实例
1、MFC中用DECLARE_MESSAGE_MAP宏声明消息映射函数;2、MFC中用BEGIN_MESSAGE_MAP和END_MESSAGE_MAP宏实现消息映射;3、每个MFC应用程序中都存在一个消息响应链表,这个表由DECLARE_MESSAGE_MAP定义,并由BEGIN_MESSAGE_MAP和END_MESSAGE_MAP宏之间的代码填充内容。这样,取得消息后,MFC
2012-12-02 15:57:21
8829
1
原创 发送Windows消息实例
1、利用API函数SendMessage能以同步的方式向目标窗体发送一条消息,然后等待目标窗体处理过程处理此消息。2、利用API函数PostMessage能以异步方式向目标窗体投递一条消息,消息投递出去后,函数立即返回。3、PostMessage和SendMessage返回值是BOOL类型,代表消息是否发送成功。、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
2012-12-02 14:52:20
2940
原创 传递并响应Windows消息实例
VC6下建立一个“A Simple Win32 Application ”工程,命名为PeekMsgDemo将第4章的CMyWnd加入工程,并从CMyWnd派生一个新类,命名为CMsgWnd// MsgWnd.h: interface for the CMsgWnd class.//////////////////////////////////////////
2012-12-01 22:32:12
3486
原创 让窗体保持在最顶层实例
1、用CreateWindowEx函数创建窗体时,如果给第一个参数dwExStyle传入WS_EX_TOPMOST,就能使窗体成为最顶层窗体。2、窗体创建成功后,可以使用API函数SetWindowPos为窗体设置或取消WS_EX_TOPMMOST风格。、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
2012-12-01 17:12:27
10870
原创 -创建和显示窗体实例
本例在SDK下使用API函数实现窗体的创建、销毁、显示和隐藏!1、打开VC6,单击File/New菜单,选择Win32 Application ,建立工程名为WindowDemo的应用程序。2、选择“A simple Win32 Application”3、向工程中添加一个菜单资源,ID为IDR_MAIN,在菜单中添加一个子菜单“测试窗体1”,包含四个菜单项,ID为:“ID_M
2012-12-01 16:52:49
5051
1
原创 概述
使用API函数CreateWindow或CreateWindowEx可以创建一个窗体。使用API函数DestroyWindow可以销毁一个窗体。使用API函数ShowWindow可以显示窗体。使用API函数HideWindow可以隐藏一个窗体。
2012-12-01 12:13:54
1845
原创 概述
Windows中的大多数程序都运行在一个死循环中,这个循环只是简单的重复着一个工作:读取消息-->分发消息,直到接收到一个特殊的退出消息,这个死循环才会结束。通常,此循环结束也就意味着一个应用程序的关闭。 使用Api函数GetMessage()可以从当前线程的消息队列中取出一条消息,如果当前队列没有消息,函数进入等待状态,直到有消息送达。 使用API函数Peek
2012-11-30 16:27:58
1594
原创 颜色对话框使用实例
颜色对话框允许用户选择常用的系统色。使用API函数ChooseColor可以弹出一个颜色对话框。MFC对颜色的对话框的封装类为CColorDialog。、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、修改FontDlgDemo实例,
2012-11-30 11:23:57
3078
1
原创 字体对话框使用实例
使用API函数ChooseFont可以显示一个字体对话框。MFC对字体对话框的封装类为CFontDialog、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、新建一个基于对话框的MFC应用程序FontDlgDemo在主对话框上添加一个Rich Edit控件,将其ID
2012-11-29 23:05:54
3780
原创 “保存文件”对话框使用实例
保存文件对话框同打开文件对话框使用方法类似,也是以模式对话框的形式弹出。使用API函数GetSaveFileName可以弹出保存文件对话框。MFC中GetSaveFileName的封装和打开文件对话框相同,也是CFileDialog,由构造时传入的参数区分是显示打开文件对话框还是保存文件对话框。、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
2012-11-29 22:21:35
2458
原创 打开文件对话框使用实例
1、打开文件对话框属于Windows通用对话框!2、使用API函数GetOpenFileName可以显示打开文件对话框并返回所选文件。3、MFC对GetOpenFileName的封装类为CFileDialog。、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
2012-11-29 21:06:43
2779
原创 显示模式对话框实例
模式对话框被创建后会立即显示出来,即使创建时没有指定WS_VISIBLE。使用API函数DialogBox和DialogBoxParam。其中DialogBoxParam最常用。调用EndDialog结束一个模式对话框.对话框建立后收到的第一条消息是WM_INITDIALOG,所以对话框的初始化工作应该放在WM_INITDIALOG消息的响应函数中。MFC中调用CDialog::D
2012-11-29 15:43:48
1242
原创 显示非模式对话框实例
使用API函数CreateDialog和CreateDialogParam。结束非模式对话框使用DestroyWindow函数,而不是EndDialog函数。非模式对话框建立后收到的第一条消息任然是WM_INITDIALOG。如果资源中没有指定WS_VISIBLE属性,则非模式对话框创建后不会立刻显示出来,要调用Showwindow函数才能让其显示。、、、、、、、、、、、、、、、、
2012-11-29 15:26:18
1108
原创 ToolTip显示即时提示消息
使用API函数CreateWindow或CreateWindowEx,并将类名指定为TOOLTIPS_CLASS就可以创建一个Tooltip控件。/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2012-11-27 22:37:56
4150
原创 状态栏输出信息实例
使用API函数CreateWindow或者CreateWindowEx,并将类名指定为STATUSCLASSNAME就可以创建一个状态栏MFC封装类CStatusBar////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2012-11-26 23:01:36
1155
原创 256色工具栏使用
Visual C++ 6的IDE只能编辑16色工具栏,即使将256色以上的图片粘贴到工具栏中,程序编译后任然会降低颜色数。要使用256色以上的位图作为工具栏图标,可以在代码中加载图片列表再设置到工具栏上。要点:1、向工具栏发送TB_SETIMAGELIST消息,可以设置工具栏处于正常情况下的图片列表。2、向工具栏发送TB_SETHOTIMAGELIST消息,可以设置鼠标位于工具栏
2012-11-26 21:25:26
2088
原创 工具栏使用
使用API函数CreateWindow或CreateWindowEx创建MFC封装类为CToolBar///////////////////////////////////////////////////////////////////////////////////////////////////新建工程ToolbarDemo添加一个菜单资源ID为IDR_MENU,为其第一个子菜
2012-11-25 18:46:55
696
原创 弹出式菜单
在窗体上右击鼠标,通常会发出WM_CONTEXTMENU消息调用API函数TrackPopupMenu可以在指定位置显示弹出式菜单///******************************************************************************************************建立基于对话框的工程PopMenuDemo新
2012-11-25 16:20:49
693
原创 使用菜单
建立基于对话框的工程MenuDemo添加两个菜单资源IDR_MENU1添加两个子菜单ID为ID_MI_DISABLE 和ID_MI_ENABLE,“禁用菜单”和“启用菜单”和IDR_MENU2添加子菜单ID为ID_MI_CHECK,“选中”///主对话框中添加protected: HMENU m_hMenu1;///菜单1的句柄 H
2012-11-25 15:05:04
858
原创 树形控件(Tree Control)
///"添加"按钮的响应函数void CTreeCtrlDemoDlg::OnBtnAdd() { // TODO: Add your control notification handler code here ///获取用户的输入 CString strText; GetDlgItemText(IDC_EDT_TEXT, strText); if(strText.GetLengt
2012-11-24 14:51:46
8694
原创 列表控件
///OnInitDialog()中添加代码 //为列表控件添加列 m_list.InsertColumn(0,_T("第1列") , LVCFMT_LEFT,100); m_list.InsertColumn(1,_T("第2列") ,LVCFMT_LEFT ,100); ///创建图片列表 m_images.Create(32 ,32 ,ILC_COLOR32 ,1,1); ///在
2012-11-24 13:33:55
2739
原创 子类无权访问父类的私有数据成员
// 111.cpp : Defines the entry point for the console application.//#include "stdafx.h"#includeclass person {int age;public: void SetAge(int nAge) { age = nAge; } int GetAg
2012-11-03 17:31:57
1715
原创 通讯录管理系统
///课程设计:通讯录管理系统///开发环境:VC++ 6.0///author : 10计科 yaoxinchao#include#include#include#include ///包含getche()#includeusing namespace std;///*****************************************
2012-11-02 22:12:56
1464
1
原创 这样学习计算机
我相信,这可能是很多朋友的问题,我以前也有这样的感觉,编程编到一定的时候,发现能力到了瓶颈,既不深,也不扎实,半吊子。比如:你长期地使用Java和.NET ,这些有虚拟机的语言对于开发便利是便利,但是对于程序员来说可能并不太好,原因有两个:虚拟机屏蔽了操作系统的系统调用,以及很多底层机制。 大量的封装好的类库也屏蔽了很多实现细节。一段时间后,你会发现你知其然,不知所以然。。
2012-11-01 18:13:26
1077
原创 继承
///公有继承#include#includeclass person{private: char name[20]; int age; bool sex;///0代表女,1代表男public: person() { strcpy(name, ""); sex = 1; age = 0 ; } pers
2012-11-01 18:03:52
883
原创 对DC的一些理解
计算机图形显示设备品种繁多,原理和结构差别巨大,所以要求程序设计人员掌握对所有图形显示设备进行编程是不现实的。为此,出现了一个统一的虚拟图形显示设备,而虚拟图形显示设备转换为物理设备图形的任务则由系统去完成! 在WindowS中,这个虚拟图形设备表现为一个叫做图形设备描述表的数据结构,它描述了虚拟图形设备的属性,所以也叫做图形设备描述环境,简称DC。
2012-10-30 19:30:25
1061
原创 动态创建类的对象
#include #includeusing namespace std;class CObject;///类信息表结构struct CRuntimeClass{ char* m_lpszClassname ; //类名 CObject* (_stdcall *m_pfnCreateObject)(); ///对象构建函数指针 CObject* _std
2012-10-30 18:58:47
1112
1
原创 多维动态数组
《C++ Primer》中说:在C++中没有多维数组,只有元素师数组的数组。如:要想创建一个二维整数数组,首先要创建一个一维动态数组,它由int *类型的指针构成。int*就是这个一维int指针数组的类型。 下面举例说明// String.cpp : Defines the entry point for the console application.//#incl
2012-10-26 16:02:26
754
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人