2010年4月23日 星期五

WPF 教學網站心得摘要 lesson 9 - 12

看完 微軟所提供的教學影片 所紀錄下來的心得摘要

網址
http://msdn.microsoft.com/zh-tw/netframework/cc963622.aspx


#9 WPF 樣式與資源 #2 – 使用樣式製作不一樣的 ListBox 外觀

1. 樣式設定,這裡Demo 三種自訂的 list box 樣式(包括 圖片和文字)
a. 下拉式
b. 水平捲軸
c. 並排,像 windows 檢視資料夾中的並排選項

2. 定義類別UserInfo 包含 名字 和 圖片路徑兩種屬性,及相關的get set 方法

3. 撈資料用 Binding

4. Set property 是修改 listBox 裡的 ItemTemplate面填一個grid 包含 一個矩形(抓圖片) 和 一個 Text(抓文字)

#10 如何進行畫面裁切與裁切技術應用技巧

1. 裁切的屬性是 clip ,如 image.clip

2. 裁切的範例
a. 橢圓(EllipseGeometry),要設定 圓心和兩個半徑
b. 不規則型(PathGeometry),不規則型,範例是一個封閉的三角形

3. 在影片上作裁切
a. 格式化文字物件 :FormattedText
b. 挖空影片效果,影片中挖出文字邊框、只顯現文字但文字中心的圖案是影片

# 11 WPF 2D 圖形矩陣轉換特效的應用

1. 轉換特性這裡介紹:
a. 旋轉 (Rotate) ,設定中心點(Center X,Center Y)+角度(Angle)
b. 平移(translate),設定 x軸距離(X)、y軸距離(Y)
c. 比例(Scale),設定 x軸比例(ScaleX)、y軸比例(Scale)ScaleX
d. skew ,在2d做出類3d的效果,設定(Center X,Center Y)

2. 屬性: RenderTransform

3. Timmer 的應用,在C#用 Timmer 來讓圖片動態變更
a. using System.windows.Form
b.使用 TransfromGroup 當有兩個以上的轉換特效要用時
c. 子元數的新增方式: XXX.children.add(), 如 TransfromGroup.children.add()

#12 各類型 WPF 畫布的使用技巧

介紹
1. StackPanel: 圖形會自動堆疊,不會重疊,可以設水平方向或垂直的方向

2. DockPanel: 設定圖形切齊panel 的方向,如切齊左邊,切齊上面等等,每張圖也不會重疊

3. 如何將 canvas畫出的圖 儲存在檔案中
a. inkCanvas 可以在範圍內用滑鼠或觸控裝置畫圖
b. fileStream 的應用


2.

轉錄C# 播放音效

使用 System.Media.SoundPlayer 類別

System.Media.SoundPlayer sp = new System.Media.SoundPlayer();
sp.SoundLocation = @"C:\Wave音效檔\DoReMe.wav"; /// 音效檔位置
sp.Play(); // 撥放

// sp.Stop(); // 停止


轉錄自

http://blog.blueshop.com.tw/HammerChou/archive/2006/12/04/46096.aspx

2010年4月21日 星期三

WPF 教學網站心得摘要 lesson 5 - 8

看完 微軟所提供的教學影片 所紀錄下來的心得摘要

網址
http://msdn.microsoft.com/zh-tw/netframework/cc963622.aspx

#5 神奇的筆刷 #2 – 漸層筆刷

1. 這裡介紹兩種筆刷,LinearGradientBrush和 RadialGradientBrush
2. LinearGradientBrush可以藉由設定 startPoint 和 endpoint 來決定漸層的方向和位置
3. RadialGradientBrush 可藉由設定 GradientOrigion 來決定放射的中心
4. button 的背景也可以使用(background 屬性)
5. GradientStop 屬性設定決定 顏色 和 順序


#6 神奇的筆刷 #3 – 使用 VisualBrush 技術製作螢幕放大鏡

1. 倒影特效
a. VisualBrush 設定 visual 屬性 來設定原圖位置
b. ScaleTransform 屬性 決定放大比例
c. TranslateTramsform 屬性 決定要將哪個屬性顛倒,此範例是y(上下顛倒)
2. 放大鏡範例
a. 要挖一個洞好讓滑鼠事件能夠啟動到目標的 視窗上


#7 千變萬化的 WPF 文字方塊 – 控制項的外觀控制

純文字方塊的倒影
a. 反射純文字方塊
b. 可以把一堆圖形放在 grid 中 一起反射
c. 外框顏色屬性、字體顏色屬性

#8 WPF 樣式與資源 #1 – 如何定義資源與套用樣式

1. 樣式分四種
a. 屬性設定
b. Trigger
c. 動畫
d. 樣板

2. 資源大致分幾種,有上下的關係


3. 定義方式 :設定 Resources 屬性
a. 設定 style 標籤,記得命名 和 設定TargetType ,如這裡的範例是 button
b. Setter 標籤 設定要變更的屬性, property and value
c. 呼叫屬性 binding 的方式 且 { StaticResource + "設定的名稱" }

4. triggers 的應用
  a. IsMouseOver
b. IsPressed

2010年4月19日 星期一

WPF 教學網站心得摘要 lesson 1 - 4

看完 微軟所提供的教學影片 所紀錄下來的心得摘要

網址
http://msdn.microsoft.com/zh-tw/netframework/cc963622.aspx

#1 如何建立、設計、執行與部署 WPF 應用程式與 WPF Web 應用程式

1. 分兩種執行方式

a. standalone -> 像 windows from 一樣,編譯後是一個exe 檔
b. XBAP -> 可產生一個由瀏覽器所執行的檔案,如ie , 編譯後是 .xbap 檔

2. 停用 ie 除錯
工具->網際網路選項->進階-> 停用指令碼除錯(ie 或 其他)
這樣就會 執行 這種 程式就會跑出 debug 的錯誤訊息

3. 主要架構
XAML -> ui 和相關動作事件
.cs -> c# 程式碼


#2 如何繪製與配置 2D 圖形介面

1. 繪圖的屬性介紹: stroke, fill
2. 若要在程式碼控制要 在 XAML 檔上 命名
3. 畫圖範例 曲線、三角形


#3 如何應用 WPF 圖形透明度、混色特效與滑鼠事件

1. 圖形的顯示順序(z order 是照XAML檔出現的順序),越早出現在越上層
2. opacity 屬性 可以調透明度,0~1
3. 要將window form 設成透明,就要設定比較多選項
a. opacity 屬性
b. allowstransparency 屬性 打勾
c. 不能有外框 windowStyle 設程 none

設成透明的缺點: 要自行撰寫移動物件和關閉物件的function

4. mounse event : move 和 down 的事件範例



#4 神奇的筆刷 #1 - 實心與影像筆刷

1. ImageBrush 的使用, 從檔案中的 如 bmp 圖檔當作背景顏色
2. 文字方塊也可以使用,背景(backgroud) 或 字體(foreground)
3. 屬性在XAML檔中有宣告過的話就不能重複宣告
4. ImageBrush 預設是將於圖自動放大到對應的大小,若不想這樣可以設定 viewpoint 和 tilemode 來避免

2010年4月16日 星期五

轉貼 HTML 保留字

以下轉錄 html 的 保留字

可以查詢 關鍵字 :Escaping Special Characters

相關網站
http://www.degraeve.com/reference/specialcharacters.php

http://code.google.com/intl/zh-TW/apis/gadgets/docs/fundamentals.html#Escape


不過一些像 > < && 等符號 可以用 CDATA 區段的方式 來告訴編譯器這不是標籤的

可參考


http://www.w3schools.com/xml/xml_cdata.asp

http://msdn.microsoft.com/zh-tw/library/ms256076%28VS.80%29.aspx

2010年4月15日 星期四

轉貼 servlet 本機讀取資料庫

簡單摘要以下網頁的說明

下載範例程式後,將資料放入 伺服器 的位置中
設定ODBC (控制台->系統管理工具 -> odbc)
就可以讀取範例的mdb檔裡的資訊


http://www.roseindia.net/jdbc/jdbcconnectivity.shtml


附註:

1. 連結 資料庫的code

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//Loading Sun's JDBC ODBC Driver
theConnection = DriverManager.getConnection("jdbc:odbc:emaildb", "admin", "");
//Connect to emaildb Data source

2. statement 連結sql 指令
Statement theStatement=theConnection.createStatement();

3. 查詢

ResultSet theResult=theStatement.executeQuery("select * from emaillists");
//Select all records from emaillists table.

4. 其他補充,範例沒有的 可以執行新增刪除修改的指令

其中 Statement 這個物件下的 executeUpdate(string sqlcommand)

sqlcommand 指令包含 insert, update and delete

以insert 為例

theStatement.executeUpdate("insert into emaillists values('a','a','a')");

就可以新增一筆

*executeUpdate(string sqlcommand) 會回傳一個int 0 表示失敗,1 表示成功

2010年4月12日 星期一

visual stdio 錯誤 ...devenv /resetskippkgs

在不知道原因的狀況下發生的問題,我猜是我不正常關閉或在更新visual stdio的時候關閉才發生的

打開專案就會出現一長串訊息 @#%$@... C9DD4A57-47FB-11D2-83E7-00C04F9902C1 .... devenv /resetskippkgs

debug 模組不見,而且 soultion explorer 也出現錯誤

解決的方式如下
進入 dos下
在 microsoft visual 的資料夾下 (2008 預設如下 C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\

輸入 devenv.exe /resetskippkgs

就會將設定重製


參考網址
andyDuck
plus now