お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"Dialog的なフォームを関数化する"

この発言に対し以下のコメントが寄せられています
#01363 NOVO さん RE:Dialog的なフォームを関数化する

こんにちは、凛です。 OpenDialogコンポーネントのように関数を呼ぶことでダイアログボックスフォー ムが表示される例です。(もっときれいな方法があるかもしれません) Lines というパラメータにカンマで区切られた文字列 例えば a,b,c,d を渡し ます。関数を実行すると、ListBoxに a b c d と表示するフォームが現れ、 例えば c をクリックすると、ChosenLineには選 択された c が格納され、関数の結果は mrOK になります。 Form1上にボタンをひとつおいて、OnClickを以下のようにします。 procedure TForm1.Button1Click(Sender: TObject); var ans:string; begin if popup('a,b,c,d',ans) = mrOK then Caption:=ans; end; Form2が定義されているUnit2は以下のようにします。 Form2にはListBoxをひとつ配置します。 ListBox1Click はListBox1のOnClickイベントのハンドラです。 unit Unit2; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) ListBox1: TListBox; procedure ListBox1Click(Sender: TObject); private { Private 宣言 } public { Public 宣言 } ResultString:string; end; function popup(Lines:String;var ChosenLine:string):TModalResult; var Form2: TForm2; implementation {$R *.DFM} function popup(Lines:String;var ChosenLine:string):TModalResult; var F2:TForm2; begin F2:=TForm2.Create(Application); F2.ListBox1.Items.Commatext:=Lines; result:=F2.ShowModal; ChosenLine:=F2.ResultString; F2.Release; end; procedure TForm2.ListBox1Click(Sender: TObject); begin ResultString:=ListBox1.Items[ListBox1.ItemIndex]; ModalResult:=mrOK; end; end. 2001/07/21(Sat) 07:39am MXB01744 凛  - FDELPHI MES(16):玉石混淆みんなで作るSample蔵【見本蓄積】 01/07/21 - Original document by 凛 氏 ID:(MXB01744)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum