關於sidebar的一點研究
【摘要】
vista中的sidebar也算是windows中的乙個新東西,抽時間小研了一下,在這裡做個小結。
研究的也不深,如有不正確的地方還請大家拍磚。
【全文】
一、 gadget的實現說明
gadget是一種由sidebar這個程式顯示在邊欄或桌面上的html頁面,可以用指令碼與css(層疊樣式表)控制頁面的行為與顯示,並且sidebar本身提供了一組物件來支援gadget的一些特有功能,如:檔案訪問、儲存設定等。
1. gadget主要組成檔案說明
有兩個檔案是必不可少的:
> gadget.xml:gadget的xml清單檔案,其檔名必須是gadget.xml;
> gadget.html:主頁面檔案,檔名可以任意,這個檔名設定在gadget.xml檔案中;
其他檔案:
> flyout.htm:flyout頁面檔案,可以有多個,需要在指令碼中指定檔名,檔名任意;
> settings.htm:設定頁面,也是在指令碼中指定的,檔名任意。
還有其他檔案,詳見vistasidebartutorial.pdf中的說明。這些檔案的儲存位置必須在sidebar的安裝路徑或使用者的應用程式資料路徑中的相應路徑下(請參見2.1安裝路徑),而且根目錄的副檔名必須為.gadget。
2. gadget主要屬性與事件
有關介面顯示的主要屬性有:
> system.gadget.settingsui:指定設定頁面檔案,這個頁面如果太大的話可能顯示不正常,寬度最好在400以下。
> system.gadget.flyout.file:指定flyout頁面檔案,在開啟flyout時為此屬性賦值,然後通過設定system.gadget.flyout.show = true來開啟flyout頁面。
有關介面顯示的主要事件有:
> system.gadget.onshowsettings:開啟設定頁面前的發生;
> system.gadget.onsettingsclosed:關閉設定頁面後的發生;
> system.gadget.onundock:將gadget拖出邊欄時發生;
> system.gadget.ondock:將gadget拖回到邊欄時發生;
> system.gadget.onsettingsclosed:設定頁面關閉後發生;
> system.gadget.flyout.onhide:關閉flyout頁面後發生;
> system.gadget.flyout.onshow:開啟flyout頁面時發生;
以上事件需要在主頁面的body的onload事件中指定。
> system.gadget.onsettingsclosing:關閉設定頁面前發生,此時可檢查輸入資料是否正確並儲存設定。此事件在設定頁面的onload事件中指定。
更詳細的事件與屬性請參考msdn:
//根[root]
settingsversion="00.00.00.01"
sidebarshowstate="imploded"
sidebardockedpartsorder="0x3,0x4,0x2," //gadget的顯示順序
section0="1"
sidebarautostart="true"
sidebardockside="2"
sidebaralwaysontop="false"
sidebardockmonitor="0"
sidebardockedpartspage1="1"
onetimeremovegadgetmessageshown="true"
pickerposx="192"
pickerposy="160"
onetimeexitmessageshown="true"
onetimecloselastdockedmessageshown="true"
onetimehidemessageshown="true"
//當前顯示的gadget的名稱列表,它用乙個數字表示,
//這個數字與上面的顯示順序是對應的。
section1="2"
section2="3"
section3="4"
privatesetting_gadgettopmost="false" //是否在最頂端
privatesetting_sidebardockedstate="not%20docked" //停靠狀態
privatesetting_gadgetdroplocationx="314" //在桌面上的位置x
privatesetting_gadgetdroplocationy="46" //在桌面上的位置y
[section 3]
privatesetting_gadgetname="d:%5cprogram%20files%5cwindows%20sidebar%5cgadgets%5cclock.gadget"
privatesetting_enabled="true"
privatesetting_sidebardockedstate="docked"
privatesetting_gadgettopmost="false"
[section 4]
privatesetting_gadgetname="d:%5cprogram%20files%5cwindows%20sidebar%5cgadgets%5ccpu.gadget"
privatesetting_enabled="true"
privatesetting_sidebardockedstate="docked"
privatesetting_gadgettopmost="false"
說明:上面以//開始的文字均我後加的注釋說明,在配置檔案中不存在這些文字。
注意:這個檔案在sidebar執行時是受保護的。
五、 其他說明:
頁面中的指令碼執行錯誤將得不到任何提示,出現錯誤後指令碼將停止執行,而且alert(message)不再起作用;
關於Azure Storage 的一點研究
關於azure storage 的介紹和用c 去使用blob storage,可以參考下面這個官方資料 運維給了乙個uri https blob.core.chinacloudapi.cn 乙個account name和乙個account key.在嘗試往uri上傳檔案時,發現報錯,提示找不到對應位...
研究方法的一點總結
1,如何找研究方向 研究點 我們從參加工作開始,就限定了乙個大概的領域 網際網路,移動通訊,機械工程等等。所以所謂的研究方向也就是在乙個限定的範圍內,尋找新的問題,或者對於某個問題尋找新的更好的方法。曾看過r.w.hamming寫的一篇文章 裡面談到,當開始動手做研究之前,要choosing the...
關於引用計數和GC的一點研究
由於服務端c 程式設計的記憶體管理的複雜性 和程式書寫的複雜性,一般推薦使用引用計數和gc,從效率上看引用計數的效率非常高,gc的效率比較低。這裡討論一下主流的引用計數和gc 詳細 見 雲計算引擎 一.引用計數 1.引用計數的兩個基本原則 1.1 保證引用計數的加和減成對使用。1.2 引用計數從0開...