OfficeXP

过程

<?php
/**
* 仿OfficeXP风格的左边版面列表    
* --------------------------------------------------------------------------------
* blood 于 2/19/2002 4:47:11 PM 加贴在 Visual Basic
*
* 徐祖宁(唠叨) 移植于 2/28/2002
* 更正部分错误
*
*/

if($key == ""):
echo <<<EOD
<HTML>
<HEAD>
<TITLE>Menu Sample</TITLE>
<SCRIPT LANGUAGE="JavaScript">
if (window != top) top.location.href = location.href;
</SCRIPT>
</HEAD>
  <FRAMESET cols="161,*">        
    <FRAME MARGINWIDTH="0" SRC="$PHP_SELF?key=menu" NAME="menu" SCROLLING=no NORESIZE>
    <FRAME  MARGINWIDTH="0" SRC="$PHP_SELF?key=about" NAME="main" scrolling=auto NORESIZE>
  </FRAMESET>
</HTML>
EOD;
endif;

if($key == "menu"):
/**
*
* $MenuOn                      定义分类菜单数目
* $MenuBackColor               定义分类菜单背景颜色
* $MenuFontSize                定义分类菜单字体
* $MenuBarHeight               定义分类菜单高度
* $ItemTextColor               定义分类菜单项目文字颜色
* $ItemBackColor               定义分类菜单项目背景颜色
* $TopMenuHeight               定义分类菜单与顶部的间距
* $SelectedItemDarkBorder      定义分类菜单项目在鼠标移动到上面时的暗边框颜色
* $SelectedItemLightBorder     定义分类菜单项目在鼠标移动到上面时的亮边框颜色
* $SelectedItemBackgroundColor 定义分类菜单项目在鼠标移动到上面时的背景颜色
* $menuSubSectionBackColor     定义二级菜单背景颜色
* $menuSubSectionFontColor     定义二级菜单菜单字体颜色
* $defTarget                   定义菜单项目超连接默认目标框架
*/
$TopMenuHeight = 0;           //设置分类菜单与顶部的间距
$MenuBarHeight = 20;          //设置分类菜单高度
$MenuFontSize = "9pt";            //设置菜单字体大小

//我们使用仿Office XP风格的外观,也可以使用普通外观。
$menu_mode = false;

if($menu_mode) {
  //普通菜单外观
  $MenuBackColor = "lightgrey";             //设置背景颜色
  $ItemBackColor = "#7f7f7f";               //设置菜单项目背景色
  $ItemTextColor = "#ffffff";               //设置菜单项目文字颜色
  $SelectedItemDarkBorder = "#ffffff";      //设置菜单项目在鼠标移动到上面时的暗边框颜色
  $SelectedItemLightBorder = "#000000";     //设置菜单项目在鼠标移动到上面时的亮边框颜色
  $SelectedItemBackgroundColor = "";        //设置菜单项目在鼠标移动到上面时的背景颜色
  $menuSubSectionBackColor = "lightgrey";   //设置二级菜单背景颜色
  $menuSubSectionFontColor="black";          //设置二级菜单字体颜色
}else {
  //仿Office XP风格外观
  $MenuBackColor = "lightgrey";             //设置背景颜色
  $ItemBackColor = "lightgrey";             //设置菜单项目背景色
  $ItemTextColor = "#000000";               //设置菜单项目文字颜色
  $SelectedItemDarkBorder = "#08246B";      //设置菜单项目在鼠标移动到上面时的暗边框颜色
  $SelectedItemLightBorder = "#08246B";     //设置菜单项目在鼠标移动到上面时的亮边框颜色
  $SelectedItemBackgroundColor = "#B5BED6"; //设置菜单项目在鼠标移动到上面时的背景颜色
  $menuSubSectionBackColor = "darkgray";    //设置二级菜单背景颜色
  $menuSubSectionFontColor = "black";       //设置二级菜单字体颜色
}
$defTarget = "main";    //设置菜单项目超连接默认目标框架

echo <<<EOD
<style>
td { font-size: $MenuFontSize; font-family:"Verdana", "Arial", "宋体"; }
</style>
<body leftmargin=0 topmargin=0 rightmargin=0 bgcolor="$MenuBackColor">
EOD;

