2012-01-01から1年間の記事一覧
毎回楽しみにしてるヌメロンだが、 相変わらず番組解説の検証がデタラメなので残念だ。特に今日はグランドチャンピオン大会準決勝という重要な試合なのに、 村上VSマリエのマリエの3ターン目のコールで2択に絞られたとかデタラメな解説をしている。普通…
宇宙誕生のイメージとして、よくビッグバンの1点から3次元的に膨脹したかのように表現された イラストを目にするために、まるで宇宙に中心が存在するかのように錯覚してしまうのだが、 実際は3次元空間も宇宙誕生と共に誕生したので宇宙には中心がないの…
概要 テキストビュワーができました。但し、開くときの文字コードチェックが遅いのであとで改良します。 一度開いてしまえば、表示は速いですから。 1文字でも表示できない文字が入ってたらエラーではじいてるんですが、 ファイルサイズがでかいやつは、先…
概要 きのうテキストビュワーのテストしてたら、文字化けするテキストファイルがあったので調べたら文字コードが UTF-8 だった。 そこで変換方法をググって見たが、なかなかそのものずばりのサイトが見つからなかった。 仕方がないから UTF-8 の仕様を調べて…
概要 バイナリビュワーができました。ドキュメントウィンドウの中身としてビューウィンドウがある分けですが、 ビューウィンドウの派生クラスとしてファイルビューウィンドウがあって、 ファイルビューウィンドウの派生クラスとしてバイナリビューウィンドウ…
なぜ printf() は数字を区切ってくれないのか? ファイルサイズを表示するのに3桁区切りしたいなと思ってググったのですが、 C++ だとストリーム出力の方は対応してるらしいけど、 書式付文字列関数ではあいかわらずサポートされてないみたいなので自分で作…
概要 ツリービューコントロールでファイルブラウザを作ろうのコーナーです。 世の中いろんなビュワーがあるけれど、ファイル開くのって大抵OSまかせじゃないですか。 別のファイル開くたんびにファイルオープンダイアログが表示されてすごい面倒じゃないで…
概要 メインウィンドウからツールバーとステータスバーを引いた残りのクライアント領域を以下の3つに分割します。 Output(出力画面) TreeView(ブラウザ) Document(ビュワー) 3つのウィンドウを梱包するためのウィンドウとしてコンテナウィンドウを準…
本日のメニュー メニュー追加 キーボードアクセラレータ対応 ツールバー追加 ステータスバー追加 プロファイル対応 実行画面と実行ファイルとソースファイル FileView.zip main.h main.cpp App.h App.cpp Window.h Window.cpp メニューの作成 HMENU hTopMenu…
はじめに 以前ウィンドウズプログラミング講座などという仰々しいタイトルを付けたもんだから、 敷居が高くなって何も書けない状態が続いてしまったので、ブログタイトルを作成日誌に変更しました。 これで公開ソースに多少バグがあっても大目に見てもらえる…
何とかフリーズ対策できました フィルタ情報およびピン情報から当該メディアが MPEG-2 形式であるかどうか分りました。 しかしピン情報では MP4 も MPEG-2 形式となるみたいでした。 MP4 はサードパーティのデコーダしか対応してないので問題ありません。 問…
超難問、DirectShow と Vista で MPEG-2 を再生する方法 いろいろ試しましたがダメでした。 XP では問題ないのに Vista で MPEG-2 ファイルを再生しようとすると必ずフリーズします。 グーグルでいろいろ調査した結果、どうやら Vista から MPEG-2 が標準サ…
sal.h が無くてもコンパイルできる方法があった。 sal.h をインクルードしてるのは dsound.h なのだが、 DirectX9 以前の dsound.h ではインクルードしていないのだ。 なので VisualStudio のオプションでインクルードディレクトリの順番を変えて、 DirectX1…
DirectShow 構築メモ 初めて DirectShow を使ってみた。 コンパイルエラーになった。 "sal.h" が無いと言われた。 手持ちの SDK を探したが無かった。 グーグルした。 ここにあった。 しかしISOイメージだった。 使用してる PC の DVD が壊れてるので DVD は…
昨夜のロケットライブにビーフケーキが出てたのでめちゃくちゃ笑った。 ペペペドミア共和国ネタは何度見ても面白い。 それで満足したので次のピン芸人には特に期待してなかった。 ところがこの西村ヒロチョなるピン芸人が、ビーフケーキの存在が霞んでしまう…
憤りメモ マウスカーソルが移動したときにしか WM_SETCURSOR が発生しないのは貧弱すぎるのではないか。 何故ならば、キーボードの状態が変化したときにもカーソル形状を変更したいからだ。 かと言って、キーボードイベントはフォーカス所有者にしか来ないし…
メモ テキストビュワーを作っているんですが、 ウィンドウズ標準のエディットコントロールでわ余りに遅すぎだし、機能的にも不便すぎるので自分で作ってまんねん。 でもまだかなり時間がかかりそうなので、とりあえず かな漢字変換ウィンドウの位置をキャレ…
何やら、はるかぜちゃんが殺人予告を受けてから大変なことになってるようだ。 子役俳優としてのはるかぜちゃんは知らないが、少なくともバラエティタレントとしてのはるかぜちゃんの才能は抜きんでていると思う。 可愛いだけの子役はたくさんいるが、バラエ…
キャレット表示処理メモ 私はいま、異なる複数の子ウィンドウにキャレットを表示させようとして、ガッツリはまってしまいました。 何故かしら1つのウィンドウは表示されるのに、もう1つのウィンドウにはキャレットが表示されないのです。 何でかな? で、…
NHKでいじめ番組を見たついでにツイッターで「いじめ」を検索したら、はるかぜちゃんが殺人予告を受けている件がヒットした。 いじめと殺人予告は別物だという気もするが、どこかでつながっているのかも。 いじめ問題は深刻だが戦争と同じで無くなる気が…
ご用心 まさか今どき16ビットが限界値とわ驚いたわ。 何がってウィンドウのサイズでがんす。 ドキュメントウィンドウの中身はテキストだったり、イメージだったり、3Dだったりするので、 ビューウィンドウをドキュメントウィンドウの子ウィンドウにして、 …
要注意! WM_CREATE イベント中にやって良いことと悪いことがある。 普通、WM_CREATE でやることと言えばウィンドウの初期化である。 しかしながら、ここでウィンドウの状態を変えるような初期化作業を行ってはならない。 なぜならば、まだ初期化が終わって…
メモです ウィンドウを最大化した状態で終了したときの元のウィンドウサイズの取得方法について、まだ書いてなかったようなので忘れないように書いときます。 GetWindowPlacement() という目的に合致した関数がありまんた。 以下はプロファイルに保存するた…
メモ タブコントロールに TCM_SETCURSEL を送っても TCN_SELCHANGE 通知は発生しないので要注意! ヘルプが英語なのでちゃんと書いてあるのに気付かんかったわい。以上です。
プログラミングをしていると良く原因不明のバグに遭遇する。 しかしこの世に原因不明のバグなど存在しない。 つまりバグの原因を徹底的に追究するかしないかの違いだけだ。 私はさっき、またしても原因不明のバグに遭遇した。 しかしながら徹底的な原因追求…
マウスの真ん中のダイヤルをぐりぐりすると WM_MOUSEWHEEL メッセージが送られるわけだが、 それがフォーカス所有者あてなのが気に入らない。 だってさ、マウスボタンイベントは普通マウスカーソルの位置にあるウィンドウに来るじゃん。 だったらさ、マウス…
仮想関数は奥が深い。 仮想関数はどこでも仮想だと思ったら大間違いだ。 以下のプログラムを見て欲しい。 class A { virtual ~A() { foo2(); } virtual void foo() { printf( "class A :: foo()\n" ); } void foo2() { foo(); } }; class B : public A { voi…
不具合原因を調査するのにデバッガ出力はかかせない。 ウィンドウズには OutputDebugString() という便利な関数があるが、 変数の内容を見たいのに文字列しか受け付けないのはいただけない。 いちいち文字列変数を用意してたらめんどくさくて本末転倒なので…
はてなブログはベータ版だからしょうがないのか。 カテゴリーの整理しようと思ったら、カテゴリー編集機能が何もないことに気がついた。 ダイアリーの方は確かあったと思うから、そのうちブログの方も追加されるかも。 あと記事の管理で、次のページはあるが…
検証プログラムなんだけど、コンピュータと対戦しててバグを発見した。 シャッフルしたら分析データからスラッシュの効果が消えちゃった。 シャッフルはチェンジと違い、スラッシュナンバーは継続して有効なはずなのにだ。 修正するにはシャッフル後の正解候…