首页 > 电脑专区 > windows >

亲自动手开发WIN7边侧栏小工具应用程序

来源:互联网 2023-02-21 17:04:20 430

Windows7的小工具不仅能美化桌面环境,而且还具备许多的特色功能,可以用它来查询天气、航班、信息、时间、股票......这些小工具给我们带来美好的体验的同时,也丰富了娱乐生活。那么,我们自己该如何开发这类美观实用的小工具吗?下面笔者就以一个简易天气预报程序的开发过程为例,与大家共享此类程序开发的方法和经验。Nhw办公区 - 实用经验教程分享!

亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

工具/原料

  • Windows Vista 或 Windows 7 操作系统
  • HTML、CSS、JavaScript、XML

主页面开发

  • 1

    新建一个文件夹,取名为"MyWeather.Gadget",并在该文件夹下创建一个名称为"WeatherReport.html"的网页文件,该文件将作为主页面被显示,其对应的HTML代码如下:Nhw办公区 - 实用经验教程分享!

    html>

    Nhw办公区 - 实用经验教程分享!

    head>

    Nhw办公区 - 实用经验教程分享!

    title>我的天气小应用程序/title>

    Nhw办公区 - 实用经验教程分享!

    meta http-equiv="MSThemeCompatible" CONTENT="yes" />

    Nhw办公区 - 实用经验教程分享!

    meta http-equiv="Content-Type" content="text/html; charset=Unicode" />Nhw办公区 - 实用经验教程分享!

    link type="text/css" href="css/myWeather.css" rel="Stylesheet" />

    Nhw办公区 - 实用经验教程分享!

    script defer src="js/myWeather.js" language=javascript type="text/javascript"> /script>

    Nhw办公区 - 实用经验教程分享!

    /head>案泉

    Nhw办公区 - 实用经验教程分享!

    body onload="SpecialRefresh()" scroll="no" unselectable="on">

    Nhw办公区 - 实用经验教程分享!

    g:background id="myBackground" >

    Nhw办公区 - 实用经验教程分享!

    span id="gadgetContent" >

    Nhw办公区 - 实用经验教程分享!

    iframe id="myiframe" name="myiframe" src="http://tianqi.xixik.com/cframe/4" allowtransparency="true" width="130" frameborder="0" marginwidth="0" marginheight="0" scrolling="no">

    Nhw办公区 - 实用经验教程分享!

    *加载天气预报控件失败*请检查网络连接情况*

    Nhw办公区 - 实用经验教程分享!

    /iframe>

    Nhw办公区 - 实用经验教程分享!

    /span>

    Nhw办公区 - 实用经验教程分享!

    /g:background>

    Nhw办公区 - 实用经验教程分享!

    /body>

    Nhw办公区 - 实用经验教程分享!

    /html>Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • 2

    在"MyWeather.Gadget"目录下创建一个名称为"CSS"的新文件夹,并创建名称为"MyWeather.css"的层叠样式表文件,披讨该文件将用于设置主页面"WeatherReport.html"的显示效果,其对应代码如下:

    Nhw办公区 - 实用经验教程分享!

    body{ margin: 0; width: 134px; height:150px; border:1px solid #000000;

    Nhw办公区 - 实用经验教程分享!

    font-weight: bold; font-size:small; background-color:White;

    Nhw办公区 - 实用经验教程分享!

    vertical-align:top; text-align: center; font-size:14px;}

    Nhw办公区 - 实用经验教程分享!

    #gadgetContent { margin: 0px; width: 130px; height:120px;vertical-align: middle;

    Nhw办公区 - 实用经验教程分享!

    text-align: center; float:none; display:inline-block; }

    Nhw办公区 - 实用经验教程分享!

    #mybackground{ height:150px; }

    Nhw办公区 - 实用经验教程分享!

    #author{ font-size:15px; border-top:2px solid #45ff00; background-color:White;

    Nhw办公区 - 实用经验教程分享!

    padding:0px; width:130px; height:30px; float:none;Nhw办公区 - 实用经验教程分享!

    margin:2px 1px 1px 1px; position:relative; z-index:3; }Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • 3

    在"MyWeather.Gadget"目录下创建一个名为"js"的文件夹,并在该文件夹下创建一个名称为"MyWeather.js"的脚本文件,该文件用于控制主页面文件"WeatherReport.html"的行为。其对应代码如下:Nhw办公区 - 实用经验教程分享!

    var times =1; //1 代表 1分钟

    Nhw办公区 - 实用经验教程分享!

    var shows = 10; //1 代表显示一天的舍绵舍预报信息

    Nhw办公区 - 实用经验教程分享!

    var ReceverString;

    Nhw办公区 - 实用经验教程分享!

    var GadgetTime;Nhw办公区 - 实用经验教程分享!

    function loadMian()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.visibilityChanged = checkVisibility;

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.onDock = Dock;

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.onUndock = unDock;

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function SpecialRefresh() {

    Nhw办公区 - 实用经验教程分享!

    loadMian();

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    if (updateTimeInterval == "") times = 10 * 1000 * 10;

    Nhw办公区 - 实用经验教程分享!

    else times = updateTimeInterval * 60 * 1000;Nhw办公区 - 实用经验教程分享!

    GadgetTime = setTimeout("self.location.reload()", times);

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function checkVisibility()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    var isVisible = System.Gadget.visible; Nhw办公区 - 实用经验教程分享!

    if (!isVisible)

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    clearTimeout(GadgetTime);

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function unDock() {}

    Nhw办公区 - 实用经验教程分享!

    function Dock() {}Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • 4

    在"MyWeather.Gadget"目录下创建一个名为"gadget.xml"的文件,该文件用于描述整个小工具程序的框架,其对应代码如下:Nhw办公区 - 实用经验教程分享!

    ?xml version="1.0" encoding="utf-8"?>

    Nhw办公区 - 实用经验教程分享!

    gadget>

    Nhw办公区 - 实用经验教程分享!

    name>简易天气预报程序/name> !-- 定义Gadget名称 -->

    Nhw办公区 - 实用经验教程分享!

    namespace>http://jingyan.baidu.com/user/nuc/expList?type=1>/namespace>

    Nhw办公区 - 实用经验教程分享!

    !-- 定义Gadget的命名空间,与JS交互 -->

    Nhw办公区 - 实用经验教程分享!

    version>1.0.1.0/version> !-- 版本信息 -->

    Nhw办公区 - 实用经验教程分享!

    author name="feifeidown"> !-- 作者信息 -->

    Nhw办公区 - 实用经验教程分享!

    info url="http://jingyan.baidu.com/user/nuc/expList?type=1" />

    Nhw办公区 - 实用经验教程分享!

    !-- 作者网站的链接地址(4) -->

    Nhw办公区 - 实用经验教程分享!

    logo src="logo.png"/> !-- 作者的Logo信息(5) -->

    Nhw办公区 - 实用经验教程分享!

    /author>

    Nhw办公区 - 实用经验教程分享!

    copyright>DIY易度空间 By ©feifeidown/copyright>!-- 版权信息 -->

    Nhw办公区 - 实用经验教程分享!

    description>天气预报实例程序,用于实时观测当地的天气情况/description>

    Nhw办公区 - 实用经验教程分享!

    !-- 功能描述信息 -->

    Nhw办公区 - 实用经验教程分享!

    icons>

    Nhw办公区 - 实用经验教程分享!

    icon height="48" width="48" src="icon.png"/> !-- 显示在小工具待选箱时的图标(8) -->

    Nhw办公区 - 实用经验教程分享!

    /icons>

    Nhw办公区 - 实用经验教程分享!

    hosts>

    Nhw办公区 - 实用经验教程分享!

    host name="sidabar"> !--仅支持Sidebar-->

    Nhw办公区 - 实用经验教程分享!

    autoscaleDPI>

    Nhw办公区 - 实用经验教程分享!

    !--_locComment_text="{Locked}"-->true

    Nhw办公区 - 实用经验教程分享!

    /autoscaleDPI>

    Nhw办公区 - 实用经验教程分享!

    base type="HTML" apiVersion="1.0.0" src="WeatherReport.html"/>

    Nhw办公区 - 实用经验教程分享!

    !-- type仅支持html;src用以指明主界面的HTML源文件 -->

    Nhw办公区 - 实用经验教程分享!

    permissions>full/permissions>!--目前仅可以设置Full-->

    Nhw办公区 - 实用经验教程分享!

    platform minPlatformVersion="1.0" />

    Nhw办公区 - 实用经验教程分享!

    defaultImage src="dragicon.png"/>

    Nhw办公区 - 实用经验教程分享!

    !-- 在从小工具备选箱用鼠标拖到Sidebar时所显示的Logo -->

    Nhw办公区 - 实用经验教程分享!

    /host>

    Nhw办公区 - 实用经验教程分享!

    /hosts>

    Nhw办公区 - 实用经验教程分享!

    /gadget>Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • 5

    制作三个名称分别为"icon.png"、"dragicon.png"和"logo.png"的图形文件,拷贝到"MyWeather.Gadget"目录下。其中各个文件的尺寸如图所示。

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • 6

    将"MyWeather.Gadget"文件夹拷贝到"%系统根目录%Program Files/Windows Sidebar/Gadgets/"目录下。注意:此步操作需要管理员权限。然后右击桌面,选择"小工具",在弹出的"百宝箱"界面中选择"简易天气预报程序"小工具,并拖动到桌面的任意位置,如果一切顺利的话,界面应该如下图所示。

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • 6本页面未经授权抓取自百度经验
  • 设置界面的开发

  • 1

    在"MyWeather.Gadget"目录创建一个名为"settings.html"的文件,该文件用于显示"设置弹出对话框",其对应代码如下:html>

    Nhw办公区 - 实用经验教程分享!

    title>Setting 设置窗体示例/title>

    Nhw办公区 - 实用经验教程分享!

    head>

    Nhw办公区 - 实用经验教程分享!

    meta http-equiv="Content-Type" content="text/html; charset=Unicode" />

    Nhw办公区 - 实用经验教程分享!

    style type="text/css">

    Nhw办公区 - 实用经验教程分享!

    body{color:Fuchsia; font-size:12px; height:100px;

    Nhw办公区 - 实用经验教程分享!

    width:380px; margin:10px; }

    Nhw办公区 - 实用经验教程分享!

    /style>

    Nhw办公区 - 实用经验教程分享!

    script language=javascript type="text/javascript" src="js/settings.js">/script> /head>

    Nhw办公区 - 实用经验教程分享!

    body onload="InitSettings()">

    Nhw办公区 - 实用经验教程分享!

    span style="float:left; display:inline;">预报天数:/span>

    Nhw办公区 - 实用经验教程分享!

    input id="ShowDays" type="text" value="1"

    Nhw办公区 - 实用经验教程分享!

    style="border:1px solid #0fee33; text-align:center; font-size:14px;color:Blue;" size=6/>天预报信息

    Nhw办公区 - 实用经验教程分享!

    br />

    Nhw办公区 - 实用经验教程分享!

    span style="float:left; display:inline;">更新频率:/span>

    Nhw办公区 - 实用经验教程分享!

    input id="UpdateTimes" type="text" value="10"

    Nhw办公区 - 实用经验教程分享!

    style="border:1px solid #0fee33; font-size:14px; text-align:center; color:Blue;" size=6/>分钟更新一次数据

    Nhw办公区 - 实用经验教程分享!

    br />

    Nhw办公区 - 实用经验教程分享!

    span style="color:Green; margin-left:10px; width:160px; text-align:center;" >该设置将会被提交给主页面/span>Nhw办公区 - 实用经验教程分享!

    /body>

    Nhw办公区 - 实用经验教程分享!

    /html>

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • 2

    为了实现"设置界面"与"程序主页面"之间的信息交换,需要编写脚本语言。在"js"目录下创建一个名为"settings.js"的脚本文件,其对应代码如下:Nhw办公区 - 实用经验教程分享!

    function InitSettings()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    var showDs=System.Gadget.Settings.read("ShowDays");

    Nhw办公区 - 实用经验教程分享!

    var updateTs =System.Gadget.Settings.read("UpdateTimes");

    Nhw办公区 - 实用经验教程分享!

    if (showDs != "") ShowDays.innerText = showDs;

    Nhw办公区 - 实用经验教程分享!

    if (updateTs != "") UpdateTimes.innerText = updateTs;Nhw办公区 - 实用经验教程分享!

    System.Gadget.onSettingsClosing = SettingsClosing;

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function SettingsClosing(event)

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    if (event.closeAction == event.Action.commit)

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    saveSettings();

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    event.cancel = false; //关闭设置

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function saveSettings()

    Nhw办公区 - 实用经验教程分享!

    {Nhw办公区 - 实用经验教程分享!

    var showDs = ShowDays.value;

    Nhw办公区 - 实用经验教程分享!

    var updateTs = UpdateTimes.value;Nhw办公区 - 实用经验教程分享!

    System.Gadget.Settings.write("ShowDays", showDs);

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.Settings.write("UpdateTimes", updateTs);

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • 3

    修改"myWeather.js"文件,在其中加入与"设置页面"进行信息交换的代码,在增加部分代码后其完整程序如下:Nhw办公区 - 实用经验教程分享!

    var times =1; //1 代表 1分钟

    Nhw办公区 - 实用经验教程分享!

    var shows = 10; //1 代表显示一天的预报信息

    Nhw办公区 - 实用经验教程分享!

    var ReceverString;

    Nhw办公区 - 实用经验教程分享!

    var GadgetTime;Nhw办公区 - 实用经验教程分享!

    function loadMian()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.visibilityChanged = checkVisibility;

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.onDock = Dock;

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.onUndock = unDock;

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    //该句的设置将使“设置”按钮生效

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.settingsUI = "settings.html";

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.onSettingsClosed = settingsClosed;

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function settingsClosed()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    clearTimeout(GadgetTime);

    Nhw办公区 - 实用经验教程分享!

    GadgetTime=setTimeout("self.location.reload();", 100);

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function SpecialRefresh() {

    Nhw办公区 - 实用经验教程分享!

    loadMian();

    Nhw办公区 - 实用经验教程分享!

    var updateTimeInterval = System.Gadget.Settings.read("UpdateTimes");

    Nhw办公区 - 实用经验教程分享!

    var showDaysForDisp = System.Gadget.Settings.read("ShowDays");

    Nhw办公区 - 实用经验教程分享!

    var ifv = parent.document.getElementById("myiframe");

    Nhw办公区 - 实用经验教程分享!

    var gc = parent.document.getElementById("gadgetContent");Nhw办公区 - 实用经验教程分享!

    if (updateTimeInterval == "") times = 10 * 1000 * 10;

    Nhw办公区 - 实用经验教程分享!

    else times = updateTimeInterval * 60 * 1000;Nhw办公区 - 实用经验教程分享!

    if (showDaysForDisp != "")

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    if (showDaysForDisp 1) showDaysForDisp = 1;

    Nhw办公区 - 实用经验教程分享!

    if (showDaysForDisp >7) showDaysForDisp = 7;

    Nhw办公区 - 实用经验教程分享!

    if (parseInt(showDaysForDisp,10) == 1) gc.style.overflow = "hidden";

    Nhw办公区 - 实用经验教程分享!

    else { gc.style.overflow = "auto"; }Nhw办公区 - 实用经验教程分享!

    shows = (showDaysForDisp - 1) * 102 120;

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    else

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    gc.style.overflow = "hidden";

    Nhw办公区 - 实用经验教程分享!

    shows = (shows - 1) * 102 120;

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    ifv.style.height = parseInt(shows, 10);

    Nhw办公区 - 实用经验教程分享!

    checkDockState();

    Nhw办公区 - 实用经验教程分享!

    GadgetTime = setTimeout("self.location.reload()", times);

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function checkVisibility()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    var isVisible = System.Gadget.visible;

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    if (!isVisible)

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    clearTimeout(GadgetTime);

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    function unDock() {}

    Nhw办公区 - 实用经验教程分享!

    function Dock() {}Nhw办公区 - 实用经验教程分享!

  • 4

    将"MyWeather.Gadget"文件夹拷贝到"%系统根目录%Program Files/Windows Sidebar/Gadgets/"目录下。注意:此步操作需要管理员权限。然后右击桌面,选择"小工具",在弹出的"百宝箱"界面中选择"简易天气预报程序"小工具,并拖动到桌面的任意位置,如果一切顺利的话,点击小工具当中的"选项"按钮,界面应该如下图所示。

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • "飞出窗体"的设计

  • 1

    在"MyWeather.Gadget"目录下创建一个名为"Flyout.html"的文件,该文件用于实现"飞出窗体"的显示,其对应代码如下:Nhw办公区 - 实用经验教程分享!

    html>

    Nhw办公区 - 实用经验教程分享!

    head>

    Nhw办公区 - 实用经验教程分享!

    meta http-equiv="Content-Type" content="text/html; charset=Unicode" />

    Nhw办公区 - 实用经验教程分享!

    style type="text/css">

    Nhw办公区 - 实用经验教程分享!

    body{ text-align:left; height:120px; width:240px; background-color:White;

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    #myFOBackGround{ height:100px; width:240px;}

    Nhw办公区 - 实用经验教程分享!

    #FOauthor{ font-size:16px; width:240px; text-align:center;border-top:1px solid #22FF01; display:block; }

    Nhw办公区 - 实用经验教程分享!

    #weather_fo{ display:block; border:1px solid #34ef32; }

    Nhw办公区 - 实用经验教程分享!

    /style>

    Nhw办公区 - 实用经验教程分享!

    script src="js/myWeather.js" type="text/javascript" language=javascript>/script>Nhw办公区 - 实用经验教程分享!

    /head>

    Nhw办公区 - 实用经验教程分享!

    body onload="changeThema()">

    Nhw办公区 - 实用经验教程分享!

    g:background id="myFOBackGround">

    Nhw办公区 - 实用经验教程分享!

    iframe allowtransparency="true" id="weather_fo" src="http://tianqi.xixik.com/cframe/7"

    Nhw办公区 - 实用经验教程分享!

    width="225" height="90" frameborder="0"

    Nhw办公区 - 实用经验教程分享!

    marginwidth="0" marginheight="0" scrolling="no" >

    Nhw办公区 - 实用经验教程分享!

    /iframe>

    Nhw办公区 - 实用经验教程分享!

    span id="FOauthor">*简易天气预报小工具*/span>

    Nhw办公区 - 实用经验教程分享!

    /g:background>

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    /body>

    Nhw办公区 - 实用经验教程分享!

    /html>Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • 2

    修改主页面的代码,加入脚本实现对"飞出窗体"的显示控制。其主页面的代码在修改后为:Nhw办公区 - 实用经验教程分享!

    html>

    Nhw办公区 - 实用经验教程分享!

    head>

    Nhw办公区 - 实用经验教程分享!

    title>我的天气小应用程序/title>

    Nhw办公区 - 实用经验教程分享!

    meta http-equiv="MSThemeCompatible" CONTENT="yes" />

    Nhw办公区 - 实用经验教程分享!

    meta http-equiv="Content-Type" content="text/html; charset=Unicode" />Nhw办公区 - 实用经验教程分享!

    link type="text/css" href="css/myWeather.css" rel="Stylesheet" />

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    script defer src="js/myWeather.js" language=javascript type="text/javascript"> /script>

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    /head>

    Nhw办公区 - 实用经验教程分享!

    body onload="SpecialRefresh()" scroll="no" unselectable="on">

    Nhw办公区 - 实用经验教程分享!

    g:background id="myBackground" >

    Nhw办公区 - 实用经验教程分享!

    span id="gadgetContent" >

    Nhw办公区 - 实用经验教程分享!

    iframe id="myiframe" name="myiframe" src="http://tianqi.xixik.com/cframe/4" allowtransparency="true"

    Nhw办公区 - 实用经验教程分享!

    width="130" frameborder="0" marginwidth="0" marginheight="0" scrolling="no">

    Nhw办公区 - 实用经验教程分享!

    *加载天气预报控件失败*请检查网络连接情况*

    Nhw办公区 - 实用经验教程分享!

    /iframe>

    Nhw办公区 - 实用经验教程分享!

    /span>

    Nhw办公区 - 实用经验教程分享!

    /g:background>

    Nhw办公区 - 实用经验教程分享!

    span id="author" rows="1 " alt="双击打开扩展面板" ondblclick="showFlyout()" >*By feifeidown*/span>

    Nhw办公区 - 实用经验教程分享!

    /body>

    Nhw办公区 - 实用经验教程分享!

    /html>Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • 3

    修改"myWeather.js"脚本文件,加入对"飞出窗体"的控件部分,完成后其代码如下:Nhw办公区 - 实用经验教程分享!

    var times =1; //1 代表 1分钟

    Nhw办公区 - 实用经验教程分享!

    var shows = 10; //1 代表显示一天的预报信息

    Nhw办公区 - 实用经验教程分享!

    var ReceverString;

    Nhw办公区 - 实用经验教程分享!

    var GadgetTime;Nhw办公区 - 实用经验教程分享!

    function loadMian()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.visibilityChanged = checkVisibility;

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.onDock = Dock;

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.onUndock = unDock;

    Nhw办公区 - 实用经验教程分享!

    //该句的设置将使“设置”按钮生效

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.settingsUI = "settings.html";

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.onSettingsClosed = settingsClosed;Nhw办公区 - 实用经验教程分享!

    System.Gadget.Flyout.file = "Flyout.html";

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.Flyout.onHide = FOonHide;

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.Flyout.onShow = FOonShow;

    Nhw办公区 - 实用经验教程分享!

    // System.Gadget.Flyout.show = true; }Nhw办公区 - 实用经验教程分享!

    function settingsClosed()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    clearTimeout(GadgetTime);

    Nhw办公区 - 实用经验教程分享!

    GadgetTime=setTimeout("self.location.reload();", 100);

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function SpecialRefresh() {

    Nhw办公区 - 实用经验教程分享!

    loadMian();

    Nhw办公区 - 实用经验教程分享!

    var updateTimeInterval = System.Gadget.Settings.read("UpdateTimes");

    Nhw办公区 - 实用经验教程分享!

    var showDaysForDisp = System.Gadget.Settings.read("ShowDays");

    Nhw办公区 - 实用经验教程分享!

    var ifv = parent.document.getElementById("myiframe");

    Nhw办公区 - 实用经验教程分享!

    var gc = parent.document.getElementById("gadgetContent");Nhw办公区 - 实用经验教程分享!

    if (updateTimeInterval == "") times = 10 * 1000 * 10;

    Nhw办公区 - 实用经验教程分享!

    else times = updateTimeInterval * 60 * 1000;Nhw办公区 - 实用经验教程分享!

    if (showDaysForDisp != "")

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    if (showDaysForDisp 1) showDaysForDisp = 1;

    Nhw办公区 - 实用经验教程分享!

    if (showDaysForDisp >7) showDaysForDisp = 7;

    Nhw办公区 - 实用经验教程分享!

    if (parseInt(showDaysForDisp,10) == 1) gc.style.overflow = "hidden";

    Nhw办公区 - 实用经验教程分享!

    else { gc.style.overflow = "auto"; }Nhw办公区 - 实用经验教程分享!

    shows = (showDaysForDisp - 1) * 102 120;

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    else

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    gc.style.overflow = "hidden";

    Nhw办公区 - 实用经验教程分享!

    shows = (shows - 1) * 102 120;

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    ifv.style.height = parseInt(shows, 10);

    Nhw办公区 - 实用经验教程分享!

    checkDockState();

    Nhw办公区 - 实用经验教程分享!

    GadgetTime = setTimeout("self.location.reload()", times);

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function checkVisibility()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    var isVisible = System.Gadget.visible;

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    if (!isVisible)

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    clearTimeout(GadgetTime);

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    function unDock() {}

    Nhw办公区 - 实用经验教程分享!

    function Dock() {}

    Nhw办公区 - 实用经验教程分享!

    function FOonHide()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    GadgetTime = setTimeout("self.location.reload()", 2000);

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function FOonShow()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    if (System.Gadget.docked) {

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.Flyout.Document.parentWindow.weather_fo.style.backgroundColor = "Red";

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    else

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.Flyout.Document.parentWindow.weather_fo.style.backgroundColor = "White";

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function showFlyout()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    stopTimer();

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.Flyout.show = true; Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function stopTimer() {

    Nhw办公区 - 实用经验教程分享!

    if (GadgetTime) {

    Nhw办公区 - 实用经验教程分享!

    clearInterval(GadgetTime);

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

  • 4

    将"MyWeather.Gadget"文件夹拷贝到"%系统根目录%Program Files/Windows Sidebar/Gadgets/"目录下。注意:此步操作需要管理员权限。然后右击桌面,选择"小工具",在弹出的"百宝箱"界面中选择"简易天气预报程序"小工具,并拖动到桌面的任意位置,如果一切顺利的话,点击小工具当中的"选项"按钮,然后双击小工具界面下方的文本,如果一切顺利,界面应该如下图所示。

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • 美化窗体

  • 1

    创建名称分别为"background1.png"、"background2.png"、"FObg1.png"和"FObg2.png"的图片文件,并拷贝到images文件夹目录下,其大小如图如下,用于实现小工具的自定义皮肤效果。

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • 2

    修心"Myweather.js"脚本文件,加入对皮肤的设置控制代码,在加入部分代码后其最终完整代码如下:Nhw办公区 - 实用经验教程分享!

    var times =1; //1 代表 1分钟

    Nhw办公区 - 实用经验教程分享!

    var shows = 10; //1 代表显示一天的预报信息

    Nhw办公区 - 实用经验教程分享!

    var ReceverString;

    Nhw办公区 - 实用经验教程分享!

    var GadgetTime;Nhw办公区 - 实用经验教程分享!

    function loadMian()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.visibilityChanged = checkVisibility;

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.onDock = Dock;

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.onUndock = unDock;

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    //该句的设置将使“设置”按钮生效

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.settingsUI = "settings.html";

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.onSettingsClosed = settingsClosed;Nhw办公区 - 实用经验教程分享!

    System.Gadget.Flyout.file = "Flyout.html";

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.Flyout.onHide = FOonHide;

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.Flyout.onShow = FOonShow;

    Nhw办公区 - 实用经验教程分享!

    // System.Gadget.Flyout.show = true;

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function settingsClosed()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    clearTimeout(GadgetTime);

    Nhw办公区 - 实用经验教程分享!

    GadgetTime=setTimeout("self.location.reload();", 100);

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function SpecialRefresh() {

    Nhw办公区 - 实用经验教程分享!

    loadMian();

    Nhw办公区 - 实用经验教程分享!

    var updateTimeInterval = System.Gadget.Settings.read("UpdateTimes");

    Nhw办公区 - 实用经验教程分享!

    var showDaysForDisp = System.Gadget.Settings.read("ShowDays");

    Nhw办公区 - 实用经验教程分享!

    var ifv = parent.document.getElementById("myiframe");

    Nhw办公区 - 实用经验教程分享!

    var gc = parent.document.getElementById("gadgetContent");Nhw办公区 - 实用经验教程分享!

    if (updateTimeInterval == "") times = 10 * 1000 * 10;

    Nhw办公区 - 实用经验教程分享!

    else times = updateTimeInterval * 60 * 1000;Nhw办公区 - 实用经验教程分享!

    if (showDaysForDisp != "")

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    if (showDaysForDisp 1) showDaysForDisp = 1;

    Nhw办公区 - 实用经验教程分享!

    if (showDaysForDisp >7) showDaysForDisp = 7;

    Nhw办公区 - 实用经验教程分享!

    if (parseInt(showDaysForDisp,10) == 1) gc.style.overflow = "hidden";

    Nhw办公区 - 实用经验教程分享!

    else { gc.style.overflow = "auto"; }Nhw办公区 - 实用经验教程分享!

    shows = (showDaysForDisp - 1) * 102 120;

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    else

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    gc.style.overflow = "hidden";

    Nhw办公区 - 实用经验教程分享!

    shows = (shows - 1) * 102 120;

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    ifv.style.height = parseInt(shows, 10);

    Nhw办公区 - 实用经验教程分享!

    checkDockState();

    Nhw办公区 - 实用经验教程分享!

    GadgetTime = setTimeout("self.location.reload()", times);

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function checkVisibility()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    var isVisible = System.Gadget.visible;

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    if (!isVisible)

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    clearTimeout(GadgetTime);

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function checkDockState()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    if (System.Gadget.docked) { Dock(); }

    Nhw办公区 - 实用经验教程分享!

    else { unDock(); }Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    function unDock() {

    Nhw办公区 - 实用经验教程分享!

    var mybground = document.getElementById("myBackground");

    Nhw办公区 - 实用经验教程分享!

    mybground.src = "url(images/background2.png)";

    Nhw办公区 - 实用经验教程分享!

    author.style.color = "gray";

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    function Dock() {

    Nhw办公区 - 实用经验教程分享!

    var mybground = document.getElementById("myBackground");

    Nhw办公区 - 实用经验教程分享!

    mybground.src = "url(images/background1.png)";

    Nhw办公区 - 实用经验教程分享!

    author.style.color = "red";

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function FOonHide()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    GadgetTime = setTimeout("self.location.reload()", 2000);

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function FOonShow()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    if (System.Gadget.docked) {

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.Flyout.Document.parentWindow.weather_fo.style.backgroundColor = "Red";

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    else

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.Flyout.Document.parentWindow.weather_fo.style.backgroundColor = "White";

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function showFlyout()

    Nhw办公区 - 实用经验教程分享!

    {

    Nhw办公区 - 实用经验教程分享!

    stopTimer();

    Nhw办公区 - 实用经验教程分享!

    System.Gadget.Flyout.show = true; Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    function stopTimer() {

    Nhw办公区 - 实用经验教程分享!

    if (GadgetTime) {

    Nhw办公区 - 实用经验教程分享!

    clearInterval(GadgetTime);

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    function changeThema() {Nhw办公区 - 实用经验教程分享!

    if (!System.Gadget.docked) {

    Nhw办公区 - 实用经验教程分享!

    var pp = document.getElementById("FOauthor");

    Nhw办公区 - 实用经验教程分享!

    var dd = document.getElementById("weather_fo");

    Nhw办公区 - 实用经验教程分享!

    dd.style.backgroundImage = "url(images/FObg1.png)";

    Nhw办公区 - 实用经验教程分享!

    pp.style.color = "Red";

    Nhw办公区 - 实用经验教程分享!

    pp.style.backgroundColor = "Orange";

    Nhw办公区 - 实用经验教程分享!

    }

    Nhw办公区 - 实用经验教程分享!

    else {

    Nhw办公区 - 实用经验教程分享!

    var pp = document.getElementById("FOauthor");

    Nhw办公区 - 实用经验教程分享!

    var dd = document.getElementById("weather_fo");

    Nhw办公区 - 实用经验教程分享!

    dd.style.backgroundImage = "url(images/FObg2.png)";

    Nhw办公区 - 实用经验教程分享!

    pp.style.color = "Gray";

    Nhw办公区 - 实用经验教程分享!

    pp.style.backgroundColor = "White";Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    }Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

  • 3

    将"MyWeather.Gadget"文件夹拷贝到"%系统根目录%Program Files/Windows Sidebar/Gadgets/"目录下。注意:此步操作需要管理员权限。然后右击桌面,选择"小工具",在弹出的"百宝箱"界面中选择"简易天气预报程序"小工具,并拖动到桌面的任意位置,如果一切顺利的话,点击小工具当中的"选项"按钮,然后双击"尺寸"按钮,如果一切顺利,界面应该如下图所示。

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

    亲自动手开发WIN7边侧栏小工具应用程序Nhw办公区 - 实用经验教程分享!

  • 注意事项

    • 安装或复制文件时需要管理员权限

      Nhw办公区 - 实用经验教程分享!

      Nhw办公区 - 实用经验教程分享!

    • 设计Gadget应遵守的原则:在有效的空间内保持其有效性;

      Nhw办公区 - 实用经验教程分享!

      Nhw办公区 - 实用经验教程分享!

    • 还有一个要注意的地方,小工具的页面和文件必须是utf-8编码字符集,如果是gb2312可能会出现乱码Nhw办公区 - 实用经验教程分享!

      Nhw办公区 - 实用经验教程分享!

      Nhw办公区 - 实用经验教程分享!

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!Nhw办公区 - 实用经验教程分享!


    标签: WIN7动手小工程序

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码