ダイアログ
をテンプレートにして作成
[
ホーム
|
一覧
|
検索
|
最終更新
|
ヘルプ
] [
新規
]
VWRR
・
WIKIBOX
建築mome
・
メーカー
最新の40件
2018-07-17
VectorScript
2013-05-25
例題の解説
2011-12-09
ΔxΔy
GetLine
Distance
Num2Str
2011-12-08
寸法変倍
MenuBar
日付スタンプ
Date
面積スタンプ
2011-12-07
HArea
Num2StrF
TextOrigin
GetPt
FSActLayer
FActLayer
Concat
BeginText
EndText
図面の中を検索
ReDraw
MoveObjs
GetKeyDown
ClrMessage
Message
Y方向複製
2011-12-06
キー入力
ダイアログ
2011-12-04
図形の整列
2011-11-26
属性を設定する
Locus
変数
Oval
識別子
定数
基本型
言語仕様
制御命令
IF
total:
0
today:
0
yesterday:
0
now:
3
開始行:
**ダイアログを表示する [#oc2a43ca]
ダイアログを表示させる方法は2つあります。
1つは、全部で10種類ある定型ダイアログを表示させる方法です。
手続きを呼ぶだけなので、数値や座標を入力するだけならば...
もう一つは、カスタムダイアログを定義する方法です。
入力欄の他に、チェックボックスやボタンを配置できるので、...
**定型ダイアログを表示する。 [#g4f2d10a]
PROCEDURE TEST;
VAR
x1,y1,x2,y2:REAL;
BEGIN
GetRect(x1,y1,x2,y2);
BeginXtrd(0,50);
Rect(x1,y1,x2,y2);
EndXtrd;
END;
Run(TEST);
上記のプログラムに、実数用のダイアログを表示する手続き(Re...
柱状体の高さをダイアログで指定できるように書き換えてみま...
|BGCOLOR(white):|BGCOLOR(white):|c
|PROCEDURE TEST;||
| VAR||
| x1,y1,x2,y2,height:REAL;||
| BEGIN||
| GetRect(x1,y1,x2,y2);||
| height:=RealDialog('高さを入力して下さい','50');|...
|IF NOT DidCancel THEN|関数「DidCancel」を使ってダイアロ...
| BEGIN||
| BeginXtrd(0,height);|手続き「BeginXtrd」にダイアログ...
| Rect(x1,y1,x2,y2);|柱状体の底面の形を書きます。|
| EndXtrd;|柱状体の作成が終わったらかならず「EndXtrd」...
| END;||
| END;||
|Run(TEST);||
実行結果
&ref(dialog01.jpg,,50%);
PROCEDURE TEST;
VAR
x1,y1,x2,y2,height:REAL;
BEGIN
GetRect(x1,y1,x2,y2);
height:=RealDialog('高さを入力して下さい','50');
IF NOT DidCancel THEN
BEGIN
BeginXtrd(0,height);
Rect(x1,y1,x2,y2);
EndXtrd;
END;
END;
Run(TEST);
**カスタムダイアログを作る [#e523d2ad]
少しプログラムは長くなりますが、ボタンやチェックボックス...
自由度は高いですが、いくつかの処理を自分で制御しなければ...
以下のプログラムを実行するとカスタムダイアログを表示しま...
「OK」ボタンか「Cancel」ボタンを押すと、ダイアログが閉じ...
|BGCOLOR(white):|BGCOLOR(white):150|BGCOLOR(white):350|c
|1|PROCEDURE TEST;||
|2|CONST||
|3|kDialogWidth=200;|ダイアログの横幅を定数で宣言していま...
|4|kDialogHeight=320;|ダイアログの縦幅を定数で宣言してい...
|5|VAR||
|6|item,dx1,dx2,dy1,dy2,i:INTEGER;||
|7|||
|8|PROCEDURE centerBounds(VAR x1,y1,x2,y2:INTEGER);|ダイ...
|9|VAR||
|10|sx1,sx2,sy1,sy2:INTEGER;||
|11|BEGIN||
|12|GetScreen(sx1,sy1,sx2,sy2);|手続き「GetScreen」を使っ...
|13|x1:=(sx1+sx2)/2-kDialogWidth/2;|ダイアログの左上のX座...
|14|y1:=(sy1+sy2)/2-kDialogHeight/2;|ダイアログの左上のY...
|15|x2:=(sx1+sx2)/2+kDialogWidth/2;|ダイアログの左下のX座...
|16|y2:=(sy1+sy2)/2+kDialogHeight/2;|ダイアログの左下のY...
|17|END;||
|18|||
|19|Begin||
|20|CenterBounds(dx1,dy1,dx2,dy2);|12行目のサブルーチン(C...
|21|BeginDialog(1,1,dx1,dy1,dx2,dy2);|カスタムダイアログ...
|22|AddButton('OK',1,1,120,290,190,310);|「OK」ボタンを作...
|23|AddButton('Cancel',2,1,40,290,110,310);|22行目と同じ...
|24|AddField('編集ボックス1',3,2,10,10,190,30);|編集可能...
|25|AddField('編集ボックス2',4,2,10,40,190,60);|24行目と...
|26|AddField('テキスト1',5,1,10,70,190,90);|編集不可能な...
|27|AddField('テキスト2',6,1,10,100,190,120);|26行目と同...
|28|AddField('チェックボックス1',7,2,10,130,190,210);|チ...
|29|AddField('チェックボックス2',8,2,10,160,190,240);|28...
|30|AddField('ラジオボタン1',9,3,10,190,190,210);|ラジオ...
|31|AddField('ラジオボタン2',10,3,10,220,190,240);|30行目...
|32|AddField('ラジオボタン3',11,3,10,250,190,270);|これも...
|33|EndDialog;|ダイアログの定義を終了します。|
|34|GetDialog(1);|定義したダイアログを表示します。パラメ...
|35|SetItem(9,TRUE);|手続き「SetItem」を使って9番のアイテ...
|36|REPEAT|「REPEAT UNTIL」文の開始です。|
|37|DialogEvent(item);|ダイアログ上のいずれかのアイテムが...
|38|IF (item=7) OR (item=8)THEN|チェックボックスが押され...
|39|SetItem(item,NOT ItemSel(item));|同上|
|40|IF (item>=9)AND(item<=11)THEN|ラジオボタンが押された...
|41|BEGIN|同上|
|42|FOR i:=9 TO 11 DO|同上|
|43|Setitem(i,FLASE);|同上|
|44|Setitem(item,TRUE);|同上|
|45|END;|同上|
|46|UNTIL(item=1)OR (item=2);|「OK」ボタンか「Cancel」ボ...
|47|ClrDialog;|手続き「ClrDialog」を呼んで、表示されてい...
|48|END;||
|49|Run(TEST);||
残念ながら、上記のスクリプトは
エラーになってしまう。
&ref(dialog02.jpg,,50%);
終了行:
**ダイアログを表示する [#oc2a43ca]
ダイアログを表示させる方法は2つあります。
1つは、全部で10種類ある定型ダイアログを表示させる方法です。
手続きを呼ぶだけなので、数値や座標を入力するだけならば...
もう一つは、カスタムダイアログを定義する方法です。
入力欄の他に、チェックボックスやボタンを配置できるので、...
**定型ダイアログを表示する。 [#g4f2d10a]
PROCEDURE TEST;
VAR
x1,y1,x2,y2:REAL;
BEGIN
GetRect(x1,y1,x2,y2);
BeginXtrd(0,50);
Rect(x1,y1,x2,y2);
EndXtrd;
END;
Run(TEST);
上記のプログラムに、実数用のダイアログを表示する手続き(Re...
柱状体の高さをダイアログで指定できるように書き換えてみま...
|BGCOLOR(white):|BGCOLOR(white):|c
|PROCEDURE TEST;||
| VAR||
| x1,y1,x2,y2,height:REAL;||
| BEGIN||
| GetRect(x1,y1,x2,y2);||
| height:=RealDialog('高さを入力して下さい','50');|...
|IF NOT DidCancel THEN|関数「DidCancel」を使ってダイアロ...
| BEGIN||
| BeginXtrd(0,height);|手続き「BeginXtrd」にダイアログ...
| Rect(x1,y1,x2,y2);|柱状体の底面の形を書きます。|
| EndXtrd;|柱状体の作成が終わったらかならず「EndXtrd」...
| END;||
| END;||
|Run(TEST);||
実行結果
&ref(dialog01.jpg,,50%);
PROCEDURE TEST;
VAR
x1,y1,x2,y2,height:REAL;
BEGIN
GetRect(x1,y1,x2,y2);
height:=RealDialog('高さを入力して下さい','50');
IF NOT DidCancel THEN
BEGIN
BeginXtrd(0,height);
Rect(x1,y1,x2,y2);
EndXtrd;
END;
END;
Run(TEST);
**カスタムダイアログを作る [#e523d2ad]
少しプログラムは長くなりますが、ボタンやチェックボックス...
自由度は高いですが、いくつかの処理を自分で制御しなければ...
以下のプログラムを実行するとカスタムダイアログを表示しま...
「OK」ボタンか「Cancel」ボタンを押すと、ダイアログが閉じ...
|BGCOLOR(white):|BGCOLOR(white):150|BGCOLOR(white):350|c
|1|PROCEDURE TEST;||
|2|CONST||
|3|kDialogWidth=200;|ダイアログの横幅を定数で宣言していま...
|4|kDialogHeight=320;|ダイアログの縦幅を定数で宣言してい...
|5|VAR||
|6|item,dx1,dx2,dy1,dy2,i:INTEGER;||
|7|||
|8|PROCEDURE centerBounds(VAR x1,y1,x2,y2:INTEGER);|ダイ...
|9|VAR||
|10|sx1,sx2,sy1,sy2:INTEGER;||
|11|BEGIN||
|12|GetScreen(sx1,sy1,sx2,sy2);|手続き「GetScreen」を使っ...
|13|x1:=(sx1+sx2)/2-kDialogWidth/2;|ダイアログの左上のX座...
|14|y1:=(sy1+sy2)/2-kDialogHeight/2;|ダイアログの左上のY...
|15|x2:=(sx1+sx2)/2+kDialogWidth/2;|ダイアログの左下のX座...
|16|y2:=(sy1+sy2)/2+kDialogHeight/2;|ダイアログの左下のY...
|17|END;||
|18|||
|19|Begin||
|20|CenterBounds(dx1,dy1,dx2,dy2);|12行目のサブルーチン(C...
|21|BeginDialog(1,1,dx1,dy1,dx2,dy2);|カスタムダイアログ...
|22|AddButton('OK',1,1,120,290,190,310);|「OK」ボタンを作...
|23|AddButton('Cancel',2,1,40,290,110,310);|22行目と同じ...
|24|AddField('編集ボックス1',3,2,10,10,190,30);|編集可能...
|25|AddField('編集ボックス2',4,2,10,40,190,60);|24行目と...
|26|AddField('テキスト1',5,1,10,70,190,90);|編集不可能な...
|27|AddField('テキスト2',6,1,10,100,190,120);|26行目と同...
|28|AddField('チェックボックス1',7,2,10,130,190,210);|チ...
|29|AddField('チェックボックス2',8,2,10,160,190,240);|28...
|30|AddField('ラジオボタン1',9,3,10,190,190,210);|ラジオ...
|31|AddField('ラジオボタン2',10,3,10,220,190,240);|30行目...
|32|AddField('ラジオボタン3',11,3,10,250,190,270);|これも...
|33|EndDialog;|ダイアログの定義を終了します。|
|34|GetDialog(1);|定義したダイアログを表示します。パラメ...
|35|SetItem(9,TRUE);|手続き「SetItem」を使って9番のアイテ...
|36|REPEAT|「REPEAT UNTIL」文の開始です。|
|37|DialogEvent(item);|ダイアログ上のいずれかのアイテムが...
|38|IF (item=7) OR (item=8)THEN|チェックボックスが押され...
|39|SetItem(item,NOT ItemSel(item));|同上|
|40|IF (item>=9)AND(item<=11)THEN|ラジオボタンが押された...
|41|BEGIN|同上|
|42|FOR i:=9 TO 11 DO|同上|
|43|Setitem(i,FLASE);|同上|
|44|Setitem(item,TRUE);|同上|
|45|END;|同上|
|46|UNTIL(item=1)OR (item=2);|「OK」ボタンか「Cancel」ボ...
|47|ClrDialog;|手続き「ClrDialog」を呼んで、表示されてい...
|48|END;||
|49|Run(TEST);||
残念ながら、上記のスクリプトは
エラーになってしまう。
&ref(dialog02.jpg,,50%);
ページ名: