Pro_E上二次开发具有文档_视结构的应用程序

Pro_E上二次开发具有文档_视结构的应用程序
Pro_E上二次开发具有文档_视结构的应用程序

第17卷第9期2005年9月

计算机辅助设计与图形学学报

JOURNALOFCOMPUTER

2AIDEDDESIGN&COMPUTERGRAPHICS

Vol 117,No 19Sep 1,2005

 

 收稿日期:2004-11-19;修回日期:2005-01-04

 基金项目:国家自然科学基金(50475162);总装预研项目(413181111)

产品开发集锦

Pro ΠE 上二次开发具有文档-视结构的应用程序

王 恒 宁汝新 杜 龙 牟联常

(北京理工大学机械与车辆工程学院 北京 100081)(wangheng@bit 1edu 1cn )

摘要 为了避免当前Pro ΠE 二次开发中只能使用对话框的缺陷,满足开发功能较复杂、界面相对独立的应用程序的需要,提出了运用VC 和MFC,利用Pro ΠToolkit 开发基于Pro ΠE 具有文档-视结构的应用程序的方法1详细论述了开发环境的设置、应用程序的结构和运行过程,以及开发中的关键技术1实例证明该方法正确、简便,既能保证应用程序与Pro ΠE 无缝交互,又具有相对独立的用户界面,且在程序开发中可以完全利用MFC 的强大功能和丰富资源1关键词 文档2视;Pro ΠE;二次开发;MFC 中图法分类号 TP391172

CustomizedDevelo pmentofDocument 2ViewStructuredApplicationBasedonPro ΠE

WangHen g NingRuxin DuLon g MuLianchan g

(School of Mechanical and Vehicular Engineerin g ,Beijin g Institute of Technology ,Beijin g 100081)

Abstract Inordertoavoidthelimitationthatonl ydialo gscanbeusedinthecustomizeddevelo

pment

basedonPro ΠE,aswellsatisf ythere quirementofcustomizeddevelo pmentofcom plicateda pplications ys 2

tems,amethodonhowtodevelo pdocument 2viewstructureda

pplicationsbasedonPro

ΠEthrou ghVCand

MFCis proposedinthis

paper 1Furthermore,thesettin

gofthedevelo pmentenvironment,thestructureand

therunnin g processofa pplication programsandtheke ytechnolo giesindevelo pmentare givenindetails 1By

givinganinstance,thismethodis

provedtobecorrectandeas

ytouse 1Italsoshowsthatthea

pplication

systemsdevelo pedb ythismethodcannotonl

yinteractwithPro

ΠEseamlessl y,butalsoholdarelativel yin 2

dependentinterface 1Wema yalsoseethereisanotheradvanta ge,thatthe powerfulfunctionofMFCand VCand plent yofMFCresourcecanbetotall yandeasil yusedinthedevelo pmentofcustomizeda pplications 1Ke ywords document 2view;Pro ΠE;customizeddevelo pment;MFC

1 引 言

Pro ΠE 作为一种功能强大的CAD ΠCAM 软件,

在制造业的许多部门中得到广泛应用1但其作为通用软件,还不能很好地满足每个具体企业的独特需求1因此,为了满足使用者自身的特定任务,提高企

业设计的规范性,减少重复性的劳动,基于Pro ΠE 的

二次开发工作十分重要1

目前,基于Pro ΠE 的二次开发基本上是在Pro ΠE 平台上创建一些对话框,利用对话框完成一定的工作[125],这对于需要基于Pro ΠE 二次开发且功能相对独立、操作较为复杂的应用程序(或模块)而言,则不尽如人意1本文总结长期的开发经验,提出了基于

ProΠE二次开发具有文档-视结构应用程序的方法1文档-视结构是目前绝大多数应用程序的整体结构框架,它通过将用户数据和视图数据分开,为程序的编制和用户的操作带来了较多的好处[6],且能实现功能强大、复杂的程序编制1

2 ProΠE二次开发现状

ProΠE提供的二次开发方法很多,通过编制程序进行开发的有ProΠToolkit、ProΠJlink和ProΠPro2 gram三种方法1其中ProΠToolkit是目前的主流开发方法,功能最为强大,能够实现其他开发方法不能实现的功能,故本文的论述以ProΠToolkit为主1 ProΠToolkit应用程序的开发有同步模式和异步模式两种1同步模式又分为DLL(Dynamically LinkedLibraries)模式和多进程模式,异步模式又分为简单异步模式和全异步模式1由于DLL模式与ProΠE紧密集成且运行稳定,通常情况下采用同步模式DLL进行系统开发,本文所述方法均采用DLL模式[7]1

尽管ProΠToolkit是PTC公司提供的纯C语言函数包,用C语言进行开发,但由于VC和MFC的功能和资源要比C语言强大且丰富很多,因此近年来,一些研究人员已经探索出用VC和MFC进行二次开发的方法,可以方便地使用MFC的资源和VC 的可视化界面进行高效率的程序开发[1]1例如创建对话框,连接数据库等功能1对话框的界面简单,且内容不丰富,仅适用于对ProΠE现有功能进行简单扩充或添加一些功能简单的子模块,不适用于复杂且功能相对独立的系统,无法为用户提供结构完整的界面1

因此对于某些要求高的复杂系统应该使用具有文档-视结构的程序框架进行开发,但是采用同步DLL的开发模式中,DLL应用程序中并没有任何文档-视结构框架,且如何在ProΠE系统之上构建另外的文档2视结构也是难题1本文提出如何基于ProΠE,利用ProΠToolkit和MFC开发具有文档-视结构的应用程序1

3 文档-视结构应用程序的开发方法

311 VC环境设置

为了在VC环境下统一编译ProΠToolKit函数、WindowsAPI函数和MFC函数,需要对VC610设置正确的环境参数,如下环境设置保证了文档-视结构应用程序的顺利编译,同时改正了文献[1]中的环境设置下,因无法避免参数的重复定义而产生47个warnin g的不足1

(1)Project→Settings→CΠC++→Preprocessdefinitions:

WIN32,DEBUG,WINDOWS,MBCS,USRDLL,

PRO USE VAR ARGS,h ypot

=hypot,MSB LEFT, far=ptc far,huge=p huge,near=p near,AFXDLL;

(2)Project→Settings→CΠC++→PrecompiledHeaders:

Automaticuseof precompiledheaders;

(3)Project→Settings→Link→General→ObjectΠlibrary

modules:protk dllmd1lib prodev dllmd.libwsock32.

libm pr.lib;

(4)Project→Settings→Link→Input→Ignorelibraries:

libcmt1lib,msvcrtd1lib

312 程序结构和运行过程