$menuOn = 0;             //对菜单数目初始化

/**
* 绘制菜单方法:
* menuStartSection($Seq, $Label)
*   制作分类菜单
*   $Seq = 分类菜单序列号,使用菜单序列号控制启动是显示顺序
*   $Label = 分类菜单标题
* menuAddItem($Label, $Description, $URL, $Target="")
*   制作菜单项目
*   $Label = 项目标题
*   $Description = 项目简介
*   $URL = 超连接地址
*   $Target = 超连接目标框架,默认为$defTarget
* menuAddSubSection($Label)
*   制作二级分类菜单。
*   $Label = 二级分类菜单标题
* menuAddSubSectionLine()
*   制作项目分割线,使用高度为2的图片
* menuEndSection()
*   分类菜单结束
* menuSectionAsItem($Label, $Description, $URL, $Target="")
*   制作带超连接的分类菜单,类似菜单项目,可以直接使用
*   $Label = 分类菜单标题
*   $Description = 分类菜单简介
*   $URL = 超连接地址
*   $Target = 超连接目标框架,默认为$defTarget
*/

/**
* 函数定义
*/
function menuAddItem($itemLabel, $StatusText, $URL, $target="") {
  global $defTarget,
         $SelectedItemDarkBorder,
         $SelectedItemLightBorder,
         $ItemTextColor,
         $SelectedItemBackgroundColor,
         $MenuFontSize ;
  if($target == "") $target = $defTarget;
  $URL = rawurldecode($URL);
  echo <<<EOD

<tr><td width="100%" align=left style="cursor:hand;" title="$StatusText" onmouseover="this.borderColorDark='$SelectedItemDarkBorder';this.borderColorLight='$SelectedItemLightBorder';this.style.backgroundColor='$SelectedItemBackgroundColor';this.style.color='black';status='$StatusText';" onmouseout="this.borderColorDark='';this.borderColorLight='';this.style.backgroundColor='';status='';" onclick="window.open('$URL','$target');"><font color="$ItemTextColor">$itemLabel</font></td></tr>
EOD;
}

function menuAddSubSection($ItemLabel) {
  global $menuSubSectionBackColor,
         $MenuFontSize,
         $menuSubSectionFontColor;
  echo <<<EOD

<tr bgcolor="$menuSubSectionBackColor"><td align=center width="100%"><font color="$menuSubSectionFontColor">$ItemLabel</font></td></tr>
EOD;
}

function menuAddSubSectionLine() {
  echo <<<EOD

<tr vAlign="center">
  <td align=center width="100%" height="2" bgcolor="white">
    <table border=0 cellspacing=0 cellpadding=0 width="100%" height="1">
     <tr vAlign="center" height="2">
       <td bgcolor="white"></td>
     </tr>
    </table>
  </td>
</tr>
EOD;
}

function menuSectionAsItem($SectionSeq, $SectionName, $SectionDesc, $URL, $target="") {
  global $defTarget,
         $menuBackColor,
         $MenuBarHeight,
         $MenuFontSize;
  if($target == "") $target = $defTarget;
  $URL = rawurldecode($URL);
  $mh = $MenuBarHeight-2;
  echo <<<EOD

<table border=0 cellspacing=0 cellpadding=0 width="100%" height="1">
<tr vAlign="center" height="1">
  <td bgcolor="white"></td>
</tr>
</table>
<table bgcolor="$menuBackColor" border=1 cellspacing=0 cellpadding=0 bordercolor="$menuBackColor" width="100%" height="Smh">
<tr height="100%" vAlign="center">
  <td border=3 vAlign="middle" width="100%" height="100%" bordercolordark=lightgrey bordercolorlight=lightgrey align=center style="cursor:hand;" title="$SectionDesc" onmouseover="status='$SectionDesc';" onmouseout="status='';" onclick="window.open('$URL','$target');"><font color="#000000">$SectionName</font></td>
</tr>
</table>
<table border=0 cellspacing=0 cellpadding=0 width="100%" height="1">
<tr height="1">
  <td bgcolor="Black"></td>
</tr>
</table>
EOD;
}

