« 2010年10月 | トップページ | 2010年12月 »

2010年11月

2010年11月28日 (日)

ファイルに関連づけされたアイコンをImageクラスで取得

アイコンネタ第2弾です。

アイコンをコントロールに表示する場合、

  1. Image を直接指定する方法
  2. ImageList を指定して、ImageIndex を指定する方法

があります。

続きを読む "ファイルに関連づけされたアイコンをImageクラスで取得" »

2010年11月25日 (木)

システムイメージリストを使用したアイコン表示(2)

※2011/03/27 kurimu さんからの御指摘内容を本記事に反映させました。

さて前回、システムイメージリストのハンドルを取得して、ListView への登録を行なうところまで実装しました。今回は実際にアイコンを表示させます。

続きを読む "システムイメージリストを使用したアイコン表示(2)" »

2010年11月23日 (火)

システムイメージリストを使用したアイコン表示(1)

今回から、しばらくアイコンネタを続けます。
第一弾として、エクスプローラでファイル名と共に表示されるあのアイコンを、C#アプリケーションの ListView 内で実現するやり方です。

続きを読む "システムイメージリストを使用したアイコン表示(1)" »

2010年11月21日 (日)

Sandcastle 日本語ローカライズ情報

今まで見逃していたのですが、

http://oss-ja-jpn.sourceforge.jp/

に、Sandcastle 関連の日本語化が行われたものが配布されています。
現時点では以下の3つがあります。

タイトルリリース日
Sandcastle MSI (26202-ja0) 2010-06-17
Sandcastle 日本語メッセージ (1803-ja1) 2010-06-16
Sandcastleヘルプファイルビルダ (1803-ja1) 2010-06-16

調べてみたので、書き残しておきます。

続きを読む "Sandcastle 日本語ローカライズ情報" »

2010年11月16日 (火)

マネージドDLLの動的リンク(4)[最終回]

前回の最後で触れた様に、今回は、

  1. 「マネージドDLLの動的リンク(2)」で使用したハイブリッド型にインターフェースを加えて使用する方法
  2. 「マネージドDLLの動的リンク(3)」で使用したサブドメイン利用型でインターフェースを使用しない方法

について、研究します。

続きを読む "マネージドDLLの動的リンク(4)[最終回]" »

2010年11月14日 (日)

マネージドDLLの動的リンク(3)

マネージドDLLの動的リンク(2)の続きです。
前回、ハイブリッドタイプにする事により、動的リンクを実用的な範囲にする事ができましたが、今回は別の動的リンクによる方法を研究し、どちらが優れているかを検討したいと思います。

まずはじめに、今回の動的リンクの方法の元ネタとなったところを示します。
@IT > 旧@IT会議室 > Insider.NET > 動的DLLの解放について
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=46665&forum=7

ここで示されているプログラムはVB.NETですが、リンクしたDLLを開放する事が可能になります。前回示したAssembly.LoadFileによるリンクでは、一度リンクしたらアプリケーション終了まで開放出来ませんから、その点でメリットを感じる場合もあるでしょう。

続きを読む "マネージドDLLの動的リンク(3)" »

2010年11月12日 (金)

マネージドDLLの動的リンク(2)

マネージドDLLの動的リンク(1)の続きです。
前回、直接 SharpZipLib を動的リンクして使用するのは、使い方にもよるものの、非現実的だと結論づけました。今回は、SharpZipLib のラッパークラスを作成し、ラッパークラスを動的リンクする事について考えてみます。

続きを読む "マネージドDLLの動的リンク(2)" »

2010年11月11日 (木)

マネージドDLLの動的リンク(1)

以前にアンマネージドDLLの動的リンクについて述べましたが、マネージドDLLの動的リンクはどうやるのかについて書きます。

アンマネージドDLLの動的リンクは、統合アーカイバプロジェクト関連のDLLの使用が目的でした。一方、マネージドDLL として、ZIP書庫を操作できる SharpZipLib というのが公開されています。この機能調査も含めて、動的リンクをしたらどうなるかも一緒にやってみました。

第1回目のこの回では、まずオーソドックスな方法(?)による動的リンクを使った方法に関する記事とします。

続きを読む "マネージドDLLの動的リンク(1)" »

2010年11月 8日 (月)

処理時間の計測

簡単な事ですが、必要なときにすぐに見れる様に、覚え書きとして残しておきます。

DateTime startTime = DateTime.Now;
(計測したい処理)
TimeSpan tp = DateTime.Now.Subtract(startTime);
Console.WriteLine(tp.TotalSeconds);             // 処理時間を秒単位で表示

Console.WriteLine は、通常のフォーム付きアプリケーションでも、メニューの「表示」-「出力」で、表示されるウィンドウに出力されるので結構便利です。

(11/9 追記)
.NET Framework 2.0以降なら、Stopwatch クラスが使用出来るので、これを使用した場合も書いておきます。

System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start();
(計測したい処理)
sw.Stop();
Console.WriteLine(sw.Elapsed.TotalSeconds);

続きを読む "処理時間の計測" »

2010年11月 4日 (木)

「ファイルを開く」「名前を付けて保存」ダイアログのコントロールID

「フォルダの参照」ダイアログのコントロールID に続いて、「ファイルを開く」ダイアログのコントロールID も調査したので、覚え書きとして残しておきます。残念ながら、Windows 7 は未調査です。またVista は、日本語版を所有はしていますが、PCにインストールしていないので、VirtualPC用のVistaバーチャルディスクイメージをダウンロードして調べました。その為、英語版ですが、御勘弁を。

なおコントロールID は、WindowsAPI の GetDlgItem を使用すれば、そのコントロールのウィンドウハンドルが得られます。ウィンドウハンドルが得られれば、そのコントロールの各種制御や情報取得が出来ます。

※記事中は「ファイルを開く」ダイアログの図しかありませんが、「名前を付けて保存」ダイアログも全く同じコントロールIDである事を確認しています。
※灰色テキストのコントロールは、非表示状態にあるコントロールを示します。

続きを読む "「ファイルを開く」「名前を付けて保存」ダイアログのコントロールID" »

2010年11月 3日 (水)

Sandcastle を使用したドキュメント作成(2)

Sandcastle を使用したドキュメント作成(1)の続きです。

まずはお詫びから。前回使用した bnote の「Sandcastleでドキュメントを作成する」 からダウンロードしたバッチファイルですが、オリジナルである %DXROOT%\Examples\sandcastle\build_Sandcastle.bat を多少手直ししたものと思っていたのですが、結構違いました。Sandcastle のバージョン差異によるものでしょうか。とにかく、本来と動きと違うことが判明しました。オリジナルの方をそのまま動かしても、ヘルプの文字化けは発生するのですが、XMLコメントの内容が反映されない点は、解決しましたので報告します。

この回の記事は全面書き直しと記事アップロードの遅延となってしまいました。申し訳ありません。また、前回記事もこれに伴い、これから修正を入れる予定です。

続きを読む "Sandcastle を使用したドキュメント作成(2)" »

2010年11月 1日 (月)

Sandcastle を使用したドキュメント作成(1)

Sandcastle の現在の最新版は http://sandcastle.codeplex.com/ にある様です。ちなみに現時点での最新バーションは、June 2010 Release(Version 2.6.1062.1)です。また、その前のバージョン May 2008 Release(Version 2.4.10520) もダウンロード可能です。
また、Sandcastle のフロントエンドツール、Sandcastle Help File Builder は、http://shfb.codeplex.com/ にあり、現在の最新版は v1.9.1.0 ですが、前のバージョンはダウンロード出来ない様です。実はこの最新バージョンはインストール時に .NET Framework3.5 を要求します。私の開発環境は、WIndows2000なので、そもそも.NET Framework3.5 自体インストールできません。そういう訳で、今回 Sandcastle Help File Builder の使用は見送りました。

続きを読む "Sandcastle を使用したドキュメント作成(1)" »

« 2010年10月 | トップページ | 2010年12月 »