月別アーカイブ: 2008年2月

WPF で WMP

チュートリアル : Windows Presentation Foundation での ActiveX コントロールのホスト

ココを見ている人の大半は興味があると思うんでリンク。
てゆーか試しているんだけーが上手くいかない…
上手くいったらなんか書くよ。

C# はもっと早くやっておくべきだったかなぁ?
とはいえ WindowsForm さえ昔の話になりそうな勢いだし。

それどころか IronPython で WPF が使えてしまうようだし…
これから .NET を学ぼうとしている人はいったい何を選べと。

Ruby.NETプロジェクトのリーダーがMSを支持 (1/2) – ITmedia エンタープライズ

コッチはなんだかよく解らないコトになっています。
どっちでもいいから進んでくれと願う。

そんなこんなで昨日は IronPython と XAML の本を探しに近場の本屋に。
一つも無い…来週は名駅の十一階に行ってくるか。

てか雑誌コーナーを見て吹いた、○トランって…
この会社じゃ新雑誌企画会議でこんなアイデアしか出ないのかなぁ。
もはや CMAGAZINE の復刊は絶望的だと感じた今日この頃であった。

WPF に挑戦

よし、WPF に挑戦するぞと。
そういえば .NET 3.5 ならグラス効果をマネージしているのかな?

WPF アプリケーションへのグラス フレームの拡張

アンマネージのままなのね…
でもこれ v8.0 のヘルプだからもっと探せば見つかるかなぁ?

つーか間違っているぞこのコード。
System.Drawing 名前空間は WPF から参照できないヤン!

まあそりゃ System.Drawing は GDI+ のラッパーだから当然なのだが。
WPF は DirectX を直接呼んでいるっぽいし。

まあいいや、チト書き換えて実験しよう。

using System.Runtime.InteropServices;
using System.Windows.Interop;
をお忘れ無く。

つーか System.Windows.Interop; がデフォで付かないって何故?
これが無いと WPF で作成したウインドに対し何もできんわな。

ところで VS2008 ののコピペがとってもインテリジェンスなのに感動した。
全自動でインデントを合わせてくれるじゃん、後で直す必要が無い。
C# 編集では前からなの?C++ と HTML しか使わなかったのでよく解らない。

しかし宣言ミスとかでミミズマークが付く機能はリアルタイム監視じゃないのね。
Visual Web Developer はリアルタイムで指摘してくれるので調子が狂う。

例の文字列表示の発光効果は Label のプロパティで簡単に作れる。
BitmapEffect を OuterGlowBitmapEffect にして色を選ぶだけ。
描写負荷は軽くなっているのかな?実験してみないとなんともいえない。

mainWindowSrc.CompositionTarget.BackgroundColor = Color.FromArgb(0, 0, 0, 0);

の部分がどうしても気になるんだが。
SDK の時は真っ黒を指定なんだが、これじゃ完全に透明だ。

wpf01.png

ほらやっぱり…
てか本当に完全な透明だ、動かしたらキチンと背景どおりに変わる、なんだこりゃ。
試しにアルファ指定を 255 にしたら半透過部分も普通に黒くなってしまう。
むー、WPF は今までと全然違う考え方でウインドを作る必要がありそうだ。

なんか Cinema を作って勉強したことが全部無駄になってしまいそう…

Flash 再生

VS2008 の使い勝手を調べるのに試しに Flash 再生をば。
新規でまず普通に Win32プロジェクトを適当な名前で作り stdafx.h に…

なんじゃこの targetver.h っつーのは、分離する必要があるのか?
ココを弄くるとリビルドしなきゃいけないのでややこしくなるだけだと思うが。
まあそれはよくて。

#pragma comment(lib,”Atl.lib”)
// TODO: プログラムに必要な追加ヘッダーをここで参照してください。
#include <atlbase.h>
#import <C:\\Windows\\System32\\Macromed\\Flash\\Flash9d.ocx> named_guids raw_interfaces_only

を追加、ocx の名前は私はこうなっていたけどどうなんだろう?

と書いていたトコで Ctrl+C が急にまったく使えなくなってしまい困った。
再起動しようとすると更新アイコンが、こんなにコッソリ更新すんなボケ!
VS2008 では使えなくなったかと思ったヤン、まあそれはよくて。

ソース先頭にお約束を記述
using namespace ShockwaveFlashObjects;

ShockwaveFlash オブジェクトのポインタを用意しておく。
IShockwaveFlash *pSwf;

