メルマガ:あゆしゃのC言語プログラミング
タイトル:あゆしゃのC言語プログラミング(Vol.486) メニュー表示  2004/08/18


/*========================================================*/
    <<<あゆしゃのC言語プログラミング>>>
/*========================================================*/
 第486回 メニュー表示
 発行    2004年8月18日(水曜日)
 発行数   約2700

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

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

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

 まだ筋肉痛が治らないあゆしゃです。

{magclick}
/*========================================================*/
 今回のお題  << メニュー表示 >>
/*========================================================*/

 早速、今まで紹介してきたツールを張り合わせて、デスクトップ
ショットを作成しました。

 しかし、とんでもない問題に行き当たりました。

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

 タスクバーに常駐するアイコンを左クリックすると、
デスクトップショットのメニューと一緒に、スタートバー右
クリック時のメニューもあわせて出てきてしまいます。

 これはいかんいかんと思い、左クリックのときだけに
メニューを表示するようにしました。

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

 ところが今度は、メニューが終了できないという問題に
行き当たりました。

 通常、フローティングポップアップメニューは、他のところを
クリックするなどしてフォーカスを失うと、勝手に消えます。

 ところが、消えるはずのメニューが消えません。どうして?

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

 いろいろ試してみたところ、メインウィンドウが存在しないこと
が原因でした。

 メインウィンドウを表示した状態でメニューを表示すると、
普通に消えてくれます。

 しかし常駐アプリケーションですので、ウィンドウは出したく
ありません。

 そこで、ウィンドウを左上のありえない場所に MoveWindow
してしまい、あたかもメインウィンドウが存在するふりをする
ことで、

 メニューのご機嫌を取ることができました。

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

 やれやれと思っているところ、

 メニューにはショートカット(LNKファイル)のみを表示して
したのですが、私は結構、デスクトップ上にファイルやフォルダを
ポコポコとおいています。

 これも表示させたい、けどスペースがない。

 そこで、サブメニューにしてファイルとフォルダも一覧表示
されるようにしてみました。

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

 少し使っていて、また不満が出てきました。

 というのも、アプリケーションによっては、起動時に必ず
最大化、または最小化して起動してほしいものがあります。

 ほとんどのアプリケーションを最大化して使うあゆしゃに
とって、そのときの気分でころころと位置を変えて表示する
ブラウザなどのウィンドウは、邪魔です。

 また、私は本格翻訳という翻訳ソフトを良く使う、というか
XP 買った時に梱包されていたのでそれを使っているのですが、
このソフト、わけの分からない無駄なウィンドウがわさわさと
開き、大変不快です。

 得にメインウィンドウが前面固定なので、強力に邪魔です。

 起動時には最小化して起動して欲しい。

 というわけで、オプションを作り、最大化・最小化・通常
などを指定して起動するようにしました。

 最大化などの指定は、ShellExecute のデフォルトの機能なので
問題ありません。

 さらにファイル毎の設定を INI ファイルに保存し、翻訳ソフト
も快適に起動するように仕掛けました。

 さぁ、どうでしょうか?

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

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

 次回は8月20日(金曜日)に、第487回をお送りします。
 お題は「デスクトップショットお披露目」

 お楽しみに!

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

{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

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