メルマガ:あゆしゃのC言語プログラミング
タイトル:あゆしゃのC言語プログラミング(Vol.516) Measure  2004/11/03


/*========================================================*/
    <<<あゆしゃのC言語プログラミング>>>
/*========================================================*/
 第516回 Measure
 発行    2004年11月3日(水曜日)
 発行数   約2600

{magclick}
/*========================================================*/
 はじめに ( 決り文句 )
/*========================================================*/
・このメールマガジンは、主にまぐまぐさんから発行しています。
・ジャンルは、マルチメディアのプログラム、C言語です。
・横60文字で作成し、インデントは大抵半角スペース4つです。
・ここで扱うプログラムは、C言語と半光年以内のものです。
・登録解除は、メルマガのホームページでお願いします。
・過去ログはバックナンバー(下欄参照)を活用して下さい。
・内容は私が感じたもので、最新の技術も、へたれもあります。
・わかりやすさを優先させる為、たまに嘘があるかもしれません。
・セキュリティ突破のため、暗号化された単語があります。

/*========================================================*/
 ご挨拶
/*========================================================*/

 こんにちは。あゆしゃです。

 やばいです。

 シムシティ、面白すぎです。

 しかし、人数が増えなくて、途中でさじを投げてしまいます。

 10回ぐらいやり直しましたが。。。

 初代シムシティの攻略を紹介しているページを探しましたが、
良くわかりませんでした。

 さすがに、時代が古すぎるようです。

{magclick}
/*========================================================*/
 今回のお題  << Measure >>
/*========================================================*/

 先日、Measure というソフトをベクターにアップしました。

http://www.vector.co.jp/soft/winnt/util/se346289.html

 実行すると、画面上にメジャー(定規)を表示します。


 なぜこのようなものを作ろうと考えたかというと、大型計算機が
関係しています。

 大型計算機のエディットは3分割にしようとしていますが、
これをパネルクラスでやると、うまくできないのです。

 何とか形にしたとき、

「本当に3分の1なのぉ?」

 という疑問がわきました。

★しかし、実際のドット数を計るのは難しいです。

 そこで、画面上に定規を表示させようと考えました。

/*========================================================*/

 アプリケーション集からプロジェクトをダウンロードできます。

http://ayusya.hp.infoseek.co.jp/ProgramCAppr.html

 ただし、先日申し上げたとおり、実際のダウンロードは
ベクターから行っていただくように、細工しました。

 これで少しは、ダウンロード数を稼げるはずです。

/*========================================================*/

 さて、肝心のプログラムについて。

 メインは、OnPaint です。

 OnPaint にて、線を引き、文字を書いています。

★・・・それだけですが。

/*========================================================*/

 たったそれだけで、メジャーとしての役割は満足できるものと
なりました。

 しかし困ったことに、ウィンドウの移動とリサイズをどうしよう
かと考えました。

 タイトルバーを消しているので、ウィンドウを移動できません。

 しょうがないので、左ドラッグで移動できるようにしました。

 リサイズは、ダイアログをサイズ可変にすることでできるわけ
ですが、サイズ可変にするとダイアログの周囲にフレームが表示
されるので、メモリがウィンドウの端に表示されなくなります。

 なので、サイズ可変は使えません。

 しかし左ドラッグは使ってしまっています。

 しょうがないので、右ドラッグでリサイズできるように
しました。

 この右ドラッグリサイズ、結構気持ちがいいです。

/*========================================================*/

 しかし、また困ったことに、終了させられません。

 エスケープキーを押せばいいことですが、マウス操作からでも
終了させられるべきです。

 ところが不思議なことに、マウスのボタンは右も左も使って
しまっています。
 ポップアップメニューを表示させることができません。

 しょうがないので、悩んだ末、ダブルクリックされたらメニュー
を表示しようと思いつきました。

 。。。反則ですよね、たしかにメニューは出ますが。

/*========================================================*/

 さらに遊び心で、ふと、透明にしようと考えました。

 ウィンドウ自体を透明にする方法は、良くわからないので、

 デスクトップの DC から画像をコピーして、それを下絵として
表示する簡単な方法にしました。

 これを、コンストラクタでやっています。

 ウィンドウがアクティブになったとき、画像を取得しなおします
が、これは WM_ACTIVATE_APP のハンドラでやっています。

 WM_ACTIVATE と WM_ACTIVATE_APP の違いが良くわかりません
でしたが、

 画像を取得しなおす結果としては、どちらも同じなので、
動作の速い _APP の方を使いました。

 ただ、自分自身のいるところが塗りつぶされてしまいます。

 ウィンドウがアクティブになる瞬間の、最も最初の処理では
ないようです。

 透明モードで、ごみが出ます。

 こまるなぁと思いましたが、面倒だったので、「仕様」として
ReadMe に明言しました。

 これで一安心です。

{magclick}
/*========================================================*/
 さいごに
/*========================================================*/

 今後の予定です。あくまでも予定です。

 大型計算機「LC」の仕上げとシェアウェア登録

 グラフィックエディッタ「あいすドロワ」の作成
 ファイル比較ツール「あいすでふ」の作成
 C言語解析ツール「しーますた」の作成

{magclick}
/*========================================================*/
 次回予告
/*========================================================*/

 次回は11月5日(金曜日)に、第517回をお送りします。
 お題は「UMLの状態遷移図でGIBS 1」

 最近、状態遷移図をソースに起こす作業がよくあります。

 最初は面倒だなぁと思っていましたが、

 今では「UMLすごーい」モードになっています。

 そこでふと、考えました。

 GIBS の戦術プログラム、非常に複雑で、何度もやり直している
のですが、

 そこに UML を投入しようと考えました。

 お楽しみに!

/*========================================================*/
 最後の決り文句
/*========================================================*/
 このメールマガジンは、まぐまぐさんから発行しています。
 このメールマガジンを解除したい場合は、まぐまぐさんをご利用
ください。このメルマガのまぐまぐアイディーは最後にあります。
 このメールマガジンには広告が挿入されていますか?
 このメールマガジンの内容に文面の引用はありませんか?
 めーらっくすの場合はめーらっくすの利用方に従ってください。
 このメールマガジンの内容の、転用、流用、宣伝、リンク、
交通渋滞か。。。 なんて大歓迎です。

{magclick}
/*========================================================*/
 
/*========================================================*/

発行者 あゆしゃ

ホームページ::あゆしゃの世界
http://ayusya.hp.infoseek.co.jp/

ご意見・ご感想・ご質問メール
mailto:ayusya@flamenco.plala.or.jp

まぐまぐ::アイディー
0000020674

まぐまぐ::登録と解除
http://www.mag2.com/m/0000020674.htm

まぐまぐ::バックナンバー
http://jazz.tegami.com/backnumber/frame.cgi?id=0000020674

めーらっくす::アイディー
MM3E1AEE285AB4F

めーらっくす::登録と解除
http://www.mailux.com/mm_dsp.php?mm_id=MM3E1AEE285AB4F 

めーらっくす::バックナンバー★最近のものならこちらが便利★
http://www.mailux.com/mm_bno_list.php?mm_id=MM3E1AEE285AB4F

ブラウザの閉じるボタンで閉じてください。