function menuStartSection($SectionSeq, $SectionName) {
  global $menuBackColor,
         $MenuBarHeight,
         $MenuFontSize,
         $menuSection,
         $ItemBackColor;
  $mh = $MenuBarHeight-2;
  echo <<<EOD

<table bgcolor="$menuBackColo" border=0 cellspacing=0 cellpadding=0 width="100%" height="1">
<tr height="1">
  <td bgcolor="white"></td>
</tr>
</table>
<table bgcolor="$menuBackColor" border=1 cellspacing=0 cellpadding=0 bordercolor="$menuBackColor" width="100%" height="$mh">
<tr vAlign="center" height="100%">
  <td nowrap border=3 width="100%" height="100%" bordercolordark=lightgrey bordercolorlight=lightgrey align=center style="cursor:hand;" title="$SectionName" onmouseover="status='$SectionName';" onmouseout="status='';" onclick="StartSection(menuSection$SectionSeq);">$SectionName</td>
</tr>
</table>
<table border=0 cellspacing=0 cellpadding=0 width="100%" height="1">
<tr height="1">
  <td bgcolor="Black"></td>
</tr>
</table>
<div name=menuSection$SectionSeq id=menuSection$SectionSeq style="display:'none';overflow:hidden; height:1px;marginRight:0px;">
<table bgcolor=$ItemBackColor style="marginRight=0px;" border=1 cellspacing=0 cellpadding=0 bordercolor="$ItemBackColor" width="100%">
EOD;
}

function menuEndSection() {
  echo <<<EOD

</table>
</div>
EOD;
}

/**
* 创建菜单
*/
  menuStartSection(2, "代码世界");
  menuAddItem("Joy ASP", "欢迎访问Joy ASP", "$PHP_SELF?key=page&id=Joy ASP");
  menuAddItem("Java 世界", "欢迎访问Java 世界", "$PHP_SELF?key=page&id=Java 世界");
  menuAddItem("DotNet 时代", "欢迎访问DotNet 时代", "$PHP_SELF?key=page&id=DotNet 时代");
  menuAddItem("Visual Basic", "欢迎访问Visual Basic", "$PHP_SELF?key=page&id=Visual Basic");
  menuAddItem("Delphi", "欢迎访问Delphi", "$PHP_SELF?key=page&id=Delphi");
  menuEndSection();

  menuStartSection(3, "开心一刻");
  menuAddItem("传统笑话", "传统笑话", "$PHP_SELF?key=page&id=传统笑话");
  menuAddItem("近代笑话", "近代笑话", "$PHP_SELF?key=page&id=近代笑话");
  menuAddSubSection("儿童类");
  menuAddItem("校园笑话", "校园笑话", "$PHP_SELF?key=page&id=校园笑话");
  menuAddItem("幼儿笑话", "幼儿笑话", "$PHP_SELF?key=page&id=幼儿笑话");
  menuAddItem("少年笑话", "少年笑话", "$PHP_SELF?key=page&id=少年笑话");
  menuAddSubSectionLine();
  menuAddItem("中学时代笑话", "中学时代笑话", "$PHP_SELF?key=page&id=中学时代笑话");
  menuAddSubSection("成人笑话");
  menuAddItem("带颜色的笑话", "带颜色的笑话", "$PHP_SELF?key=page&id=带颜色的笑话");
  menuAddItem("笑话林", "笑话林", "$PHP_SELF?key=page&id=笑话林");
  menuEndSection();

  menuSectionAsItem(3, "菜单简介", "菜单简介", "$PHP_SELF?key=about");

  menuStartSection(1, "个人收藏夹");
  menuAddItem("DotNet 时代", "欢迎访问DotNet 时代", "$PHP_SELF?key=page&id=DotNet 时代");
  menuEndSection();

  // 将个人收藏夹定为启动菜单
  $menuOn = 4;

/**
* 输出javascript脚本
*/
echo <<<EOD

<script language=javascript>
var AvailHeight       // 定义可利用的高度
var LastSection       // 定义将要打开的菜单关闭
var ThisSection       // 定义当前需要打开的菜单
var timerDelay=15     // 定义并设置延时
var menuActive=false  // 测定当前活动的菜单
var VisibleHeight     // 定义显示高度,确定是否显示滚动条
var AniRatio          // 定义菜单显示滑动的速度

function getSizing() {
  // 菜单打开时得到的可利用的高度
  AvailHeight=document.body.clientHeight-$TopMenuHeight-($MenuBarHeight*$menuOn)
  if(AvailHeight<=0) {
    LastSection.style.display='none';
  }else {
    // 改变菜单显示滑动速度的比率
    AniRatio=0.75;                          // 设定速度
    if(AvailHeight>200) {AniRatio=0.667;}  
    if(AvailHeight>500) {AniRatio=0.5;}    // 根据可利用高度调整速度
    LastSection.style.height=AvailHeight;
    LastSection.style.overflow='visible';
    LastSection.style.display='';
    VisibleHeight=parseInt(LastSection.clientHeight);
    if(VisibleHeight>AvailHeight) {LastSection.style.overflow='auto';}else{LastSection.style.overflow='hidden';};
  }
}

function slideMenu() {
  // 菜单滑动函数
  if(parseInt(LastSection.style.height)>1) {
    LastSection.style.height=parseInt(parseInt(LastSection.style.height)*AniRatio);
    ThisSection.style.height=AvailHeight-parseInt(LastSection.style.height);
    var movetimer=setTimeout("slideMenu()",timerDelay)  ;
  }else {
    // 完成菜单滑动,显示新打开的菜单,隐藏前面以打开的菜单
    LastSection.style.display='none';
    ThisSection.style.height=AvailHeight;
    menuActive=false;
    if (VisibleHeight>AvailHeight) {ThisSection.style.overflow='auto';};
    ThisSection.style.marginRight=0;
    LastSection=ThisSection;
    clearTimeout(movetimer);
  }
}

function StartSection(theSection) {
  // 开始滑动菜单,检测是否对菜单进行单击
  if(menuActive==false) {
    if(LastSection!=theSection) {
      menuActive=true;
      ThisSection=theSection;
      LastSection.style.overflow='hidden';
      ThisSection.style.overflow='visible';
      ThisSection.style.display='';
      VisibleHeight=parseInt(ThisSection.clientHeight);
      ThisSection.style.overflow='hidden';
      ThisSection.style.display='none';
      ThisSection.style.height=1;
      LastSection.style.height=AvailHeight-1;
      LastSection.style.display='';
      ThisSection.style.display='';
      slideMenu()
    }
  }
}

window.onresize=getSizing
// 启动时打开默认的序号为第一个的菜单
LastSection=document.all.menuSection1;
LastSection.style.display='';
getSizing();
</script>
</body>
EOD;

endif;

if($key == "page"):
echo <<<EOD
<style>
body { font-size: 9pt; font-family:"Verdana", "Arial", "宋体"; }
</style>
<body>
<center>
<br>
<br>
欢迎访问 $id
</center>
</body>
EOD;
endif;

if($key == "about"):
echo <<<EOD
<style>
body { font-size: 9pt; font-family:"Verdana", "Arial", "宋体"; }
</style>
<body>
<center>
<br>
<br>
关于此菜单
<br>
<br>
说明,此菜单程序只能使用在IE 5以上的版本使用,NetSpace下不能使用,推荐使用IE 6正式中文版
</center>
</body>
EOD;
endif;
?>

时间: 2024-12-23 07:37:20

OfficeXP的相关文章

仿OfficeXP风格的左边版面列表