标准的ProΠToolkit程序结构和运行过程如图1所示,系统以user initialize()为入口函数,user ter2 minate()为出口函数,程序体在这两者之间完成用户自定义功能1

图1 一般的ProΠToolkit程序结构和运行过程

与该标准的程序结构相比,为了实现具有文档-视结构的程序的开发,需要以如图2所示的程序结构进行开发1其中,程序启动首先定义全局变量theApp,此时重载theApp的初始化函数,在该函数中创建文档模板并实现加载,程序调用CMain2 Frame∷OnCreate()函数创建主框架1因此可在该函数中编写创建工具栏、状态栏以及设置窗口浮动特性等代码;然后才调用ProΠToolkit的user initial2 ize()函数注册菜单、定义菜单响应函数等;之后执行程序体,最后在注销此应用程序之前应该使用Destro yWindow()函数注销窗口1

3112

9期王 恒等:ProΠE上二次开发具有文档-视结构的应用程序

313 关键技术

(1)主窗口的创建时机

如图2所示,主窗口需要在Pro ΠToolkit 程序启

动的时候创建,即在Pro ΠE 中注册加载DLL 应用程序时创建;否则,如果在Pro ΠToolkit 程序完全启动后,通过在Pro ΠE 上加载的菜单项来创建主窗口,系统无法正确地获取当前资源句柄(即A fxCurrent 2ResourceHandle ==NULL ),将会导致Pro ΠE 非正常退出

1

图2 具有文档-视结构的Pro ΠToolkit

应用程序结构和运行过程

(2)主窗口的显示、隐藏和注销

由于主窗口的创建是在应用程序启动时,

但通

常此时并不需要显示该窗口,因此主窗口的显示可以通过在Pro ΠE 上添加的自定义菜单项来完成1同理,主窗口会经常被关闭或重新显示,因此应该修改主窗口的OnClose ()函数,实现窗口的隐藏而不是注销1若确实需要注销主窗口,则可以添加窗口的注销函数,利用Destro yWindow ()来注销主窗口1

(3)相关类的添加

由于应用程序是通过VC 的向导创建的MFC DLL 工程,该工程中没有任何有关文档2视的类,因此需要手工添加相关类,包括CMyDoc,CM yView,CMainFrame 类1

(4)相关资源的添加

同理,DLL 工程不包括创建窗口、文档-视结构应用程序所需的资源,因此需手工添加,包括Menu,Toolbar

和Icon,它们的默认ID 为IDR

MAINFRAME 1简便可行的方法是利用MFCA pp 2Wizard 生成标准的MFC 的可执行程序,并拷贝其中的相关资源14 开发实例

按照本文方法在Pro ΠE 上开发装配精度预分析系统,该系统采用具有文档-视结构的程序框架,其界面如图3右半部分所示,它在保证了与Pro ΠE 无缝交互的同时,又具有相对独立的界面框架、独立的文档数据和视图数据,因而保持了应用程序的独立性,且在程序开发中,CDocument,CView,CFrame 等类的所有函数、功能等均可方便调用

1

图3 示例界面

5 结 论

如何运用MFC 进行Pro ΠE 的二次开发得到解

决后,基于Pro ΠE 的应用程序的功能和界面得到了很大程度的优化,但是局限于只能应用对话框进行开发,其功能和应用仍旧受到较大限制1本文方法较好地解决了这个问题,可以在Pro ΠE 上成功地开发出具有文档-视结构的应用程序,大大扩展了二次开发应用程序的适用面,在保持程序独立性的基础上,可以与Pro ΠE 进行紧密的无缝交互,并可以完全使用MFC 提供的强大功能和丰富资源,这对于较复杂应用系统的开发具有重要的应用价值1参 考 文 献

[1]

WangHen g,Nin gRuxin,Zhan gXu,

et al 1Customizeddevel 2

opmentofPro ΠEbasedonMFCandVisualC++6

10[J]1

JournalofCom

puterAidedDesi

gn&Com

puterGra phics,

2004,16(6):869~872(inChinese )

(王 恒,宁汝新,张 旭,等1利用MFC 二次开发Pro ΠE [J]1计算机辅助设计与图形学学报,2004,16(6):869~

872)

4112

计算机辅助设计与图形学学报2005年

[2]ZhongYuan,LiuShen gqing,LuoYan g,et al1Thetechnolo gy

aboutMFCdialo ga pplicationinProΠE[J]1Machinery,2003,

30(1):50~52(inChinese)

(钟 元,刘胜青,罗 阳,等1ProΠE调用MFC对话框技术[J]1机械,2003,30(1):50~52)

[3]HeFei,LiuZi jian1TechnologyofCADs ystemcustomizedde2

velo pmentbasedonProΠE[J]1ComputerA pplications,2002,

22(11):123~125(inChinese)

(贺 菲,刘子建1基于ProΠE的CAD系统二次开发技术[J]1计算机应用,2002,22(11):123~125)

[4]XiaoYin g,Ton gShui guang,ChenMin,et al1Thedevelo p2

mentandresearchoftheProΠE32Dstandard partlibrar ybased onVisualC++[J]1MechanicalEn gineer,2001,31(11):22

~24(inChinese)

(肖 颖,童水光,陈 敏,等1基于VisualC++的ProΠE三维标准件库的开发研究[J]1机械工程师,2001,31(11):22

~24)

[5]ZhuChaokuan1Parametricdesi gnofmulti2axisboxbasedon

ProΠE[J]1ModularMachineTool&AutomaticManufacturin g Technology,2002,(10):35~37(inChinese)

(朱朝宽1基于ProΠE的多轴箱参数化设计[J]1组合机床与自动化加工技术,2002,(10):35~37)

[6]DavidJKru glinski,ScotWin go,Geor geShe pherd1InsideVi2

sualC++[M]1Beijing:Ho pePress,1999(inChinese)

([美]DavidJKru glinski,ScotWin go,Geor geShe pherd1希望图书创作室译1VisualC++610技术内幕[M]1北京:希望出版社,1999)

[7]ProΠToolkitWildfireUser’sGuide[M]1Needham:Parametric

TechnologyCor

poration,2002 王 恒 男,1975年生,博士,主要研究方向为CADΠCAM集成技术、虚拟制造技术

1

宁汝新 女,1942年生,博士,教授,博士生导师,主要研究方向为先进制造技术

1

杜 龙 男,1976年生,硕士,主要研究方向为虚拟装配

1

牟联常 男,1980年生,硕士,主要研究方向为CADΠCAM集成技术1

5112

9期王 恒等:ProΠE上二次开发具有文档-视结构的应用程序

(已读)第十四章 单文档界面的程序

