2009-02-01から1ヶ月間の記事一覧

ミューティックスの所有権を同じスレッドから何度も得ようとするとどうなるか

題名からしてわかりにくいので、まずはそれについて説明。 Mutex(ミューティックス)は同期オブジェクト(synchronization object)の一つです。 これの所有権を得るにはWaitFunctionsと呼ばれる関数(*1)を呼び出し、所有権を解放するときにはReleaseMutex…

マウスのホイールの回転とWM_MOUSEWHEELウィンドウメッセージ

わりとメモのような位置づけです。 ソースはMSDN。正確でより詳しい情報を知りたい場合はそちらをお読みください。 概要 WM_MOUSEWHEELはマウスホイールが回されたときにフォーカスを持つウィンドウに送られる。 DefWindowProc関数(デフォルトウィンドウプ…

基盤は出来上がりました

アニメGIFを表示できるようになり、ドラッグアンドドロップにも対応して、これから感覚で操作できる自由な拡大機能を実装する予定。スクロールで拡大縮小、原寸大表示(クリックしたままドラッグすることで移動できる)など。 画像を表示している部分がディ…

マルチスレッドSDIとは何なのか

WTL

SDIについて WTLのアプリケーションウィザードでSDI, MDI, マルチスレッドSDI, 他色々を選択できます。 IT用語辞典 e-Wordsによれば、SDIはメモ帳で、MDIはExcelのようなウィンドウです。Excelは1つの親ウィンドウが、複数の子ウィンドウそれぞれに1枚ずつシ…

GDI+の初期化と終了 その2

要約 以前に書いたやつにエラーチェックを加えました。 このクラスはコンストラクタで初期化処理を行い、デストラクタで終了処理を行ってくれる優れものです。Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)作者: スコット・メイ…

IEのアニメGIFの再生速度について

IEは表示時間を微調整する GIFアニメ再生速度テスト用の画像を作成の下のほうに色々とまとめられています。 活動漫画館式動画講座やGIFアニメの速度についてを見ると、やはりIEは待機時間(delay)に限度を設けているらしい。(やっぱ独自仕様ってやつね。…

IEコンポーネントじゃ画像の拡大縮小ができないじゃん

IEコンポーネントじゃ拡大縮小できない ただしソースはソニー。IEの拡大縮小は、IEコンポーネントではなく、IE独自の機能らしいです。 実際、IEコンポーネントに該当するメソッドが見当たりません。 Explorerの画像ビュアーの機能は最低限実装したいと思って…

本日の成果

というかメモです。 GDI+で画像ビュアを作ろうとしてアニメGIFの表示で挫折し、IEコンポーネントでビュアを作っています。 以後、このビュアに関する話題では ビュア というタグをつけます。 WTL関係のエラーの解決策 error C3861: 'SetMsgHandled': 識別子…

GIFのまとめ

アニメGIFについての技術的なまとめです。 自前で表示するコードを色々書いたのですが、表示のタイミング(各コマの表示時間)が明らかに合わなかったり、そもそも未熟で上手く書けない、そしてなによりも同期オブジェクトやスレッドに嫌気が差しました。 GIF…

アニメGIFの各コマの待機時間を調べるコード

コードじゃなくてソフトがほしい方へ Giamというソフトがおすすめです。もちろん僕の作品じゃないですけど。Windows向けです。 http://homepage3.nifty.com/furumizo/giamd.htm 本題 GIFの細かい仕様は何となくわかったけど、それはまた今度。 フレーム,ディ…