<?php/*** 仿OfficeXP风格的左边版面列表 * --------------------------------------------------------------------------------* blood 于 2/19/2002 4:47:11 PM 加贴在 Visual Basic** 徐祖宁(唠叨) 移植于 3/2/2002* OOP 版**/ class Frame {function run() {global $PHP_SELF;echo <<&

officexp和office2007工具栏中的所有不同之处?求大神详解、、、、、

问题描述 officexp和office2007工具栏中的所有不同之处?求大神详解..... officexp和office2007工具栏中的所有不同之处?求大神详解..... 解决方案 首先,没有OfficeXP,如果你说的是MS Office的话,有Office97,Office2000, Office2003, Office2007, Office2010, Office2013,最新的版本没有这是发布. 其次,Office是一个总称,包含很多应用,包括Word, Excel, Power

微软下周停止支持OfficeXP和VistaSP1

新浪科技讯 北京时间7月6日上午消息,据美国科技新闻网站PCWorld报道,根据微软发布的日程,微软将在7月12日结束对Office XP和Windows Vista SP1的技术支持.这两款产品均于2001年发布. 微软对其商业产品提供10年的技术支持.前5年是"主流技术支持"(mainstream support),后5年的"延期技术支持"(extended support).这两个阶段的最大区别是,在后一阶段,非安全性补丁只提供给购买了特别技术支持合同的企业.

OfficeXP下周将正式退出历史舞台

[<财经>综合报道] 上周微软发布Office 2010的SP1,辞旧迎新,下周微软将终结Office XP的使命.根据微软官方产品支持周期,自7月11日起微软将不再对Office XP提供支持. Office XP诞生于2001年5月31日,它是第一个告别"大眼夹"动画助手的MS Office版本,其中文版首次使用齐天大圣孙悟空做为Office助手.Office XP还首次具备中文语音识别和手写输入等特性. 微软高级技术支持工程师Steve Chen透露,微软将不再为Of

word打不开或发送错误报告怎么办

  经常遇到朋友咨询说,word打不开或者发送错误报告,请教有何方法解决?对此,不同的原因有不同的解决方法,为此小编分享了高手对付这一难题的方法,希望对你解决问题有帮助. word打不开或者发送错误报告 方法一: 这是由于模板出现问题引起的,恢复Normal模板就可以了:1.关闭所有打开的Word文档;2.复制这条命令:%appdata%microsofttemplates3.开始→运行→粘贴上面复制的命令→确定4.在打开的目录下,找到并删除Normal.dot,然后重新运行Word即可. 方法

妙用WPS演示2005 制作横波演示动画

用Flash可以制作出较为生动的演示动画,但它的使用较为复杂,不宜为普通教师所掌握.由我国金山公司开发WPSOffice2005,是一款与微软OfficeXP深度兼容的产品,作为其重要组件之一的WPS演示2005,易学易用,又拥有强大的自定义动画功能,灵活运用她所提供的自定义动画,无需编程就可以制作出堪于Flash相媲美的动画效果.此外,用WPS演示2005制作的动画,除了可以利用WPS演示2005播放以外,还可在Power point平台上进行播放,而且效果丝毫不受影响.两周前,笔者在学校的说

运用CodeSmith代码生引擎生成XML报表文件

xml|生成xml 前段时间做WEB项目时接到一个任务,报表都导出EXCEL.不能用第三方的报表工具,那只能操作EXCEL Library来解决了. 第一种:在服务端调用COM写EXCEL发关到客户端:这样不太可行因为系统的用户数量也很多,C#操作Excel(COM)效率不高,还很消耗服务器资源. 第二种:就是通过JSCRIPT来操作ActiveX,原理和第一种一样:只是操作数据操作放到客户端进行. 这两种方法操作和维护都很烦琐,而且效率也不高. 正在烦恼的时间突然想到了Excel到底能不能打开

ASP.NET中用OWC10及XML技术实现

asp.net|xml 摘要: 应用组件编程是C#的主要方面,本文结合作者在项目开发中的实际经验,通过一个具体实例来阐述调用组件OWC10和使用XML技术来绘制各种动态统计图,折线趋势图的方法和技巧.关键词:C#,ASP.NET,.NET SDK,OWC10,组件编程,XML,B/S模式,COM,服务器端,类,属性1 前言随着WWW的发展,愈来愈多的信息系统,专家系统开发采用浏览器/服务器(B/S)模式.自微软(Microsoft)公司在2002年3月推出.net之后,由于快速,高效,方便等特性

认识VF--Visual FoxPro 漫谈

visual BOE.COM Article Resource News Links About US      文章标题Visual FoxPro 漫谈 作品来源BOE 数据网络工作室 创建日期 2001年02月23日 最后更新 2002年07月21日  文字数量 约22000字 作者姓名 陈纯 译者姓名 原创作品 无译者 版权声明 版权属于BOE 数据网络工作室  相关下载 --  细节描述      作为市场上最灵活和功能最强大的数据库管理系统,Visual FoxPro拥有悠久而辉煌的发