過去の桐井戸端BBS (桐ver.9)
26374 イベント処理で自身のフォームを閉じたい ABZ研究所 2004/05/19-16:15
たびたびお世話になっています。
また,壁にブチあたりました。・・・

・イベント処理で自身のフォームを閉じたいのですが,イベントで使用できそうな処理コマンドが見つかりません。

(具体的な状況)
・現在アプリケーションを試作中ですが,これまではフォームにコマンドボタンを作成し,
「機能名」で「閉じる」を指定して作業を進めていました。
当然,当該ボタンを押すとフォームは閉じました。

・次に,ユーザインターフェースで各機能についてファンクションキ−による操作が併用できるようにするため,
ファンクションキー(具体的にはF12)を 押した場合も,上記と同様にフォームが閉じるようにしようと試みましたが,
キーダウンイベントは拾うものの,「終了」に関係ありそうなコマンドはどれもイベントでは使用不可ばかりで悩んでしまいました。

普通にできて当たり前そうなので,たぶん私のHELPの見落としと思うのですが,失礼ながら質問させていただきました。
よろしくお願い致します。

*WIN桐9−2004を使用しています。



26376 Re:コマンドでフォームを閉じたいのですが 悲しげ 2004/05/19-16:22
記事番号26374へのコメント
kevの記述でフォームを閉じるには「閉じる」機能のボタンを「メソッド呼び出し/実行」とします。
機能が「閉じる」であるボタンの名が「b閉じる」だった場合、記述は次のようになります。

メソッド呼び出し ハンドル=<ハンドル>,戻り値=<変数名>,@b閉じる.実行()

kevの記述が自フォームであった場合は、普通は「ハンドル=」
パラメータは省略します。
それと「戻り値」は、私は使ったことありません。(^^;)

26378 解決しました ABZ研究所 2004/05/19-16:39
記事番号26377へのコメント
ありがとうございました。
でも,このような使い方は一般的ではないのですかねえ?

26379 Re:#26377は間違って送信しました。 で,解決しました 悲しげ 2004/05/19-16:49
記事番号26378へのコメント
>でも,このような使い方は一般的ではないのですかねえ?

ん〜?
いまいち文脈が読めませんが、私は閉じるボタンのメソッド実行が一般的だと思います。
無理矢理「ウィンドウ終了」コマンドを実行させても、実際は何とか動く場合もあるようなのですが、
むしろ「一般的ではない」と思います。

26380 Re[実行]メソッド ONnoji 2004/05/19-17:05
記事番号26379へのコメント
ABZ研究所さん、こんにちは。

悲しげさん、横レス失礼します。m(__)m

すでに解決済みのようですが、蛇足を書かせていただきます。

悲しげさんがお書きになったように、
機能名:閉じるが設定されているコマンドボタンに対して、
[実行]メソッドを実行するのが一番良いと思いますよ。

この理由ですが…

ウィンドウ終了 &hwindow  

とすると、[フォーム終了]イベントが実行されなかったように記憶しています。

もしも、私の誤った記憶であれば…
先に言っちゃいますね、すいません。m(__)m



26381 Re:Re[実行]メソッド ONnoji 2004/05/19-17:10
記事番号26380へのコメント
>ウィンドウ終了 &hwindow  

すいません、訂正です。

[ウィンドウ終了]コマンドは

イベントでの使用:△自身のフォームに対しては、つねに不可。

ということでしたね。

ということで、

ウィンドウ終了 <自身以外のフォームのハンドル番号>

と訂正させていただきます。

お騒がせしてすいません。m(__)m


26382 Re:#26377は間違って送信しました。 で,解決しました ABZ研究所 2004/05/19-17:11
記事番号26379へのコメント
主語もなく,変なつぶやきですみませんでした。
正確には,自身のフォームを閉じる という処理をコマンドで実行することが,普通やらないことなのかと感じた次第です。
はじめからこの機能のコマンドにあってもいいのではないかと思ったもので・・・
アドバイスいただいた方法は,これからも使えそうで,活用したいと思っています。
※現実に,他のファンクションキーの機能も,別に手続きを書いていたのですが,
 同じ方法により,ホタンに割り当てた機能をコマンドで実現できるのですね。
 早速修正します。

26388 Re:変なつぶやき 悲しげ 2004/05/19-20:38
記事番号26382へのコメント
>自身のフォームを閉じる という処理をコマンドで実行することが,
>普通やらないことなのかと感じた次第です。
>はじめからこの機能のコマンドにあってもいいのではないかと思った
>もので・・・

ははぁ、なるほど、御意ですね。
そういえば、桐v8の初期に、私もそう感じました。(やや「遠い目」)
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
[ウィンドウ終了]コマンドは
イベントでの使用:△自身のフォームに対しては、つねに不可。
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
ってぇのには、確かにレレレのオッサンになりました。
K3の開発の考え方なんでしょうかねぇ。
実態的には[×]ボタンの「メソッド/実行」であったとしても、
それを一括処理コマンドとして仮称「フォーム閉じる」とかなんとかで
提供してくれたらよかったんじゃないかと。

26389 Re:変なつぶやきへの補足 悲しげ 2004/05/19-20:53
記事番号26388へのコメント
補足です。(^^;)

>自身のフォームを閉じる という処理をコマンドで実行することが,
>普通やらないことなのかと感じた次第です。
>はじめからこの機能のコマンドにあってもいいのではないかと思った
>もので・・・

cmd、いわゆる「古典一括」からウィンドウを開いた場合は、
「ウィンドウ作成」/「ウィンドウ終了」で開閉するのが
それこそ「普通」やることです。
この場合の自ウィンドウは、一括処理自体がそれに当たるのかもしれません。

イベント(kev)の場合には(自フォームを)「ウィンドウ終了」で閉じることは「普通やらないこと」、ってことになりますね。

26390 整理すると 悲しげ 2004/05/19-21:09
記事番号26389へのコメント
すいません、一度に書けばいいものを・・・(^^;)
自分で書いたものを読んでいて気づいたもので・・・(^^;)

古典一括にせよイベントにせよ、ともかく「自ウィンドウ」を
「ウィンドウ終了」で閉じることはできない仕様と考えれば、
終始一貫しているかも。

つまり、古典一括の場合の「自ウィンドウ」は(たとひ画面に
見えていなくても)一括処理自身がそれに該当していて、
これを閉じるのは「ウィンドウ終了」ではなく「終了」系コマンド。

イベントの場合、「自ウィンドウ」を閉じるのは「ウィンドウ終了」コマンドではなく閉じる機能牡丹の「実行」メソッド。

いずれにせよ、「ウィンドウ終了」コマンドで閉じることができるのは「自ウィンドウ」以外のウィンドウ。

ついでに云えば、「終了」系コマンドは一括処理専用、
閉じる等牡丹の「実行」メソッドはフォーム/kev専用で、互いに共用できない。

こんな感じで整理できるような気がしたのですが?

26391 Re:整理すると 尾形 2004/05/20-08:10
記事番号26390へのコメント
こんにちは

>いずれにせよ、「ウィンドウ終了」コマンドで閉じることがで
>きるのは「自ウィンドウ」以外のウィンドウ。
メソッド呼び出し ハンドル=&h他のwindow,@b閉じる.実行()
他のウインドウのボタンを実行させて
終了する事もできます


戻る