そろそろやってみる?

ListViewヘッダのフォントを大きくしたいとか言われたので。
それは、こんなんで良いんじゃないでしょうか?

[DllImport( "user32.dll", CharSet = CharSet.Auto, SetLastError = true )]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);

public static void SetHeaderFont(ListView listview, Font font)
{
    const int WM_SETFONT = 0x0030;

    IntPtr hwndHdr = SendMessage( listview.Handle, ( 0x1000 + 31 ), IntPtr.Zero, IntPtr.Zero );

    SendMessage( hwndHdr, 0x0030, font.ToHfont(), (IntPtr)1 );
}

まあ、もっと凝りたかったらNativeWindow継承したHeaderControlなクラスを作って、そこにListViewから取得したヘッダのハンドルをAssignHandle()して、後はWndProc()のoverrideでもしてくださいな、ってところで。


…っというか、Windows Formsで小細工みたいな事もいい加減いいかと思うので、そろそろ仕事でもWPFしていきましょう(≧▽≦)ノ、ってなカンジの今日この頃。


Expression Blendも触ってみたりしたけどね〜(´ー`)
お絵かきツールが得意なわけでもないので、むしろチマチマXAMLを書いている方が性に合うかもヽ(´ー`)ノ
昔からCEのアプリなんかを作る際には、いかにもDialogな画面を作るのではなく、カコイイ感じのUIを作るために、1枚ウインドウにRectangleやEllipseしたり、マウスイベントも自前で拾ってHitTestしてイベントあげたりみたいなことをしていたので、こういうUIの作り方も特に違和感は無いんですけど。


で、とりあえずWPF関連の本もちゃんと読んでおきたいな〜、っと思ったり(・∀・)
情報はネットの記事でという今の時代でも、自分はとりあえずちゃんとした本を1冊読むところから始めたい人だったりするので。*1


WPF関連の本というと、随分前にコレを読んだだけですが、これは昔の内容ですしね(´・ω・`)

Windows Presentation Foundationプログラミング

Windows Presentation Foundationプログラミング

後はこのあたりがあるだけですが。
XAMLプログラミング WPFアプリケーションの概要と開発

XAMLプログラミング WPFアプリケーションの概要と開発

Windows Presentation Foundation プログラミング入門

Windows Presentation Foundation プログラミング入門

朗月堂で立ち読みした本もあるんですけど、イマイチ食い足りないというか、もっとガッツリした内容の本が出ないかな〜、というところデス。
洋書だとApressだとかWroxがあるんだけどな〜(´д`)
後、3Dどうこうはどうでも良いので。
COOLなUIを作るためのパターン集やTips本はあっても良いんだけど、そんな本が出てくるのは何時になる事やら(´ω`)

*1:Windowsプログラミングを始めるなら、まずはプログラミングWindowsを嫁、みたいなカンジで。