自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (38)
  • 收藏
  • 关注

转载 Xcode3.2.5中找不到Mac OS X - Command Line Utility - Foundation Tool

在《Objective-C基础教程》中例程要求选择Xcode中Mac OS X - Command Line Utility - Foundation Tool但在Xcode3.2.5中Mac OS X中没有Command Line Utility,左侧只有Application/Framework & Library/Application Plug-in/System Plug-i

2012-02-29 11:40:48 1478 1

转载 Xcode 4使用下载和安装教程

Xcode4使用下载和安装教程是本文要介绍的内容,主要讲述了xcode4的下载和安装过程,帮你轻松解决安装问题,来看详细内容  。  一、下载  到那里下?要花钱吗?  1、交了99刀的苹果开发者可以到官方网站(http://developer.apple.com/xcode/)免费下  。  注:需要在mac环境(除了‘正规’的mac台式,mac book之外,虚拟机,普通pc上

2012-02-26 21:55:27 5743

转载 iPhone SDK 和 Xcode 各个版本下载地址

使用app store的帐号登录后,直接敲地址可下载:(苹果已经删除了3.1.2以前的版本)iPhone SDK 3.1.3 with XCode 3.1.4 for Leopard (10.5.7)http://developer.apple.com/ios/download.action?path=/iphone/iphone_sdk_3.1.3__final/iphone_s

2012-02-26 14:11:57 1632

转载 让你10分钟搞定Mac--最简单快速的虚拟安装

一直想在pc上装Mac 好久了,文章,网站不知道看了多少,之所以一直没有动手,是因为不知道到底自己能不能安装成功,也不知道要选什么样的版本才适合自己的配置。直到我昨天在网上看到这篇文章,才下定决心动手。从开始下载snow leopard系统, 所需软件,到一次安装成功,总共时间没用到6个小时,安装时间不过十几分钟。看到安装这么简单,想到论坛上这么多兄弟还在为诸如“我的配置能不能装Mac ”,“出现

2012-02-26 12:11:11 1081

转载 虚拟机报错:Unable to open kernel device "\\.\VMCIDev\VMX": 重叠 I/O 操作在进行中

今天启动虚拟机突然出现:Unable to open kernel device "\\.\VMCIDev\VMX": 重叠 I/O 操作在进行中. Did you reboot after installing VMware Workstation?这样的报错,虚拟机启动不了。在晚上搜了一下解决方法,下面分享给大家:解决方法一:(亲测可行)对虚拟机相对应的.vmx文件进行编辑修改

2012-02-25 20:14:40 1871

转载 二、在模拟器安装APK的方法

1、运行Android模拟器,启动你的Android手机系统,准备好你需要安装apk软件例如,我把UC浏览器的APK放到D盘,文件名为:ucweb-7.2.2.54-999-139-10070817.apk2、打开CMD窗口(从开始菜单输入CMD 回车)输入 adb install D:\ucweb-7.2.2.54-999-139-10070817.apk  回车

2012-02-23 15:16:20 1669

转载 开发Iphone第一步(VM7.0 虚拟机安装雪豹Mac OS snow leopard 10.6!)

所需工具软件:VMware workstation 7.0.0 203739下载下载地址:http://www.vmware.com/cn/products/ws/VMware workstation 7.0.0 203739汉化包与注册机下载地址:http://download.csdn.net/source/1782243虚拟机的声卡显示驱动程序下载地址:http://

2012-02-13 17:23:47 687

原创 IE9 和 Adobe Flash Player 11不兼容问题的解决

问题描述:64位操作系统,IE9,  在Adobe官方网站安装 Adobe Flash Player 11 For IE  发现安装完就像没有安装一样,打开新浪主页一直提示安装 Adobe Flash Player 11.问题一:  证书验证失败解决方法:Adobe Flash Player 安装不了 提示说“证书验证失败1、打开 Int

2012-02-11 00:36:44 16190

转载 [过来人心得]体制内单位和基金公司

看到job版上每天有很多学弟学妹询问基金公司和某些体制内单位情况,我想做为一个过来人,谈谈我对基金公司和体制内单位的了解。虽然我入行时间也不长,但是由于我机缘巧合地进入了一个较为便利的单位,得以有机会了解到基金业界方方面面的情况。希望我的介绍能给学弟学妹们提供一些有价值的信息。首先是证监会。现在想要进入证监会很不容易。如果能进入证监会内几个重要部门,即使有再好的其他选择,也因果断选择证

2012-02-09 16:30:56 1649

转载 VC内存泄露检查工具:Visual Leak Detector

灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题。当程序越来越复杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问 题。内存泄漏是最常见的内存问题之一。内存泄漏如果不是很严重,在短时间内对程序不会有太大的影响,这也使得内存泄漏问题有很强的隐蔽性,不容易被发现。 然而不管内存泄漏多么轻微,当程序长时间运行时,其破坏力是惊人的,从性能下降到内存耗尽,甚至会影响到其他程序的

2012-02-08 15:24:16 388

NitroBake2动力学转换关键帧C4D插件V2.07版下载

NitroBake2动力学转换关键帧C4D插件V2.07版下载

2022-10-27

程序员面试宝典 PDF电子书 高清版

程序员面试宝典 PDF电子书 高清版

2012-01-31

凯立德最新2012电子眼文件(高清版) 红绿灯 测速 预警

凯立德最新2012电子眼文件(高清版) 红绿灯 测速 预警

2012-01-28

极速FLV合并器 亲测好用的FLV合并工具软件

极速FLV 合并器 亲测好用 FLV合并工具 软件

2012-01-03

300多条MTK工作笔记为你的工作节省一半时间.pdf

300多条MTK工作笔记为你的工作节省一半时间.pdf

2011-11-29

RAMDISK 4G, 详细教程版。不会的请来看

RAMDISK 4G 内存 详细教程版 RAMDISK 4G 内存 详细教程版

2011-11-28

最好的自动整理内存的小软件 很实用

最好的自动整理内存的小软件 很实用最好的自动整理内存的小软件 很实用

2011-08-11

MTK_MMI函数手册

MTK_MMI函数手册 MTK MMI 函数 宝典 说明书 API

2010-06-03

QQ号码分析工具2.1.1 整理qq号的工具

QQ号码分析工具2.1.1 整理qq号的工具

2009-05-30

深入BREW开发.rar 深入BREW开发.doc 深入BREW开发.pdf

深入BREW开发.rar 深入BREW开发.doc 深入BREW开发.pdf

2009-05-16

VMware-workstation-6.5汉化补丁VMware6.5汉化补丁 VMware6.5中文 VMware6.5简体中文

VMware-workstation-6.5汉化补丁VMware6.5汉化补丁 VMware6.5中文 VMware6.5简体中文

2009-04-04

金山词霸2009牛津版激活程序(支持sp2更新-内附属使用说明)

金山词霸2009牛津版激活程序(支持sp2更新-内附属使用说明)

2009-04-03

百度笔试题 百度 笔试题

百度笔试题 百度 笔试题 百度 笔试题

2008-10-27

计算机网络(第4版)中文版PDF完美版part1(All 4 Parts)

清华大学出版社 / 2004-8-1 / (美)特南鲍姆(Tanenbaum,A.S.)著,潘爱民 译 / 60 元 ISBN:7302089773

2008-09-13

计算机网络(第4版)中文版PDF完美版part2(All 4 Parts)

清华大学出版社 / 2004-8-1 / (美)特南鲍姆(Tanenbaum,A.S.)著,潘爱民 译 / 60 元 ISBN:7302089773

2008-09-13

计算机网络(第4版)中文版PDF完美版part3(All 4 Parts)

清华大学出版社 / 2004-8-1 / (美)特南鲍姆(Tanenbaum,A.S.)著,潘爱民 译 / 60 元 ISBN:7302089773

2008-09-13

计算机网络(第4版)中文版PDF完美版part4(All 4 Parts)

清华大学出版社 / 2004-8-1 / (美)特南鲍姆(Tanenbaum,A.S.)著,潘爱民 译 / 60 元 ISBN:7302089773

2008-09-13

PDG转PDF万能工具

PDG转PDF万能工具 PDG转PDF万能工具 PDG转PDF万能工具

2008-09-13

C++之父Bjarne Stroustrup 的C++ Style and Technique FAQ

C++之父Bjarne Stroustrup 的C++ Style and Technique FAQ

2008-07-06

西北工业大学C++全套课件

西北工业大学 C++ 全套课件西北工业大学c++全套课件,绝对好的课件

2008-04-21

BCGControlBar.专业版.v9.4.Full.Source 完整版Part1

BCGControlBar.专业版.v9.4.Full.Source 完整版Part1

2008-03-29

BCGControlBar.专业版.v9.4.Full.Source 完整版Part2

BCGControlBar.专业版.v9.4.Full.Source 完整版Part2

2008-03-29

Mycolor 我的取色器2007 很强大的取色软件

Mycolor 我的取色器2007 很强大的取色软件

2008-03-29

200个XP系统图标 很好很强大

200个XP系统图标 很好很强大

2008-03-29

很好的FileDialog控件 类似IE的选项对话框以及超链接类源码

很好的FileDialog控件 类似IE的选项对话框以及超链接类源码

2008-03-29

VC6.0透明背景的对话框示例代码

VC6.0 透明背景 对话框 示例代码

2008-03-29

last_order fantastic_dream Slicer系列精美图标下载

last_order fantastic_dream Slicer 系列 精美图标

2008-03-29

Adobe奥多比注册机全集 35合1 史上最强大

Adobe 奥多比 注册机全集 35合1 史上最强大

2008-03-14

北京大学信息学院数理逻辑经典教程

北京大学信息学院数理逻辑经典教程 共333页教程 计算机逻辑的经典教材

2008-01-02

利用多线程在程序繁忙时显示进度条源代码

利用多线程在程序繁忙时显示进度条源代码 很好的了解学习多线程的源代码

2008-01-01

MFC多线程编程源代码和说明文档(二)

MFC多线程编程源代码和说明文档(二)

2008-01-01

MFC多线程编程源代码和说明文档

MFC多线程编程源代码和说明文档

2008-01-01

ubuntu实用教程

ubuntu实用教程<br>

2007-12-30

在单文档程序中动态切换多个窗体的源码程序

摘要:本文通过一个程序实例描述了在VC++6.0下如何在单文档程序中通过菜单动态控制多 个窗体的切换。    一、 引言    我们在编制程序中根据需求的不同会在程序风格上选择多文档、单文档或是对话框模式 ,对于单文档模式可能是我们使用比较多的,但有时我们想采用单文档的形式显示多个不同 的窗体,如作为数据库前台应用程序就会遇到此类问题,数据库由大量的表单组成,而同常 一个窗体内只用来显示一个表单,所以要显示其他的表单时就要用到切换窗体的技术了,下 面就通过一个程序说明该技术的实现方法。    二、 实现技术    新建一个基于CFormView的单文档应用程序,再添加一个窗体和与之对应的基于 CFormView的新视类,然后通过在主框架类里添加控制代码和菜单控制实现这两个窗体的动态 切换,下面就是具体的实现过程:    (一) 用"MFC AppWizard(exe)"建立一个新项目"SwitchForm",并在第二步的创建类型上选 择为"Single documnet"单文档模式,第三、四、五、六步均取确省状态,最后一步选择 "CFormView"作为视类的基类。点按"完成"按钮,生成了初始工程"SwitchForm"。    (二) 点选菜单"Insert"、"Resource…",在弹出的"Insert Resource"对话框中"Dialog"树 里的"IDD_FORMVIEW",点击"New"按钮,生成了一个新的窗体,将其ID号改为"IDD_NEXTFORM"。 在原有的窗体上加一个静态框"这是第一个窗体";在新建的窗体上也添加一个静态框"这是第二 个窗体"。    (三) 在菜单资源的"IDR_MAINFRAME"上添加一级菜单"窗体切换",及其二级菜单"第一个窗 体"、"第二个窗体",其标识号分别为"ID_FIRSTFORM"和"ID_SECONDFORM"。修该"第一个窗体" 的属性为"Checked",表明程序初始时显示的是第一个窗体。    (四) 在"ClassView"属性页里的"SwitchForm classes"上右键,在弹出菜单上选择 "New Class…",弹出"New Class"对话框,选择"Dialog ID:"为我们刚添加的新窗体 "IDD_NEXTFORM",选择"Base class:"为"CFormView",类名取为"CNextFormView",这样就把第 二个窗体对应的视图类添加到了工程。 (五) 在框架类里添加函数SwitchToForm(): void CMainFrame::SwitchToForm(int nForm) { file://获取原来的活动窗体的视图句柄 CView* pOldActiveView = GetActiveView(); file://获取由"nForm"标识的窗体所对应的视图句柄 CView* pNewActiveView = (CView*) GetDlgItem(nForm); file://若视图句柄为空,则创建一新的。 if (pNewActiveView == NULL) { if (nForm == IDD_SW99vCHFORM_FORM) pNewActiveView = (CView*)new CSwitchFormView; if (nForm == IDD_NEXTFORM) pNewActiveView = (CView*)new CNextFormView; CCreateContext context; context.m_pCurrentDoc = pOldActiveView->GetDocument(); pNewActiveView->Create(NULL,NULL,0L, CFrameWnd::rectDefault, this,nForm,&context); pNewActiveView->OnInitialUpdate(); } file://选择pNewActiveView为活动窗体 SetActiveView(pNewActiveView); file://显示活动窗体,隐藏非活动窗体 pNewActiveView->ShowWindow(SW_SHOW); pOldActiveView->ShowWindow(SW_HIDE); int ID; if(pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CSwitchFormView)) ID=IDD_SW99vCHFORM_FORM; if(pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CNextFormView)) ID=IDD_NEXTFORM; file://设置窗体的ID号 pOldActiveView->SetDlgCtrlID(ID); pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST); RecalcLayout(); }    (六)添加两个菜单相对应的命令响应函数和更新函数如下: void CMainFrame::OnFirstform() { file://通过IsKindOf函数确定当前活动窗口是否是第一个窗口,如是,则无须切换, file://否则将通过SwitchToForm函数将当前活动窗口切换到"IDD_SW99vCHFORM_FORM" file://标识的第二个窗体。 if (GetActiveView()->IsKindOf(RUNTIME_CLASS(CSwitchFormView))) return; SwitchToForm(IDD_SW99vCHFORM_FORM); } void CMainFrame::OnUpdateFirstform(CCmdUI* pCmdUI) { file://通过IsKindOf函数判断当前活动窗口是否是第一个窗体,如是则将其选中。 pCmdUI->SetCheck(GetActiveView()->IsKindOf(RUNTIME_CLASS(CSwitchFormView))); } void CMainFrame::OnSecondform() { if (GetActiveView()->IsKindOf(RUNTIME_CLASS(CNextFormView))) return; SwitchToForm(IDD_NEXTFORM); } void CMainFrame::OnUpdateSecondform(CCmdUI* pCmdUI) { pCmdUI->SetCheck(GetActiveView()->IsKindOf(RUNTIME_CLASS(CNextFormView))); }    然后再在该文件开始处添加对两个视图类的引用: #include "SwitchFormDoc.h" #include "SwitchFormView.h" #include "NextFormView.h"    在此须注意:应在两个视类的引用之前添加对文档类的引用,否则会引起编译错误。另外,由于视 类的构造函数在声明时都确省的声明为保护型的,在框架类中无法引用,所以还要将两个视类的类 声明改动如下: class CNextFormView : public CFormView { public: file://将protected 改为public. CNextFormView(); …… }; class CSwitchFormView : public CFormView { public: file://将protected 改为public. CSwitchFormView(); …… };    三、 编译运行    编译运行程序,开始时的窗体上有"这是第一个窗体的字样",菜单也只有"第一个窗体"是被选中的, 当前的活动窗体是第一个窗体;点击菜单"第二个窗体",视图中的窗体上的字样变成了"这是第二 个 窗体",同时选中的菜单也由"第一个窗体"变成了"第二个窗体",实现了通过菜单将窗体进行动态切换。    总结:此程序中关键的是SwitchToView函数,在此函数中,程序搜索所有当前文档的显示窗口来查找与CruntimeClass变量匹配的视图类。如果找到,该窗口被激活。通过与之类似的方法,还可以实现在多文档模式下的单档(文档)多视(视图),通过不同的视图以不同的方式显示来自同一份文档的数据,以更好的满足程序的需要。

2007-12-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除