- 2011/02/12 Sat
-
.NET Compact Framework の Compactっぷりときたら。マネージ WndProc を使用したコントロールのサブクラス化
http://msdn.microsoft.com/ja-jp/library/ms229681(VS.80).aspx.NET Compact Framework Version 2.0 には、コールバックのデリゲートを使用してネイティブ コードからマネージ コードを呼び出す機能があります。マネージ コントロールをサブクラス化して、対応するネイティブ コードからコールバックを受け取ることで、.NET Compact Framework では直接使用できない機能を持つコントロールを作成できます。
直接使用できない機能ってのが問題で、方法 オーナー描画リスト ボックスを作成する
http://msdn.microsoft.com/ja-jp/library/ms229679(VS.80).aspx.NET Compact Framework を使用してオーナー描画リスト ボックスを作成できますが、.NET Framework で作成する場合ほど簡単ではありません。.NET Compact Framework では、DrawMode、DrawItem、およびリスト ボックスやその他のコントロールの描画メンバがサポートされていませんが、それらの機能はプログラミングできます。
DrawItem どころかMicrosoft .NET Compact Framework ベースのイメージ ボタンを作成する方法
http://msdn.microsoft.com/ja-jp/library/aa446518.aspxたとえば、Button、ListBox、または Label などの多くの標準コントロールでは、 OnPaint イベントをオーバーライドして、 これらのコントロールにカスタム描画を追加することはできません。
OnPaint のオーバーライドすら。
OnPaint については方法 WndProcHooker クラスを使用する
http://msdn.microsoft.com/ja-jp/library/ms229658(VS.80).aspx方法 プラットフォーム呼び出しにヘルパー クラスを使用する
http://msdn.microsoft.com/ja-jp/library/ms229683(VS.80).aspx
でどうにかなるけど、DrawItem についてはもう MFC で書いたほうが早い気すら。
というか、確実にそっちのが早い。
うーん。Visual Studio .NET および Microsoft .NET Compact Framework の概要
http://msdn.microsoft.com/ja-jp/library/aa446534.aspx