第十四章单文档界面的程序 用VC++的AppWizard生成的程序有三种样式的界面,它们是单文档、多文档和对话框界面。前面各章我们都生成对话框样式的界面,这可以方便我们学习各种常用控件的设计,本章要学习如何生成一个单文档界面的应用程序,以及文档类和视图类的概念和相互关系。 本章要点 1 用AppWizard生成单文档界面的操作方法 2 文档类和视图类的概念 3 如何保持文档和视图的同步关联。 14.1 生成单文档界面的文本编辑器 用AppWizard生成单文档界面的操作方法和生成对话框界面的操作方法稍有不同,我们通过建立一个“文本编辑器”应用程序MyNote.exe来演示,具体过程如下: 1 打开应用程序向导,在d:\myVC\CH14创建应用程序MyNote。 2 在Step1中选择“单文档”和“文档/视图支持”,如图chap14-01. 图chap14-01 3 在step2和step3对话框中都用默认的。在step4中如图chap14-02选择前五项,当然也可以按你的需要选择。 图chap14-02

4 在Step5中选择MFC标准、加备注和静态连接库。图chap14-03 图chap14-03 5 在step6中选择视图的基类(base class),因为我们需要的是文本编辑器,所以要选类CEditView作为基类。点击[完成]按纽,应用程序的框架就创建好了。 14.2 文档类和视图类的概念 向导工作完成以后马上编译和连接,运行后就可以看到一个已经能够使用的文本编辑器,它不仅可以输入文字,还可以保存或打开文件,与Windows的记事本差不多了,只是没有设置字体的功能。图chap14-04是它运行时的窗口。 chap14-04 菜单和工具栏的响应函数都已经生成了相应的代码,我们没有做任何编写工作就得到了一个“完整”的应用程序,甚至还创建了一个帮助文件呢。这就是VC++开发环境的巨大威力!我们从上图中可以看到,编辑菜单中的复制和剪切都已经有效了。 图中的窗口是主框架,对应于类CMainFrame,而其中的“编辑区域”叫用户区,对应于视图类CMyNoteView,而被编辑的文本对应于一个文档类CMyNoteDoc。另外,每个程序还有一个对应于应用程序本身的类,本例中是CMyNoteApp。这四个类就是向导自动生成的应用程序框架类,打开工作区的类classView页区,就可以看到,如图chap14-05。 展开视图类,可以找到一个函数GetDocument(),它是使视图(的内容)和文档保持同步关联的纽带。它返回一个CMyNoteDoc类型的对象指针m_pDocument。使用它在视图中访问文档的内容。

16 第16讲第四章第三节工程施工过程质量控制(一)

第三节工程施工过程质量控制 一、巡视与旁站 ㈠巡视 ⒈巡视的内容 巡视是项目监理机构对施工现场进行的定期或不定期的检查活动,是项目监理机构对工程实施建设监理的方式之一。 项目监理机构应安排监理人员对工程施工质量进行巡视。 巡视应包括下列主要内容: ⑴施工单位是否按工程设计文件、工程建设标准和批准的施工组织设计、(专项)施工方案施工。 ⑵使用的工程材料、构配件和设备是否合格。 ⑶施工现场管理人员,特别是施工质量管理人员是否到位。 ⑷特种作业人员是否持证上岗。建筑电工、建筑架子工、建筑起重信号司索工、建筑起重机械司机、建筑起重机械安装拆卸工、高处作业吊篮安装拆卸工、焊接切割操作工以及经省级以上人民政府建设主管部门认定的其他特种作业人员。 ⒉巡视检查要点:⑴检查原材料;⑵检查施工人员;⑶检查基坑土方开挖工程;⑷检查砌体工程; ⑸检查钢筋工程;⑹检查模板工程;⑺检查混凝土工程;⑻检查钢结构工程;⑼检查屋面工程;⑽检查装饰装修工程;⑾检查安装工程等;⑿检查施工环境。 【例】根据《建设工程监理规范》,项目监理机构针对工程施工质量进行巡视的内容有()。 A.按设计文件,工程建设标准施工的情况 B.工程施工质量专题会议召开情况 C.使用工程材料、构配件的合格情况 D.特种作业人员持证上岗情况 E.施工现场管理人员到位情况 【答案】ACDE ㈡旁站 旁站是指项目监理机构对工程的关键部位或关键工序的施工质量进行的监督活动。 1

项目监理机构应根据工程特点和施工单位报送的施工组织设计,将影响工程主体结构安全的、完工后无法检测其质量的或返工会造成较大损失的部位及其施工过程作为旁站的关键部位、关键工序,安排监理人员进行旁站,并应及时记录旁站情况。 ⒈旁站工作程序 ⑴开工前,项目监理机构应根据工程特点和施工单位报送的施工组织设计,确定旁站的关键部位、关键工序,并书面通知施工单位; ⑵施工单位在需要实施旁站的关键部位、关键工序进行施工前书面通知项目监理机构; ⑶接到施工单位书面通知后,项目监理机构应安排旁站人员实施旁站。 ⒉旁站工作要点 ⑴编制监理规划时,应明确旁站的部位和要求。 ⑵根据部门规范性文件,房屋建筑工程旁站的关键部位、关键工序是: 基础工程方面包括:土方回填,混凝土灌注桩浇筑,地下连续墙、土钉墙、后浇带及其他结构混凝土、防水混凝土浇筑,卷材防水层细部构造处理,钢结构安装; 主体结构工程方面包括:梁柱节点钢筋隐蔽工程,混凝土浇筑,预应力张拉,装配式结构安装,钢结构安装,网架结构安装,索膜安装。 ⑶其他工程的关键部位、关键工序,应根据工程类别、特点及有关规定和施工单位报送的施工组织设计确定。 ⑷旁站人员的主要职责是: 1)检查施工单位现场质检人员到岗、特殊工种人员持证上岗及施工机械、建筑材料准备情况; 2)在现场监督关键部位、关键工序的施工执行施工方案以及工程建设强制性标准情况; 3)核查进场建筑材料、构配件、设备和商品混凝土的质量检验报告等,并可在现场监督施工单位进行检验或者委托具有资格的第三方进行复验; 4)做好旁站记录,保存旁站原始资料。 ⑸对施工中出现的偏差及时纠正,保证施工质量。发现施工单位有违反工程建设强制性标准行为 2

第三章 单文档应用程序

