AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
Delphi2010 Vistaダイアログのコンポーネント 2010/11/09
 
前回はデータベース関連のコンポーネントという小題で、[Data Access]・[Data Controls]・[dbExpress]・[BDE]・[dbGo]・[InterBase]内のコンポーネントをざっと紹介しました。最近は「クラウドだ!」と言葉だけが先行して、果たして「クラウド」というのは何なのか?という説明が余りありませんが、遠く離れた複数のデータベースを一括管理し円滑利用するシステムの事であろうと想像しますが、データベースとそれを利用するソフトウェアというのは今後も重要になってくると思われます。
 
今回はその次にある[Vista Dialogs]内のコンポーネントについて見ていきます。Delphi6は WindowsVistaより以前に販売されていたソフトウェアですので勿論ながら、Delphi6にはこれらコンポーネントは標準で装備されていません。また、Windows Vista以前のWindows(95/98/Me/NT/2000/Xp)では「Windows Vistaが必要です」というメッセージが表示され動作させることは出来ません。
 
まずは「テスト23」(フォルダ「023」)として新規作成しておきます。ボタンを1つ配置した状態で、[Vista Dialogs]内の「FileOpenDialog」(「ファイルを開く」画面)を配置します。1つ目ですので Nameプロパティは「FileOpenDialog1」となります。アイコン絵となりますが実行時に「ファイルを開く」画面を表示させる事が出来るようになります。



ボタンをクリックしたら、「ファイルを開く」画面を表示するようにしてみます。ボタン(Button1)の OnClickイベントのイベントハンドラを下記のように記述してみます。
procedure TForm1.Button1Click(Sender: TObject);
var
 fn : string ;
begin
 if (FileOpenDialog1.Execute) then begin
  fn := FileOpenDialog1.FileName ;
  Caption := 'テスト23−' + fn ;
 end;
end;
これを保存・コンパイル(再構築)してみます。すると、
[DCC 警告] Unit1.pas(12): W1002 シンボル 'TFileOpenDialog' はプラットフォームに依存すると宣言されています
[DCC 警告] Unit1.pas(32): W1002 シンボル 'FileName' はプラットフォームに依存すると宣言されています
という警告が表示されてしまいます。警告が表示されてもコンパイルは終了し、実行(EXE)ファイルは作成されます。しかし気持ちが良いものではありません。この表示を出さないようにするには、メニュー「プロジェクト」→「オプション」を行い、「Delphiコンパイラ」〜「ヒントと警告」の「警告を出力」内の「プラットフォーム依存のシンボル」がデフォルトで「True」になっているのを「False」にすることで、警告を表示させないようにする事が出来ます。
実行してみます。



これを見て、ふと、標準の[Dialogs]内の「開く」画面はどうだったのか?を思い出すと、Windows7 で動作させると下記のような画面になっていました。

「開く」画面(OpenDialog)
 
そう、全く同じです。
警告メッセージが表示される気持ち悪さを回避したい、また、WindowsVista/7以前の Windowsで動作させようとするのならば、敢えてこのコンポーネントを使用しない、という判断をするのは1つの手です。
 
但し、<オブジェクトインスペクタ>を見てみると随分違っているのが分かります。
FileOpenDialogOpenDialog


 


 
 
ですので、このプロパティ/イベント/メソッドを利用したい、という事で、敢えてこの[Vista Dialogs]内のコンポーネントを利用する、というのも1つの手法です。プロパティは異なるので扱いも違ってきますが、まぁ、そんなに難しくもないでしょう。
 
 
次に、ボタンを1つ配置し、[Vista Dialogs]内の「FileSaveDialog」(「ファイルを保存」画面)を配置します。1つ目ですので Nameプロパティは「FileSaveDialog1」となります。



ボタンをクリックしたら、「ファイルを保存」画面を表示するようにしてみます。ボタン(Button2)の OnClickイベントのイベントハンドラを下記のように記述してみます。
procedure TForm1.Button2Click(Sender: TObject);
var
 fn : string ;
begin
 if (FileSaveDialog1.Execute) then begin
  fn := FileSaveDialog1.FileName ;
  Caption := 'テスト23−' + fn ;
 end;
end;
保存・コンパイル(再構築)・実行を行います。こちらも同様、設定していなければ警告メッセージが表示されます。



画面の方も同様ですね。
<オブジェクトインスペクタ>を見てみます。


 

 
 
次に、ボタンを1つ配置し、[Vista Dialogs]内の「TaskDialog」(「タスク」画面)を配置します。1つ目ですので Nameプロパティは「TaskDialog1」となります。ヘルプによれば「Windows Vistaが必要」との事です。



ボタンをクリックしたら、「タスク」画面を表示するようにしてみます。「タスク」画面 TaskDialog1 の Captionプロパティを「これはテストです」、Textプロパティを「これはタスクダイアログです」、Titileプロパティを「タイトル!」としてみます。ボタン(Button3)の OnClickイベントのイベントハンドラを下記のように記述してみます。
procedure TForm1.Button3Click(Sender: TObject);
begin
 TaskDialog1.Execute ;
end;
保存・コンパイル(再構築)・実行を行います。こちらも同様、設定していなければ警告メッセージが表示されます。



 
要するに、WindowsVista/7版のメッセージダイアログでしょうか?
<オブジェクトインスペクタ>をみてみます。


 

 
というように、ボタンやアイコン、プログレスバー、ラジオボタン等を付けることが出来る様子です。色々な機能が満載なメッセージ画面表示、ですね。Flagsプロパティの内容は下記(ヘルプより)。
tfEnableHyperlinks設定した場合,コンテンツテキスト,フッターテキスト,および展開されたテキストにハイパーリンクを含めることができます。
tfUseHiconMain設定した場合,カスタムメインアイコンを使用します。
tfUseHiconFooter設定した場合,カスタムフッターアイコンを使用します。
tfAllowDialogCancellation設定した場合,[キャンセル]ボタンがなくてもタスクダイアログを閉じることができます。
tfUseCommandLinks設定した場合,ボタンは,標準のダイアロググリフを使用したコマンドリンクとして表示されます。
tfUseCommandLinksNoIcon設定した場合,ボタンは,グリフなしのコマンドリンクとして表示されます。
tfExpandFooterArea設定した場合,展開テキストをフッターに表示します。
tfExpandedByDefault設定した場合,タスクダイアログを開いたときに展開テキストが表示されます。
tfVerificationFlagChecked設定した場合,確認チェックボックスは初期状態でチェックされます。
tfShowProgressBar設定した場合,プログレスバーを表示します。
tfShowMarqueeProgressBar設定した場合,マーキープログレスバーを表示します。
tfCallbackTimer設定した場合,200 ミリ秒ごとにダイアログのコールバックが呼び出されます。
tfPositionRelativeToWindow設定した場合,タスクダイアログは親ウィンドウの中央に配置されます。
tfRtlLayout設定した場合,テキストは右から左に読み出されます。
tfNoDefaultRadioButton設定した場合,デフォルトのラジオボタンは作成されません。
tfCanBeMinimized設定した場合,タスクダイアログは最小化できます。
 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
▲2010/11/08
 2010/11/09
▼2010/11/10
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.