So-net無料ブログ作成
QLOOKアクセス解析

PowerShell で Winform を使う:イメージデータの読み込み [PowerShell]

PowerShell で Windows Form (WinForm) を用いた GUI を作成するときの書き方の例です。
.NET Framework に詳しい人には当たり前の操作だと思いますが、PowerShellでの記述例が見つけにくかった部分を忘れないように書いておきます。
MSDNのこのあたり
http://msdn.microsoft.com/ja-jp/library/haf2a2zb(VS.80).aspx
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.treeview.imagelist(VS.80).aspx
を見ればわかるのですが PowerShell での記述例が無いので、どう書けばいいのか、また少し悩んだところです。

ビットマップファイルを読み込んで TreeView のアイコンとして利用する例
(PowerShell in Action の winform.ps1 内の関数も利用)

# まず ImageList を作成
$imageList1 = new-object System.Windows.Forms.ImageList

# アイコンのサイズを指定
# (winform.ps1 より) function size {new-object System.Drawing.Size $Args} を利用
$imageList1.ImageSize = size 16 16

# ファイルからイメージデータを追加 (フルパスで指定)
# ファイルの場所は $myd に入っているものとする
# スクリプトファイルとと同じ場所なら
# $myd = & { Split-Path $myInvocation.ScriptName }
$imageList1.Images.Add([Drawing.Image]::FromFile((Join-Path $myd "icon-00.bmp")))
$imageList1.Images.Add([Drawing.Image]::FromFile((Join-Path $myd "icon-01.bmp")))
$imageList1.Images.Add([Drawing.Image]::FromFile((Join-Path $myd "icon-02.bmp")))

# TreeView を作成
# (winform.ps1 より)
#function Form ($control,$properties)
#{
# $c = new-object "Windows.Forms.$control"
# if ($properties)
# {
# foreach ($prop in $properties.keys)
# {
# $c.$prop = $properties[$prop]
# }
# }
# $c
#}
# を利用
$TV = Form TreeView @{
Anchor = "top, left, right, bottom"
}

# イメージリストを指定
$TV.ImageList = $imageList1



nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

メッセージを送る
人気ブログランキングへ
 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。