第三章单文档应用程序 在本学习情境中主要学习: (1)单文档应用框架 (2)文档与视图 3.1 MFC消息处理 3.1.1事件驱动程序设计 事件驱动程序设计是一种全新的程序设计方法,它不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的,并没有预定的顺序,这样就允许程序的的用户用各种合理的顺序来安排程序的流程。对于需要用户交互的应用程序来说,事件驱动的程序设计有着过程驱动方法无法替代的优点。它是一种面向用户的程序设计方法,它在程序设计过程中除了完成所需功能之外,更多的考虑了用户可能的各种输入,并针对性的设计相应的处理程序。它是一种“被动”式程序设计方法,程序开始运行时,处于等待用户输入事件状态,然后取得事件并作出相应反应,处理完毕又返回并处于等待事件状态。它的框图如图1所示: 图1事件驱动程序模型 3.1.2 MFC的消息处理 在DOS应用程序下,可以通过getchar()、getch()等函数直接等待键盘输入,并直接向屏幕输出。而在Windows下,由于允许多个任务同时运行,应用程序的输入输出是由Windows 来统一管理的。 Windows操作系统包括三个内核基本元件:GDI, KERNEL ,USER。其中GDI(图形设备接口)负责在屏幕上绘制像素、打印硬拷贝输出,绘制用户界面包括窗口、菜单、对话框等。系统内核KERNEL支持与操作系统密切相关的功能:如进程加载,文本切换、文件I/O,以及内存管理、线程管理等。USER为所有的用户界面对象提供支持,它用于接收和管理所有输入消息、系统消息并把它们发给相应的窗口的消息队列。消息队列是一个系统定义的内存块,用于临时存储消息;或是把消息直接发给窗口过程。每个窗口维护自己的消息队列,并从中取出消息,利用窗口函数进行处理。框图2如下:

十年相伴 共创经典 Discuz!系列经典产品回顾

《站长》杂志第28期内容推介 十年相伴共创经典Discuz!系列经典产品回顾 站长朋友们,是否还记得Discuz! 官网那些5年前的老ID旧面孔?是否还记得曾经的Discuz! 1.0 、Discuz! 1.0 和Discuz! 5.5“长”得什么模样?在过去的十年里,senz在站长的陪伴下一路走来,推出了数款经典产品,成为社区动力,引领社区潮流发展。在即将迎来senz十周年之际,《站长》杂志特别回首过去十年来的数款经典Discuz! 产品,以及那些始终陪伴左右的站长朋友,谨以对更多陪伴Discuz! 、支持Discuz! 的站长们表示由衷的感激。 Discuz! 1.0 ——Discuz! 起点站 大C在开发Discuz! 1.0 的时候,一定不会想到之后商业化的Discuz! 1.0 、免费开源的Discuz! 4.0 、以及现在“跨界融合”的Discuz! X 系列;Discuz! 1.0 的各项功能、模板也可

能是Discuz! 系列中最简陋的,最朴素的,但没有它,也就没有后来的数个经典产品。所以,Discuz! 1.0 就像是Discuz! 系类产品的“起点站”和“加油站”一样,不断的激励着Discuz! 的后续产品一步步的改进、创新,引领社区发展潮流。 许多的草根站长,不也是这样一步步发展起来的吗?许多业已取得成功的站长,在初建社区的时候,也未曾想过能取得今天的人气与盈利,只是抱着许三多“不抛弃、不放弃”的信念从小做大,根据市场需求逐步改进自己的产品,一步步走向了成功。这种“从小到大”、“坚持不放弃”、“以市场为导向”的理念不仅是说Discuz! 1.0 ,也同样适用于社区。 Discuz! 2.0 ——商业化

phpcms_v9二次开发手册

PHPCMS二次开发教程 文件目录结构 根目录 | – api 接口文件目录 | – caches 缓存文件目录 | – configs 系统配置文件目录 | – caches_* 系统缓存目录 | – phpcms phpcms框架主目录 | – languages 框架语言包目录 | – libs 框架主类库、主函数库目录 | – model 框架数据库模型目录 | – modules 框架模块目录 | – templates 框架系统模板目录 | – phpsso_server phpsso主目录 | – statics 系统附件包 | – css 系统css包 | – images 系统图片包 | – js 系统js包 | – uploadfile 网站附件目录 | – admin.php 后台管理入口 | – index.php 程序主入口 | – crossdomain.xml FLASH跨域传输文件 | – robots.txt 搜索引擎蜘蛛限制配置文件 | – favicon.ico 系统icon图标

PHPCMS V9 核心文件说明 模块与控制器 模块: phpcms v9框架中的模块,位于phpcms/modules目录中每一个目录称之为一个模块。即url访问中的m。 访问content模块示例:https://www.360docs.net/doc/ad1750342.html,/index.php?m=content 控制器: phpcms v9的控制器就是模块的类文件,位于phpcms/modules/模块/目录下面。类名成就是文件名+.php,例如一个名为abc的控制器,那么他的命名为abc.php即可。控制器类默认继承系统的函数库,可以直接使用。控制器类的类名称与控制器文件名必须相同。如果您创建了一个abc.php在 test模块下,那么我们在浏览器里面输入URL:https://www.360docs.net/doc/ad1750342.html,/index.php?m=test& c=abc 二次开发技巧 如果要对已存在的控制器进行二次开发,为了方便升级不建议直接对内核文件直接修改该,您可以通过“MY_*.php”的形式进行二次开发。 例如您要对改phpcms/mood/index.php进行二次开发。您可以在与index.php同级的目录下建立"MY_index.php"

discuz X2二次开发帮助文档

相信有不少人热衷于基于修改原有系统文件所做的插件,当然了解程序文件功能是最重要的,下面我把Discuz! X2.0主要的程序文件功能说一下。我只是整理,不是自己原创编辑的,所有权归原创作者所有哦。 Tips: Q:针对说明的文件是? A:我只基于原版文件对upload目录中基本的程序文件(php,htm,js,除了极少数无关紧要的)进行解释,其余文件(如图片文件),一般不做说明 Q:某些目录下空白的index.htm是用来做什么的? A:用来防止列目录的 Q:文件名颜色和标识的意义是? A:粗体表示这个文件比较重要,除非你非常了解其功能,否则修改错误会导致全站瘫痪;斜体表示这个文件已被加密,一般情况下修改没有意义;下划线表示这个文件一般99.99%的修改是用不上的,了解即可 绿色的是函数库文件,蓝色的是常量调用文件,红色的是系统全局核心文件 Q:文件名命名有什么特别规律吗? A:有的,一般inc的是调用文件,func是函数库文件,class是库文件,lng的是语言包文件,了解这些后缀能快速掌握文件功能。 Q:我看了你的帖子,可是我还是看不懂文件内是什么意思啊? A:这个嘛,还是要有一定基础了,一般掌握SQL,PHP和Htm你就可以去改文件做你要的功能了,这个不是我的任务了哦。一般来说,如果随便指个地方,你能在1分钟内说出大概位置及所在的文件,那么你基本就算合格了。不过我个人认为最重要的还是多改多读,在实践中提高自己的能力 下面开始了,请看你的upload目录里面的文件,表述的格式依次为文件名,功能描述等等 先从根目录开始,根目录文件一般都是入口,即执行具体功能的代码一般不在这些文件中,而是在其调用的文件中 admin.php 系统站点管理入口文件 api.php Discuz!合作应用入口文件(例如漫游、支付宝什么的都走这里) connect.php QQ互联入口文件 cp.php 应用入口文件 crossdomain.xml 数据交互文件,如果在里面定义其它站点的地址,那么这两个不同站点就可以交互数据 favicon.ico图标文件,显示在浏览器的标题栏 forum.php 论坛入口文件 group.php 群组入口文件

