Spy++ で WPF

何を今頃の話。

Visual Studio Tools の Spy++ でちっとウインドウ検索していた。
これって UAC に引っかかるのよね、そんな大げさなアプリとも思えないけど。

ちっと思いついて SeeMe にファインダツールをドロップ。

えっ!WPF で作ったアプリには親ウインドも子ウインドも何も無いってこと???

意味不明の若い人へ説明すると…解説が難しいなぁコレ。
Win32 API で作ったウインドウはボタンやラベルも全部ウインドウである。
なのでメインウインドウにボタンがあったらボタンは子ウインドウということです。
ウインドウハンドルを持つモノは全部ウインドウ…ということで解るかな?

ソレが一つも無いということは全部ペンやブラシで描写しているのと同じコト。
ちなみに Y901 のコントローラボタンがそうやっているのでコレも当然ウインドウではない。

そういえば WPF は DirectX で描写していたんだっけ、これは「なるほど」という感じ。
.NET Framework が一番の親に居ると思っていたんだけど違っていた。
いったいドコまで今までと考え方を変えなければいけないのだろう?

もう一つ思いついて Explorer のリストビューにファインダツールをドロップ。

あれ?このリストビューって SysListView32 クラスってことなの???
解る人には解るとおり Win32 での「今までの ListView 」と同じっていうこと。
なのにこの描写、あぁワケワカになってきたぞ!

てっきり WPF と同じ方法で描写を実現かと思っていたが普通のウインドそのもの。
「何か」をやれば Win32 で作った ListView もこの「なめらか描写」に出来るってことみたい。
公開されなきゃどうにもならんが、なんか Vista って本当に難しい。

他人の動画プレイヤー

他人の動画プレイヤーを宣伝。
っっってォイ!マジでやる気ゼロかよ。

DMediaPlayer – Simple VLC frontend – Home

というのをネットをウロウロしていて見つけた。
驚いたことに C# 製だ、よくぞ C# でこのアレな業界に挑戦しようと思ったものだ。

技術的興味だと思うんだけどね、私はそんな勇気なんて無いから SeeMe から .NET 化したわけで。
WPF を絡めないとエンドな人は .NET な時点で興味どころか徹底的に嫌ってくれると解っているもの。
とはいえ WPF を絡めても Vista が普及してくれないと…

VLC media player – Overview のライブラリを使って再生するアプリらしい。

libvlc.dll が必要であるようだ、しかし libvlc.dll だけでは動かない。
なので VLC をインストールしているディレクトリに直接コピーして試してみる。
まぁ書くまでもなく VLC クローン、WMP コントロール貼り付けアプリと同じってことだね。

D&D 未対応…
なのに「開く」ダイアログは拡張子ごとの指定…
しかも前回の指定を記憶しないって…

Linux ならコレでもイイが Windows のユーザーって選択肢が多いから手厳しいよ…
でもこのインターフェイスは本物 VLC に違和感が消えない人の救世主になるかもしれない。
但し Vista ではボリュームバーがチカチカしてウザいぞ!

とりあえず「今後に期待」かな。

なんにせよオープンソースなので参考にはなる、メタボリックにならないことを祈るが。
C# なので Mono で…略。

こっち方面の作者はソースコードくらいは見ておいたほうがよさげ。
どいつもこいつも開店休業してんじゃネェよコノヤロウ!

そういう私も Cinema が止まっているが、そろそろ更新するか。

Visual Studio SP1 変更点抜粋 2

VC++ も実は若干改良されているようだ。
忘れられていなかったのは嬉しい!

VS2008 にしてから C++ のビルドで初回のリンク時によくコケていた。
その現象がとりあえずまだ一度も起こっていない。
修正してくれたのか?それともタマタマなのかは現在解らない。

TCHAR マクロでもまともなコード補完が出るようになった。
今までは普通に無視されていたのでこれで TCHAR を使うのが楽になる。

今となっては TCHAR を使う意味はあるのか?は別の話ということで。
それと細かいことだがグローバル関数とかの参照に使う先頭セミコロン2つ

::SendMessage

とかを打つ時に一端カーソルが先頭に移動する妙な動きも改善されている。

これくらいかな…
リソースエディタを開いた状態で終了すると全部閉じてしまうのは変わっていないなぁ…

Visual Web Developer の変更点は…解らない!
ASP.NET を使っていないのでまあ。
Visual Basic は起動したことすら無いので解るはずが無い。

Visual Studio SP1 変更点抜粋

Visual Studio 2008 および .NET Framework 3.5 Service Pack 1

WPF デザイナにおける改善内容の詳細が見つからないので自分で使って探してみる。
SeeMe のプロジェクトを開いて少し弄くってみた。

ぱっと見だけでは何も変わっていない、あれ?
なんかやたら区切り線が表示されるようになった以外は大きな変更は見あたらない。

しかし細かく見ていくと色々変わっている。
すぐに解るのがプロパティウインドが変更になってイベント定義とかが可能になった。

正直 XAML で直書きしたほうが書きやすいような…慣れちゃったし…

ソースビュー状態でもプロパティウインドが使えるようになった。
プロパティウインドに変更を加えるとソースに XAML コードが反映される。
これも微妙だがどんなプロパティがあるのか確認しやすいので嬉しい。

ListView に Header を追記するとデザイナに表示されるようになった
前からだっけ?我がブログのココを見ると以前はできなかったと思うけど。
ぱぇぽぃ2 ? Blog Archive ? 久々のWPF

今までは TabItem を追加しても最初のタブ内容しかデザイナ表示できなかった。
それが見えるように改善されたのが本当に嬉しい、かなりデザインが楽になる。
SeeMe を作った時は何も見えない状態で後ろのタブをコーディングしたんだもの。

自分が現在解る範囲ではこんなところ。
もっと Expression Blend っぽくなると期待したけどまあこんなもんか。
確かに改善はされているのでヨロシ。