んでもって下記のコードを追加してビルド、完成。
swf ファイルは自分で用意してパス指定してね。

atl01

だけどコレだけじゃ atl が使えないので
C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.ATL
に atl90.dll があるので生成された exe と同じフォルダに放り込む。
それだけで swf は再生可能。

atl02

コードギャーは気にしないでくだされ、手元にコレしか無かっただけです。

flv の再生は読み込んだ swf から ActionScript とかで読み込んで再生させる。
というわけで Flash 作成ツールが必要なのね、、、、、

一太郎安すぎる

そういえば他に ATOK 2008 も買う予定であった。
パッケージなんて邪魔なだけだからダウンロード版にするのだが…
発売日が Visual Studio 2008 と同じ、何故重なってくれるのやら
一気にお金が出て行くのは勘弁してほしいわな。

しかし気がつくと市販や統合アプリしか使わなくなってしまった。
窓の杜 – 【このソフト作った人はどんな人?】第9回:「EmEditor」「EmTerm 95」の作者、江村 豊さん
長くこの業界をやっているとそうなってしまうよね。
古い考え方で制作したアプリや単機能アプリに興味すら無くなってしまう。

まあ Windows でフリーソフトばっか使っている間は完全に初心者だ。
永久にエンドユーザーでかまわないのなら別にフリー万歳でよし。
私はそうなりたくないから投資をするのであるし。

しかし…

Just My Shop

たったのプラス三千円で一太郎 2008 が手に入るってどういう値付けだ?
これじゃどっちがオマケか解らないわな。

どうしよう?安いしせっかくだから買っておこうか。
バージョンアップだけの為にに金を払うのもなんか嫌だし。

でも印刷なんか全然やらない私はワープロなんて結局は必要が無い。
dynabook に付いていた Word も結局使い勝手を調べただけで眠っている。
ようするに買ったところで使わない可能性大。

でも一太郎にはアウトラインフェーズとか興味津々な機能がある。
使いこなせば関連する複数の文書を一つのファイルに収納とかがやれそう。
今まで散々期待を裏切ってくれたアプリ等々を忘れさせてくれれば素敵だ。

…とも言えるんだが経験上その期待は完全に裏切られて終わる。
新たな考え方は軽視か無視され需要が大きいほうに合わせて進化してしまう。
突き詰めると資本主義最大の欠点なのだが事実はどうにもならない。

実際ソレが Visual Studio 一つで可能なら一番嬉しいんだけどね。
やっぱり統合アプリにしか興味が無い私であった。

と、あれこれ考えるよか買ってしまえ!
買って失敗だとしても損失はたった百五十枚分だ(何の?
超多機能なんだから使い方は後で考えればいいと思うし。
新しい考えのアプリを作るヒントになれば更に嬉しい。

でも一気に色々なアプリをインストールすると不安定にならんかなぁ?
VS2008 を弄くっていたら久々にブルーバックを見た、まあ完成したばかりだし。
でもよく考えたら久々か、Vista も大分安定してきたね。

VS2008 すげぇ

Visual Studio 2008 Professional をインストール。

スッゲェ!

何がスゲェかってインストールするのに一時間以上掛かった。

Vista の時よか長い、こんなに待たされたのも初めてだ。
更に MSDN のインストールに三十分、恐るべし。
そのインストール最中に自動更新が…勘弁してくれ。

それにまず箱の開け方が解らなかった…

まあ終わってしまえばそれはエエわな、さて試すか。
なんか起動が恐ろしく遅くなったような…

あれ?2005 は残るのね。
残す必要がイマイチ不明なんだが保険にはなる。

Cinema のソリューションを変換してビルドしてみる。

wp64

…64bit 互換の警告は無くなるんかい。
まあ互換用ヘルパー関数は使い物にならなかったので結果そうしたと考える。
警告が出ないよう一生懸命コーディングした努力が無駄になった。

上に他のウインドが被さった状態でデバッグ終了すると被さっていた領域が更新されない問題は直っている。
一番気になっていたことなのでソレだけで嬉しい。

つーか Visual Web Developer はゴロッと変わっている。
プロパティの内容が全然違う、逆にインラインスタイルはどうやるの?
PHP を強引に GUI 編集するのには「エンコード付き HTML エディタ」に変更しなきゃ駄目みたい。

WPF は…C++ からは使えないんかい!
C++ から .NET を使う人はやっぱりいなかったということなのだろうか?
まあ以前から Web 関連が無かったのだから当然かも。

とりあえず軽く試して気になったこと、細かいところは次回。