カルウィークと読んでね。


概要
 Microsoft の Schedule+で採用されているような週間スケジュールを管理するコントロールです。

開発目的
 スケジュール管理するためにMicrosoft Office95にバンドルされていたSchedule+を使っています。
なぜそんな古いソフトを使っているかというとOffice97からOutlookに変更され機能が増えたのはよいのですが私としてはそこまで必要なく単純に個人のスケジュールを管理できればよかったためSchedule+を使っていました。しかし、Schedule+にも多少なりとも不満がありカスタマイズしたくても市販のソフトのためそれもできずじまい。それならば自分で作ってしまおうと思いMicrosoft Visual Basicで作り始めたところ時系列的な入力コントロールが無いのに気づき中断してしまったのです。
 それで、Schedule+で採用されているような週間カレンダーのスケジュール管理コントロールを自前で作ろうと思ったわけです。



※クリックすると大きい画像が表示されます。

環境
OS Microsoft Windows95/98, NT4.0(ServicePack4.0)
言語 Microsoft Visual Basic 6.0(ServicePack3.0) 「サンプルプログラム作成用」
言語 Microsoft Visual C++ 6.0(ServicePack3.0) 「MFC ActiveX ControlWizard使用」

機能
表示する日数(1〜7日間)をカスタマイズ可能
タスクの範囲を指定できる間隔(5,10,15,30,60分)をカスタマイズ可能
マウスのドラッグによりタスクの範囲を指定可能
タスクの各種設定(背景色、フォント、etc)をタスク毎にカスタマイズ可能
日付の移動に3パターン(次週、先週、今日)を用意
登録されているタスクの情報を任意に取り出せる。
登録したタスクの一時保存が可能
タスクの内容を任意に更新可能
リサイズ時に自動的に再計算して最適な表示が可能

主なプロパティとメソッド
FirstWeek プロパティ 開始曜日を指定します。
Header3D プロパティ 三次元表示にするか否かを指定します。
NumberOfDays プロパティ 表示日数を指定します。
TaskContents プロパティ タスクの内容を指定します。
TaskStart プロパティ タスクの開始日時を指定します。
TaskEnd プロパティ タスクの終了日時を指定します。
TimeMinUnit プロパティ 最小指定時間単位(分単位)を指定します。
CreateTask メソッド タスクを作成する際に使用します。
LastWeek メソッド 「先週」に戻す際に使用します。
NextWeek メソッド 「次週」に進める際に使用します。
ToDay メソッド 「今日」にする際に使用します。

開発時期
 1999年7月中旬〜

開発状況と今後の追加機能
同一時間帯に複数のタスクが登録された場合(タスクが重なり合う状況)の処理が未作成のため既に登録されているタスクの上に登録したタスクが重なってしまう。
作業時間の表示機能(毎日の作業時間帯を表示できるようにしたい)例えば9:00〜17:00,月曜日〜金曜日の間の背景色を変えるなど)
登録されているタスク全てを一度に入出力する機能を追加したい。(他のデータベースにデータを反映させるには必要不可欠な機能)
インストーラを用意してダウンロードできるようにしたい。