


 
 
 
 
 
 
 |
Delphi2010 Samples のコンポーネント(3) 2010/11/13 |
前回は [Samples]内のコンポーネントのスピンボタン(SpinButton)・スピンエディット(SpinEdit)について見てみました。今回は、ディレクトリアウトライン(DirectoryOutline)・カレンダー(Calendar)について見てみます。
[Samples]内
 | TGauge | プログレスバーのような感じ? |
TColorGrid | 色選択用のコンポーネントですね |
TSpinButton | TUpDownの前身でしょうか |
TSpinEdit | Editコンポーネントとの合体版 |
TDirectoryOutline | [Win3.1]内のDirectoryListBoxと? |
TCalendar | [Win32]内のMonthCalendarと? |
それではまず、ディレクトリアウトライン(DirectoryOutline)を配置し、位置と大きさを合わせます。配置して保存をすると uses節に「Grids」「Outline」「DirOutln」が追加されます。
試しにこのまま保存・コンパイル(再構築)・実行を行ってみます。するとコンパイル時に
[DCC 警告] Unit1.pas(7): W1006 ユニット 'Outline' を使用することは推奨されていません |
と表示されます。このコンポーネントはもう相当に古いもので、新しいコンポーネントを利用しましょう、というような意味だと思われます。そもそも「ディレクトリ」というのは、MS-DOS〜Windows3.1時代に使用されていた用語で現在は「フォルダ」と呼ばれています。

スクロールバーを操作して上の方へ・・・
↓

ダブルクリックでフォルダを開いたり閉じたり出来ます
指定した内容は、Driveプロパティでディスクドライブ名(Cドライブなら「C」1文字、Dドライブなら「D」1文字)を取得する事ができ、Directoryプロパティでフォルダ名(「C:\ABC\DEF」等 ※最後に「\」は付きません)を取得する事ができます。マウスをクリックしてフォルダを指定し、現在のフォルダを変更した後に、OnChangeイベントが発生します。ですので
procedure TForm1.DirectoryOutline1Change(Sender: TObject);
begin
ShowMessage(DirectoryOutline1.Directory);
end; |
のようにすれば、指定したフォルダ名を表示させる事が出来ます。なお、クリックした時の OnClickイベントの場合、変更する直前のフォルダ名を取得してしまうので注意して下さい。
あとは<オブジェクトインスペクタ>を見れば、これまでのコンポーネントと同じ名前=同じ意味のものも多いですから、すぐに分かると思います。
次に、カレンダー(Calendar)を見てみます。配置して位置・大きさを合わせます。配置して保存をすると uses節に「Calendar」が追加されます。
とりあえずそのまま保存・コンパイル(再構築)・実行をしてみます。
年・月の選択は画面上で出来ないようです。自分で何らかのコンポーネントを使い、そのイベントハンドラにて、カレンダー Calendarの NextYearメソッド(次の年へ)、NextMonthメソッド(次の月へ)、PrevYearメソッド(前の年へ)、PrevMonthメソッド(前の月へ)、を実行するようにしておけば良いと思われます。クリックして変更した年月日は、Yearプロパティ・Monthプロパティ・Dayプロパティで整数値にて取得できます。また、TDateTime型の CalendarDateプロパティでも取得できます。カレンダー上の現在の日付を変更した後に、OnChangeイベントが発生します。ですので
procedure TForm1.Calendar1Change(Sender: TObject);
begin
ShowMessage(IntToStr(Calendar1.Year)+'/'+IntToStr(Calendar1.Month)+'/'+IntToStr(Calendar1.Day));
end; |
procedure TForm1.Calendar1Change(Sender: TObject);
begin
ShowMessage(DateToStr(Calendar1.CalendarDate));
end; |
のようにすれば指定した日付を表示する事が出来ます。なお、クリックした時の OnClickイベントの場合、変更する直前の日付を取得してしまうので注意して下さい。
あとは<オブジェクトインスペクタ>を見れば、これまでのコンポーネントと同じ名前=同じ意味のものも多いですから、すぐに分かると思います。
というわけで、[Samples]内のコンポーネントを見てきましたが、これらコンポーネントはこれまでのバージョンで使用している利用者への互換性のために残されているのだと思われますが、システム的に古いですので、新規でアプリケーション開発を行う場合には、これらコンポーネントは使用しないほうがいいと思われます。
|
|
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
▲2010/11/12
2010/11/13
▼2010/11/14
シェアウェア
Script!World
データベース
|