ドラッグ&ドロップに関して少し整理。
D&D でファイルを受け取ることができるだけでよい場合は、DragAcceptFiles() を呼ぶか、拡張ウィンドウスタイルに WS_EX_ACCEPTFILES を指定することで D&D を受け付けるようになる。WM_DROPFILES を受けて、DragQueryFile(), DragQueryPoint(), DragFinish() を呼び出し、ファイル名などを取得する。
D&D 中にも反応を返すなど、複雑なことをしたい場合は、OLE D&D に対応することが必要。OleInitialize(), OleUninitialize(), RegisterDragDrop(), IDropTarget, DoDragDrop(), RevokeDragDrop() などがキーワード。OLE D&D の簡単な実装例としては、COM研究室 - Chapter.7 IDropTargetとOLEドラッグ&ドロップなど。
リストビューで D&D を処理するには、LVN_BEGINDRAG 通知を受けて処理を開始する。処理は自前で記述する必要あり。
おとといのクリップボードの文字列から書式を取り除くソフトを探してみた。クリップボード内の文字列から書式情報を取り除けるソフト「Clip PlainText」というものが見つかったが、これではなく、1〜2ヶ月前にも窓の杜で同じようなソフトが紹介されていた記憶がある。しかし見当たらない。
自分でもちょっとテストプログラムを書いてみた。GetClipboardData() のあと、EmptyClipboard() をしてから、SetClipboardData() を呼べばいいようだ。EmptyClipboard() を呼ばないと書式はそのまま残ってしまう。(クリップボードは複数の種類のデータを同時に格納できるらしいので、そうなるのだろう。)
bregonig で検索してみたところ、「小説を炊くスレ」の No.215 に、ちょっと気になる書き込みを発見。
[215] Au1a :vQT4 :2006/12/31 23:56:29 speeeeedとbregonig.dllを使う上での問題点やその回避方法などをまとめてみました。 バグらしいものもあるし、エディタの置換よりもperlなんかに近い部分もあるしで、 読んでおくと余計な手間が省けるかと思います。 spe5d_tips.zip (2.62 KB)
とりあえず spe5d_tips.zip をダウンロード。バグかどうかの確認はまた後で。
Virtual PC 2007 が公開されたのでダウンロードしてみた。Win2k にはインストールできなかった。1年くらい前から MS は、Win2k を切り捨てにかかっているようだったが、ますます拍車がかかってきたようだ。
WinXP 向けの .manifest ファイルを .exe に埋め込む方法を調べてみた。とりあえず見つかったのが「MANIFESTファイルを実行ファイルに埋め込む」など。
VC6 の場合は、RT_MANIFEST と入力すると、文字列になってしまう。数値で 24 としておくと良さそうである。(この値は winuser.h で define されている。)
久しぶりに、smmp の開発を再開。懸案だったプレイリストの内容の整合性が解決できた。smmp が保持しているプレイリストの内容と、プレイリストウィンドウのリストビューが保持しているデータの整合性を取るのがめんどくさそうだったので放置していたのだが、仮想リストビューを使えば簡単になるということに気付いた。(keywords: Virtual list view, LVS_OWNERDATA, LVN_GETDISPINFO)
昨日買ったマウス、他の店で \4,580 で売られていた。ショーック!
先週電子辞書を買ったときのポイントで、ワイヤレスのレーザーマウス V450 を買ってしまった。\5,480 なり。
ちなみに、今まで買ったワイヤレスマウスは、
27MHz の 2つは電波到達距離が短い上に、操作もしていないのに勝手にスクロールしたりなど誤動作がしばしば発生する。また、1. と 2. は、マウスがオートパワーオフになったとき、復帰させるためにクリックやホイールを回すと、その操作が OS に伝わってしまうのが非常に鬱陶しい。2. は机からマウスを 1cm 浮かせてもカーソルが動いてしまうのも鬱陶しい。3. は、マウスを動かすだけでスタンバイから復帰するが、復帰までのタイムラグが気になる。
V450 はマウスを 2mm 程度浮かせてもカーソルが動いてしまう。多少気にはなるが、RaFeel に比べればかなりましである。レーザーなだけあって、普通の光学マウスよりはカーソルの動きは良い気がする。時々クリックが効かないことがある。何なのだろう。電池は単3を2本使用するようになっているが、マウスは少しでも軽い方がいいと思うので、単4の NiMH をアダプタを付けて使うことにしてみた。ただ、普通の NiMH だとマウスの消費電力より自己放電の方が多そうなので、eneloop を使うことにした。
センサー部分を撮影してみた。
撮影のサンプリング周波数との関係か、レーザーが一定周期で明るくなったり暗くなったりするのが見えた。RaFeel とは異なり、光はほとんど広がっていない。また、レーザーの明るさ自体も RaFeel に比べるとかなり暗い。ちなみに RaFeel のセンサー部の写真は、2005/11/20を参照のこと。
Word で作った文章を、Word Viewer で見ると半角英数が汚いのが気になっていた。使われているフォントを調べると、Century というフォントだった。Century は WinXP には標準では入っていないようだ。代わりに別のフォントで表示されていたために表示が汚くなっていたようだ。MS Office が入っているマシンから century.ttf をコピーしてくればきれいに表示できるようになるのだろうが、ライセンス的にあれなのでやめておこう。
Century フォントでググってみたところおもしろそうな記事を見つけた。「一歩上いく英文履歴書の書き方、使い方 第4回 履歴書のフォント選びは難しい」 欧米ではビジネス文章では Times New Roman がよく使われるらしい。対して、Century は「『日本人は、なぜこのフォントを使うのか』と、欧米人には理解できない英文フォント」だそうだ。
XD-SW6400 を \32.8k の 20% ポイント還元で購入。1 - 1/(1+0.2) = 0.166 なので、実質約17%引き。
電子辞書を買いたいと前から思っていたが、自分が関わった製品が載ったものが出たので買うことにした。
Vista 発売を受けて、今までの DDK に代わり、Windows Driver Kit (WDK) というものが公開された。2.4GB の ISO ファイルという点がなかなか驚きである。一体何でこんなにもでかいんだか。とりあえずダウンロードはしてみたが、インストールはしていない。
そういえば、Vista からは個人でデバイスドライバを作ることは不可能になったに等しいようだ。実につまらない。
先月の spam メールの集計結果。着信拒否にならなかった spam が少なくとも 1773通。そのうち、@nifty の迷惑メールフォルダーでも Spam Mail Killer でも spam として認識できなかったものが 3通(0.2%)。@nifty の迷惑メールフォルダーの学習をリセットしたが相変わらず馬鹿だ。