トレイアイコンで時計を

| コメント(0) | トラックバック(0)

タスクバーの時計領域って、結構でかい。
もし、これを小さくできたら、スッキリするのになぁ・・・
・・・という理由はさておき、題材としては面白いので、通知領域(タスクトレイ)に超簡易アナログ時計をアイコン表示するアプリケーションを創っちゃうぞ。

覚書きも兼ねて、図解。

C#でござる。
画面キャプチャに全部含まれているので、コードは割愛。

↓Visual Studioを起動。
2010でござる。2008でもできる。2005でもできるかな?

TrayClock01.png

↓Windowsアプリケーションプロジェクトを新規作成。
名前はTrayClockにしたけど、適宜。

TrayClock02.png

↓デフォルトでForm1のデザインが表示される。

TrayClock03.png

↓でも、Form1.csは不要なので、削除。

TrayClock04.png

↓Program.csを開く。

TrayClock05.png

↓Form1.csを削除したので、3行(じゃなくて、Application.Run(new Form1)行だけ)コメントアウト(画像は誤り)。

TrayClock06.png

↓プロジェクトにコンポーネントクラス(Component1.cs)を新規追加。

TrayClock07.png

↓コンポーネント(Component1)のデザイン画面。

TrayClock08.png

↓コンポーネント(Component1)に、NotifyIcon、Timer、ContextMenuStripを追加

TrayClock09.png

↓contextMenuStrip1を右クリックし、項目の編集。
終了メニューを追加する。

TrayClock10.png

↓プロパティウィンドウで、追加したメニューを選択し、Clickイベントを追加

TrayClock11.png

↓Clickイベントのコード画面。

TrayClock12.png

↓タイマー止めて、アイコン削除して、アプリケーションを終了するというコード書く。

TrayClock13.png

↓コンポーネントデザイン画面で、timer1を選択して、プロパティを編集。
有効化し、1000msおきにイベントを発生させる。

TrayClock14.png

↓そのTickイベントを追加。

TrayClock15.png

↓Tickイベントのコードを書きまくる。
Bitmapを作って、時計を書いて、Iconにして通知アイコンに結び付ける。
ついでに、文字列でも分かるように。
sinとかcosとか、思い出せ!
ハンドル閉じるのを忘れずに。

TrayClock16.png

↑DrawLine(Pens.Black, 8, 8, (float)(8...は、DrawLine(Pens.Black, 7, 7, (float)(7...のほうが正しいかも。

↓notifyIcon1とcontextMenuStrip1を結び付ける。

TrayClock17.png

↓Component1を作って、メッセージループを空回りさせるコードをProgram.csに追加。

TrayClock18.png

ビルドすれば、できあがり。
うまく表示できない場合は、DestroyIconとnotifiyIcon.Textの行を入れ替えると、何とかなる場合がある。
時計の針のギザギザを無くしたり、秒針を赤で表示したり、多重起動を制御したり、左クリックで日付と時刻の調整を表示したりは、ご自由に。

トラックバック(0)

トラックバックURL: http://blog.fne.jp/mt/mt-tb.cgi/175

コメントしちゃいなよ

    

サイトカウンタ

Total: 211,632 Hits, (Recent24Hours: 0 Hits)
~ Since 2010/01 ~

埋め込みツイッター

取得失敗;;
Now: 2024/03/28 17:55:37 JST

このブログ記事について

このページは、ふぅみんが2010年5月 5日 00:00に書いたブログ記事です。

ひとつ前のブログ記事は「POP3 over SSLでおはなししたい」です。

次のブログ記事は「70-646」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

2024年2月

 日   月   火   水   木   金   土 
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29    

埋め込みQRコード