過去の桐井戸端BBS (桐ver.9)
20846 オーバーラップフォーム内で別の表を編集したい 沼田政治 2003/06/13-11:10
いつもお世話になります。
オーバーラップ形式でフォームを表示している状態で、新たに別の表を開いて表形式編集を行いたいと思っています。
kev内でコマンドの記述によりウィンドウを作成しようとするとチャイルド形式のウィンドウは作成できないとエラーが返ってきます。
これは仕様だと理解しました。

元フォーム内にコマンドボタンを作り、機能に目的の表を開くように設定すると、
表自体は開きますが最後面で開いているだけで編集することができません。
これも、同じように仕様だろうと思っています。単純に、フォームを一つ、オーバーラップ形式で表示しているために、
その他のウィンドウなどはその下に隠れてしまうのだろうなと思いました。
一方で、この元フォーム上で別のフォームを表示させようとすると、
それがチャイルド形式のフォームであっても表示させることができます。
そこで、今問題と感じていることを解決するためには、
編集のためのフォームを新たに作って作業するしかない、
ということになるのでしょうか。


20853 オーバーラップフォームから別のフォームを開く 佐田 守弘 2003/06/14-00:13
記事番号20846へのコメント
沼田政治さん
現象と理由はお書きになられている通りです。
以前私もこの問題で困った経験があります。

オーバーラップフォームは、それ自体が桐ウィンドウと同じ位置付けの様ですね。
オーバーラップフォームを開いている状態で、表を開いて編集しようとしても
オーバーラップフォームの裏側に隠れてしまいます。

唯一可能なのが、フォーム呼び出しで新しいフォームをモーダルフォームとして開く方法です。
つまり表編集ではなく、フォーム編集を行う事になります。

この方法で開かれたフォームは、オーバーラップフォームの前面に開きます。
ただし、モーダルですからこのフォームを綴じない限り、元のフォームには戻れません。

何が何でもオーバーラップフォームから別の表を開いて、表編集を行いたい時には、苦肉の策ですが、
もう1つ桐ウィンドウを開き、別の桐(正しくは別の桐環境)で別の表を開きます。
具体的には、目的の表を開いて編集するコマンドを記述した一括処理ファイルを開けば良いでしょう。

佐田守弘(KS-00119)
20854 Re:オーバーラップフォームから別のフォームを開く 沼田政治 2003/06/14-00:50
記事番号20853へのコメント
佐田さん、ありがとうございます。

桐というシステムはそういう設計なんだということですよね。
仕方ないと思います。
もう1つの桐ウィンドウを開くということは桐を2重に起動するという意味だと思います。
まだ試してはいませんが、重くなるのではないかと心配です。
結構、計算にも時間がかかっていますから、これ以上時間を取られると厳しいかな....、と。
やはりモーダルフォームを新しく作るのが賢明そうですね。

ついでと言っては失礼ですが、
オーバーラップフォームから新しいフォームを呼び出した場合、
元のフォームと2つのフォームが同時に開いている、と考えてもよろしいですか?
操作ができるのが前面に出ているフォームだけで、元のフォームはただ停止しているだけ。
前のフォームさえ閉じれば元のままで操作ができるようになる、と考えてもいいんでしょうか。
例えば、元のフォームにはフォーム開始イベントなどで整形をしてから表示させるようにしていますが、
モーダルフォームを開いて閉じた後、もう一度フォーム開始イベントなどが実行されてしまうとか、
そんなことはないのでしょうか。

もう一つ、ついでで申し訳ないんですが、
コマンドボタンやイベントが便利なものですからどうしてもフォームを作ってしまいます。

でも、中には、フォームなどを作らなくても表形式の編集で十分なTBLもあります。
このTBLにボタンやイベントを付けられれば良いんですが、そうもいかないですからね。
そこで、簡単に....、見映えは表のままでかまいませんので、表をフォームに変換する、なんて方法は、ないでしょうね....。

戻る