CATIA二次开发文件_VB

CATIA二次开发文件 第一课:CATIA V5自动化及脚本语言结构内容列表: CATIAV5自动化及脚本语言介绍 VB、VBScript、VBA之间的区别 宏的兼容性、结构及文件 进程中的宏 2.1运行一个宏 2.2在工具栏上添加一个宏 外进程的编程 3.1 使用VBA或VB 运行外进程 例子:从Excel里导出螺钉 3.2使用Windows Scripting Host运行外进程 3.2.1Windows Scripting Host 下的VBScript 例子:“BoltVBScript.vbs” 3.2.2Windows Scripting Host 下的JavaScript 例子:“BoltJavaScript.js” 3.3用HTML运行外进程 3.3.1用VBScript在HTML里运行外进程 例子:“BoltVBScript.html” 3.3.2用JavaScript在HTML里运行外进程 例子:“BoltJavaScript.html”

1.C ATIA自动化及脚本语言概述 通用在Unix和NT平台上 无论是在NT平台还是Unix平台上,脚本语言允许你使用宏以一个非常简单的方式来对CA TIA V5进行编程。 CA TIA V5使用了NT平台下的VB脚本和Unix平台下的BASIC脚本中相同的部分,所以我们在两个平台下可以运行相同的宏。 在NT平台下 自动化允许CATIA与其他程序共享对象,如EXCEL,WORD,VISUAL BASIC。 CA TIA可以使用WORD/EXCEL对象,反之也相同。 在UNIX平台下 将来的CATIA的版本里,CATIA将允许同Java共享自己的对象,这将为Unix平台和NT平台提供完整的兼容性。 CATIA V5 自动化:概述(仅限NT平台) 自动化允许在不同的进程之间通讯 COM:(对象组件模型):COM是微软公司提出的目的在不同程序中共享对象标准。Automation:Automation是一种微软公司的技术,目的是在开发环境里使用COM对象ActiveX组件是一种微软标准,目的是在开发环境里共享不同程序的对象。 OLE:(对象链接及嵌入)意味着一个文件可以被另外的一个程序的文件链接。这种链接及嵌入的对象可以被其他的程序在编辑区编辑。 Visual Basic ,VBA,VBScript之间的区别 Visual Basic(Visual Basic专业版):VB是个完全的版本。 1.可以编制独立的程序。 2.也可以创建ActiveX和程序服务器。 3.可以被编译。 4. VB提供了自己的文档——《在线帮助》 VBA(Visual Basic for Application):VBA是VB的一个子集。 1. VBA是程序中的主机,就象Word,Excel。 2.它提供了一个带有编辑器、除错器、帮助、对象浏览器、完成器的完整的开发环境。3.利用它的Tools-Reference菜单可以声明使用的对象库。这在完成和对象浏览器之间建立了一个通道。 VBScript(Visual Basic Script):VBScript是VB的一个子集。

Discuz教程

Discuz教程 插件制作的基本思路是:(初学者适用) 1.形成插件思路 2.制作插件界面 3.构架程序模块 4.搭建存储数据 5.填充功能语句 6.检查应用错误 7.完善插件功能 前言:为方便互联网数万Discuz!爱好者,更加深入了解Discuz!软件,本人在熟悉Discuz!过程中,顺便将个人经验写给大家。本贴内容由本人定期更新。本贴只介绍Discuz!中部分技术点,本贴紧属个人观点,不足之处,请各位多多指教,在下先此谢过!。“Discuz!”在下文中简称“DZ”。要弄DZ二次开发,必须至少具备如下技能:1)能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的) 2)扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用 3)熟悉MYSQL就用,掌握SQL语言,懂SQL优化者更佳 4)熟悉使用Discuz!的各项功能 一)Discuz!的文件系统目录 注:想搞DZ开发,就得弄懂DZ中每个文件的功能。 a) Admin:后台管理功能模块 b) Api:DZ系统与其它系统之间接口程序 c) Archiver:DZ中,用以搜索引擎优化的无图版 d) Attachments:DZ中,用户上传附件的存放目录 e) Customavatars:DZ中,用户自定义头像的目录 f) Forumdata:DZ缓存数据的存放目录 g) Images:DZ模板中的图片存放目录 h) Include:DZ常用函数库,基本功能模块目录 i) Ipdata:DZ统计IP来路用的数据 j) Plugins:DZ插件信息的存放目录 k) Templates:DZ模板文件的存放目录 l) Wap:DZ无线,Wap程序处理目录 二)必须记熟Discuz!数据库设计的每个表的功能,每个表中每个字段的功能。 关于DZ数据库设计文档,请参阅DZ相关的项目文档(请从本贴附件中下载) 三)Discuz!的流程控制 a) 后台流程控:DZ后台所有的功能,均需要注册到admincp.php文件,每个功能都至少有一个或一个以上的Action(动作),在admincp.php中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2 || admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为action.inc.php(*.inc.php),并存放在admin目录下,如执行:admincp.php?action=dodo,相当于执行admin目录下的dodo.inc.php文件 b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如: 首页:index.php 会员注册:register.php; 会员登录:logging.php 发贴程序:post.php 会员信息:member.php 论坛内容:forumdisplay.php 查看贴子:member.php …大部分功能,此处不一一列出… c) DZ根目下的config.inc.php属于整个DZ系统的配置文件 四)Discuz!的数据处理过程 a) DZ对mysql的数据库操作处理全部封装在dbstuff(db_mysql.class.php)类中 b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理 五)Discuz!的显示控制(网站多样式风格输出) a) 显示层就是大家通常所看到的网站风格了。DZ中每套风络分别在templates及images下对应一个风格文件的存放目录。网站风格的制作,请参阅详细的DZ风格制作文档 b) DZ网站风格文件处理的原理:其实很简单,DZ使用template.func.php中的parse_template()以PHP正则运算把htm模文件中的模板标签,转换成了PHP代码,并根据styleid保存在forumdata/templates下,这个有点像Smarty 中的技术。 六)DZ中的语言处理 a) DZ前台及后台中、英语言的实现,均是把语句定义成了语变量,然后在模板输入,语句变量的赋值,均放在模板目录中的*.lang.php文件中,DZ在生成网站风格时就加载了这相应的语言包。 七)DZ如何处理用户信息(存取、计算、更新过程)

单文档视图结构ActiveX控件

单文档/视图模式是MFC编程里比较强大的一种编程模式,如果ActiveX控件能够用这种模式的话,将可以做出非常强大的Web在线应用。 下面我们就介绍一种把单文档/视图模式的程序改造成ActiveX控件的方法。 做起来很难,但是完成了会很有成就感,本方法来源于15Seconds。在VC6.0和https://www.360docs.net/doc/ad1750342.html,下都已证明可行。我用这个方法做了一个Web上的在线服装设计软件,Client 端支持NT4.0,客户公司有上千台NT4.0。据美国同事说在投标中击败了Altium公司(电路设计软件Protel的开发商)的方案,哈。 需要要两个文件: // ActivDoc.cpp : implementation file // #include "stdafx.h" #include "ActivDoc.h" CActiveXDocTemplate::CActiveXDocTemplate(CRuntimeClass* pDocClass, CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass) : CSingleDocTemplate(IDR_NOTUSED, pDocClass, pFrameClass, pViewClass) { ASSERT(pFrameClass); } CFrameWnd* CActiveXDocTemplate::CreateDocViewFrame(CWnd* pParen tWnd) { CWaitCursor cursor; TRY { ASSERT(pParentWnd && IsWindow(*pParentWnd)); ASSERT_KINDOF(CActiveXDocControl, pParentWnd); m_pParentWnd = pParentWnd; m_pFrameWnd = NULL; // OpenDocumentFile is a virtual method (implemented in

二次开发文档

Jspxcms无侵入式插件开发(二次开发)教程之一:概述 Jspxcms支持无侵入式插件和二次开发,无需修改系统原有代码,即可无缝整合Entity、Service、Controller、功能菜单、权限、标签、国际化等功能。 系统中“插件--简历管理”就是以这种方式实现的,下面就以“简历管理”讲解Jspxcms插件和二次开发的方法。 本帖隐藏的内容需要回复才可以浏览 配置文件位置:/WEB-INF/conf/plugin。 所有的配置文件都必须在这个目录,在该目录下的配置文件会自动加载。在该目录下新建自己的文件夹,可以是任何名字,如:abc、novel等,本例为plug。即/WEB-INF/conf/plugin/plug 配置文件说明 application.properties:功能菜单、权限、国际化、Entity都与这个文件相关。 context-dao.xml:Dao的加载。 context-service.xml:Service的加载。 controller-back.xml:后台Controller的加载。 controller-fore.xml:前台Controller的加载。 context-directive.xml:标签的加载。 其他与插件开发相关的文件目录 /WEB-INF/messages/plugin/plug:后台国际化文件位置 /WEB-INF/messages/plugin/plugfore:前台国际化文件位置 /WEB-INF/views/plug:后台jsp文件位置 /files/1/bluewise/plug_resume.html:插件的前台模版 插件源代码包名:com.jspxcms.plug Jspxcms无侵入式插件开发(二次开发)教程之二:菜单与权限 本帖隐藏的内容需要回复才可以浏览 菜单和权限配置文件:/WEB-INF/conf/plugin/plug/application.properties 一级菜单配置(分号为分割符) 1.menu.650=navigation.plug;nav.do?menuId=650;nav_plug 复制代码 650:是后台导航一级菜单的编号,编号大小决定菜单的前后位置。其值可以根据需要调整,如330、970,但不要与系统菜单或其他插件菜单重复。系统菜单通常为menu.100,menu.200,menu.600等,系统菜单定义文件在 /WEB-INF/conf/application.properties navigation.plug:菜单名称。这里使用了国际化,也可以直接用中文,比如“我的插件”。 nav.do?menuId=650:菜单链接地址。其中650需与前面的值一样。

discuz数据库详解

Discuz数据表详解方便二次开发 Discuz数据表详解,方便二次开发,有时候还是感觉直接改动数据库比较方便一些 Discuz默认库的53个数据表 cdb_access (用户权限表) uid 用户id fid 论坛id allowview 允许浏览 allowpost 允许发新帖 allowreply 允许回复 allowgetattach 允许下载附件 allowpostattach 允许上传附件 cdb_adminactions 关联用户组 admingid 管理组id disabledactions 关联后的权限 cdb_admingroups 管理组权限设置(3条)admingid 管理组id alloweditpost 允许编辑帖子 alloweditpoll 允许编辑投票 allowstickthread 允许固定主题 allowmodpost 允许编辑帖子 allowdelpost 允许删除帖子 allowmassprune 允许批量删除帖子 allowrefund 允许强制退款 allowcensorword 允许过滤词语 allowviewip 允许查看用户IP信息 allowbanip 允许禁止IP allowedituser 允许编辑用户 allowmoduser 允许审核用户 allowbanuser 允许禁止用户访问 allowpostannounce 允许发布公告 allowviewlog 允许查看版主管理记录和用户评分记录 disablepostctrl 发贴不受***(不受灌水预防和最大字数等) cdb_adminnotes (后台留言表) id 后台留言id admin 留言人 access 阅读权限 adminid 管理组id dateline 发表时间 expiration 过期时间 message 留言内容

ZWCAD二次开发文档简易指南

一.概述 (2) 二.使用SDS进行二次开发 (2) SDS和ADS接口的主要差异 (2) 编译SDS应用程序 (4) 三.使用AUTOLISP进行开发 (4) 四.使用VBA/VB进行开发 (5) 五.ZWCAD的定制 (5) 屏幕菜单及其定制 (5) I MAGE菜单(图标菜单)的定制 (7) PROFILE的定制 (9) ZWCAD.LSP和ZWCAD.SDS文件的作用和定制 (10) 别名的定制 (11) 其他定制 (11)

(内部参考) 一.概述 在zwcad上可以通过二次开发来定制和扩展zwcad的功能.当前的zwcad提供AutoLISP,SDS以及Visual Basic for Applications(VBA,COM)开发包进行二次开发.在zwcad上,你也可以使用许多原来在autocad平台上开发的应用程序.例如使用autolisp编制的程序可以在几乎不用修改的情况下移植到zwcad平台.Zwcad还完整支持AutoCAD Dialog Control(DCL)语言,不需修改.目前的zwcad还不支持Object ARX,DBX. 二.使用SDS进行二次开发 SDS是一个和ADS?(AutoCAD?Development System)开发包相兼容的C/C++语言接口.大部分ads应用程序经过再编译可以直接应用于zwcad。中望建筑就是用sds sdk开发的。下面所述内容均以ads开发包为比较对象,以ads开发程序员为讲解对象.具体的sds函数说明请参考帮助文档. SDS和ADS接口的主要差异 SDS和ADS的接口差异可以直接从sds.h和ads.h这两个头文件的比较得出.主要差异如下. 1.Sds开发包的接口函数以sds_为前缀. Ads开发包的接口函数主要以ads_,acad_,and acrx_等为前缀. 在sds.h中提供了移植ads用的宏 例如#define ads_entdel sds_entdel 这样只需要在ads应用程序源代码中将#include“ads.h”以#include “sds.h”替换,并将要链接的库文件改为sds.lib编译链接即可完成从ads到sds的移植. 2.sds开发包主要扩展的函数 #if defined(_WINDOWS_) HDC*sds_getviewhdc(void); int sds_getrgbvalue(int nColor);RGB HPALETTE sds_getpalette(void); HWND sds_getviewhwnd(void); HWND sds_getmainhwnd(void); int sds_drawLinePattern(HDC h_dc,RECT rect,struct sds_resbuf*lineParam);

Discuz! 道具系统道具开发文档

Discuz!道具系统采用独立的php文件的道具结构,每个道具拥有一个单独的php文件,做为这个道具运行文件,用户可以自行编写道具文件制作属于自己论坛的道具。下面具体介绍一下相关机制和开发方法 1、道具的组成 每个道具由两部分组成,php文件和图片文件。 php文件存放在论坛include/magic目录下,命名规范为magic_inc_道具名称.php文件。图片文件存放在images/magics目录下,命名规范为道具唯一标识(小写).gif 注:其中道具名称由任意英文字母组成,道具唯一标识是在添加的时候确定的,此标识唯一,最长为3个大写英文字母 道具图片不用多说就是gif文件,下面我具体说说php文件编写规范 2、道具php文件编写详解 我们以一个道具php文件(magic_inc_close.php)为例 1.

程序结构

5.1.1用户登记表设计 表5-2用户登记表 用户登记表(ds—data) 包含与用户登记描述要求相匹配的字段 字段名字段类型字段长度主键索引备注 Id 自动编号长整型是有id Xue If) 文本8 否有职工工号 Name 文本20 否无姓名 Tel 文本20 否无电话 Fang_ID 文本6 否有房间号 DANWEI 文本10 否有单位 IP 文本15 否无lp MAC 文本14 否无maC qs—ny 文本20 否无起始年月 ZZ nV 文本20 否无终止年月 ren 1C 文本18 否无哪个管理员录入 ru date 时间/日期长否无登记日期 ru time 时间/日期长否无登记时间 Shouf bz 文本l 否无登记标志 kaitong_bz 文本1 否无开通标志 5.1。2管理员注册表设计 表5-3管理员注册表 管理员注册表(register) 包含要求配置系统管理员相匹配的字段 字段名字段类型字段长度主键索引备注 IC 文本18 是有身份证号 Name 文本20 否无姓名 Password 文本18 否无口令 Sex 文本2 否无性别 Age 数字整型否无年龄 Createt.ime 时间/日期长否无注册时间 Lastvisittime 时间/日期长否无最后登陆时间 regi sted—count 数字长整型否无已经注册人数 Visittimes 文本50 否无登陆次数 5.1.3交换机数据表设计 表5-4交换机数据表 交换机数据表(switch) 包含与交换机信息以及网络运行相匹配的字段字段名字段类型字段长度主键索引备注 Xuhao 数字整型是有序号 Name 文本50 否无安放位置 SW nO 文本6 否无交换机编号 Ipdz 文本15 否无IP地址 USer name 文本50 否无登陆用户名 USer mlma 文本50 否无登陆用户密码 sw__xinghao 文本12 否无交换机型号 Ipduan 文本3 否无可管理的ip段

钢结构工程量计算方法

钢结构算量方法 钢结构是未来发展的方向,土建算量的不会钢结构算量的大有人在,但日后如果再不会,就要谈谈自己的工资是涨不上去了。钢结构一直以来是与土建分开的,后来的劲钢结构及钢组合结构在施工的过程中,都是先有钢结构公司安装再有总包施工砼,如此以来接合也会慢慢的相近,有时候基本上融合在一起,我只能说我会做钢结构的算量,报价谈不上,因为我的经验不足。 1。算量最基本的就是看图纸,土建的人都烦钢构图纸的太乱,其实我也有这种看法,因为平法并没有用在其上面,图样还保留了一前土建制图的原则,所以做为老人看比较习惯(101图集出之前的人),后来像我这样人看钢结构图纸真的看不习惯,不过没有办法,还是要习惯的,我们知道麻烦,但任何事情都有规律的,钢结构的详图结点相当的多,但这些变化真的在算的时候影响相当的小,重要是大的方向把握好,钢结构的结点图也是相当科学的,都和科学受力相对应。有许多是重复或对称等。认真的看都会看出来。对于图纸的特点,我会在下面讲 2。算重量,因为钢结构的算量基本上全是按吨计(板按M2)。钢材+钢材就是钢结构。而钢材多指型钢,对于型钢的分类算量的方法,我也会一一列出。并做出讲解。 3。统计汇总,哈哈,此类应该是不难的,以清单为基本,分类汇总而以了。 识图问路 1。我对钢结构的认识,应该比大家深一些,因为我毕业的时候就进了一家钢结构公司,工作不到两个月,经常的工作就是画一个图纸的钢构件,把这个钢构件看明白了,画出来,他们叫钢结构深化设计(细化方案)做加工所用,说白了,一张钢板怎么加工这样的东东的。我讲的图识别,其它就是0 3G102上面的东东,大家有机会可以去下载看一下。闲言碎语不多讲,说说吧,钢结构图应该怎么看不头痛。 把握好看图不难的原则,其实很简单,比建筑的施工简单多了,因为他每个部分都有详图,哪里不明白了,就看此图有没有什么详图符号,有就找,其实我看明白的地方不是详图的地方,拿出来与原图一对就明白了,是什么柱,是什么梁就明白了许多。 一. 钢结构 1 钢结构设计制图分为钢结构设计图和钢结构施工详图两阶段。 2 钢结构设计图应由具有设计资质的设计单位完成,设计图的内容和深度应满足编制钢结构施工详图的要求;钢结构施工详图(即加工制作图)一般应由具有钢结构专项设计资质的加工制作单位完成,也可由具有该项资质的其他单位完成。 注:若设计合同未指明要求设计钢结构施工详图,则钢结构设计内容仅为钢结构设计图。 3 钢结构设计图 1)设计说明:设计依据、荷载资料、项目类别、工程概况、所用钢材牌号和质量等级(必要时提出物理、力学性能和化学成份要求)及连接件的型号、规格、焊缝质量等级、防腐及防火措施; 2)基础平面及详图应表达钢柱与下部混凝土构件的连结构造详图; 3)结构平面(包括各层楼面、屋面)布置图应注明定位关系、标高、构件(可布置单线绘制)的位置及编号、节点详图索引号等;必要时应绘制檩条、墙梁布置图和关键剖面图;空间网架应绘制上、下弦杆和关键剖面图;

discuz文件目录及文件总结

Discuz文件目录及文件功能总结 先从根目录开始,根目录文件一般都是入口,即执行具体功能的代码一般不在这些文件中,而是在其调用的文件中 ◆admin.php 后台管理入口文件 ◆api.php Discuz!合作应用入口文件(例如漫游、支付宝等) ◆connect.php QQ互联入口文件 ◆cp.php应用入口文件 ◆crossdomain.xml 数据交互文件,如果在里面定义其它站点的地 址,那么这两个不同站点就可以交互数据 ◆favicon.ico 图标文件,显示在浏览器的标题栏 ◆forum.php 论坛入口文件 ◆group.php 群组入口文件 ◆home.php 家园入口文件 ◆index.php 门户入口文件,功能与portal.php基本相同 ◆member.php 用户信息入口文件 ◆misc.php 网站用户常用操作入口文件,例如像评分、收藏等功能 都是走这个文件的 ◆plugin.php 插件入口文件 ◆portal.php 门户入口文件 ◆robots.txt 在这个文件中加上具体的地址,可以防止被搜索蜘蛛检 索到 ◆search.php 搜索功能入口程序 ◆userapp.php 用户应用入口程序 API目录中的文件主要是和Discuz!进行合作的商家的应用程序,一般不要也无需修改 ●api ┄┄┄外部接口 ?addons ?connect ┄┄┄腾讯互联 connect.php ┄┄┄ like.php ┄┄┄ server.php ┄┄┄ ?db ┄┄┄UCenter数据库备份接口 ?google ┄┄┄Google引擎使用 ?javascript ┄┄┄数据和广告的 JS调用 ?manyou ┄┄┄manyou应用及搜索等相关服务

VC++单文档程序的设计(1)

教案 2007 ~2008 学年第一学期 主讲教师 课程名称面向对象程序设计(VC++) 课程类别专业基础课 学时及学分80、4 授课班级 使用教材 VC++的使用及面向对象软件工程实例分析 系(院、部) 教研室(实验 室) 计算机应用教研室

课时授课计划 课次序号: 一、课题: ch5 单文档程序编程(1)字体与绘图 二、课型:讲授 三、目的要求: 1、理解设备环境类CDC及其派生类的功能与使用方法。 2、理解图形设备接口GDI类的功能及使用方法。 3、学会字体设置和文本输出。 4、学会简单的图形绘制方法。 四、重点、难点: 重点容:字体设置与文本输出、图形绘制。 难点:正确理解CDC类和GDI类的功能与使用方法。 五、教学方法及手段: 采用案例教学,在实例中理解CDC类和GDI类的使用,重点讲解其中的几个功能,其他的要求学生课下逐步深入学习,达到举一反三的目的。 六、参考资料: 《VC++实用教程》(第二版)阿奇编著,电子工业第8章 《C++面向对象程序设计》涛编著,高等教育,第10章 七、作业: 简答:习题5.1 , 5.2 , 5.6 设计:(1) 5.9 (2)单文档实验容1:编写单文档应用程序,当用户双击鼠标左键时,能在客户区画一个椭圆,并用45度交叉线填充。 八、授课记录: 九、授课效果分析:

十、教学进程(教学容、教学环节及时间分配等) 1、复习 单文档应用程序的特点:应用程序类、主框架类、文档类、视图类 文档与视图的关系 2、导入课题 如何再单文档窗口中按照需要输出文本、绘制图形呢? 利用CDC类和GDI接口类,它封装了绘图所需要的所有函数,是用户编写图形和文字处理程序必不可少的。 3、教学容 ch5.1 概述 一、设备环境类: 1、CDC类: 设备环境是Windows保存的一个数据结构,该结构包含应用程序向设备输出时所需要的信息,例如图形是在屏幕上输出还是在打印机上输出。 为了让用户使用一些特殊的设备环境,MFC还提供了CDC类的派生类, CPaintDC、CClientDC、CwindowDC、 CmetaFileDC 其中,前两个较常用。 2、CDC类的主要功能: SelectObject():选择绘图对象,返回被替代的对象的指针,常用于选择画笔、画刷、字体、图片等。 MoveTo():移动当前位置 LineTo():从当前位置画线 Ellipse():画椭圆 TextOut():用当前字体在指定位置输出文本 二、颜色和颜色对话框的使用 绘图和显示文本时都要按照指定的(或默认的)颜色执行。 常用的颜色空间右RGB和YUV两种。 其中,RGB颜色空间选用红、绿、蓝三种颜色的分量配比来表示,即三基色原理。 而YUV颜色空间用亮度(Y)和色差(V、U)表示。 在MFC中采用RGB颜色空间。编程设置颜色的方法有两种:

二次开发培训文档

二次开发培训文档 1、ECOLOGY系统框架结构 1、主要的程序结构 Ecology Classbean 存放编译后的CLASS文件 js 系统中使用的JAVASCRIPT和VBSCRIPT脚本 Css 系统中JSP页面使用的样式 Images Images_face Images_frame 系统中使用的图片的存放目录 Crm . . Workflow 该功能分文件夹存放每个功能的文件 WEB-INF Prop 系统配置文件存放 Service 系统的接口配置文件的存放 2、说明一个JSP页面,一个JAVA程序的基本组成,如何阅读JSP 页面 1、一个jsp页面通常需要包含什么内容 2、如何阅读一个JSP页面 由于ECOLOGY系统支持多语言,因此在JSP页面上一般不出现 中文,全部使用标签的形式来显示中文: 比如:在IE上显示“姓名”那么在JSP页面中将通过 <%=SystemEnv.getHtmlLabelName(413,user.getLanguage())%>这 样的形式来表示,其中的数字413就是表示姓名,同时可以通 过“select labelname from htmllabelinfo where indexid=413 and languageid=7”来获取到“姓名”这个显示名称,其中languageid=7 表示中文显示名称,languageid=8表示英文显示名称. 3、JAVA程序的基本组成 在ECOLOGY中开发JAVA程序建议继承weaver.general. BaseBean,在BaseBean中主要封装了两个方法:写日志文件,获 取配置文件中的参数值。

相关文档
最新文档