HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

■14552 / 親記事)  フォームの閉じ方について
  
□投稿者/ ジェダイの桐 -(2024/09/02(Mon) 11:17:57)
    2024/09/02(Mon) 12:16:17 編集(投稿者)

    桐10s Windows10を使用しています。


    ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

    知りたい事

    ウィンドウ終了コマンドでフォームを閉じる事は、有りなのかが知りたい。

    ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

    前提

    Aフォーム と Bフォーム があります。

    Aフォームの オブジェクトの属性 オプション 実行コマンド終了時に
    cmdBフォーム閉じるの手続きを指定します。

    Aフォーム ウインドウ右上にある ×ボタン を押した時
    手続き cmdBフォーム閉じる の中で、

     Bフォームが 開いている 閉じている
     Bフォームの 表示状態 訂正状態

    を調べる事を前提とします。

    ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

    こんにちは。

    今回 Aフォーム(発注履歴) Bフォーム(取引先納品データ)を作成しました。
    入荷有無 価格チェック をする為のフォームとなります。

    作業が終わった時、上記前提通り Bフォームが 開いていて 表示状態 の時
    ウィンドウ終了コマンドでフォームを閉じる プログラムを作成しました。

    それ自体は狙い通り動いたのですが、結論 このやり方で Bフォームを閉じる事は止めました。


    止めた理由

     Bフォームが訂正状態の時は結局 Bフォーム側で閉じるのが自然な動作だと思った
     起点 が Aフォーム なのに Aフォームのタイミングで Bフォームが閉じられる 事がシックリこなかった


    フォームを開く時 →
     Aフォーム で コマンドボタンBフォームを開く(機能名1で 表示 を指定)を作成すれば Bフォームが開く

    フォームを閉じる時 →
     Aフォーム で コマンドボタンBフォームを閉じる(機能名1で 表示 を指定)を作成しても 閉じない


    仮に、Aフォームで コマンドボタンBフォームを閉じる が機能すれば
    Aフォームのタイミングで Bフォームが閉じられる事がシックリくるのですが・・・


    Aフォーム を閉じる時に Bフォームも閉じる方法で

     ウィンドウ終了コマンドでフォームを閉じる事は、有りなのか
     Aフォーム を閉じる時に Bフォームも閉じる事は 有り だけど別の方法の方が良い
     Aフォーム を閉じる時に Bフォームも閉じる事は 良くない


    どなたか、お時間のある時、考え方を教えて頂けたら幸いですm(__)m




引用返信 [メール受信/OFF] 削除キー/
■14553 / ResNo.1)  Re[1]: フォームの閉じ方について
□投稿者/ ONnoji -(2024/09/02(Mon) 13:59:03)
    2024/09/02(Mon) 14:33:26 編集(投稿者)
    2024/09/02(Mon) 14:17:20 編集(投稿者)

    > 知りたい事
    >
    > ウィンドウ終了コマンドでフォームを閉じる事は、有りなのかが知りたい。

    まず、ヘルプには気になることが書いてあります

    ウィンドウ終了
    --------------------------------------------------------------------------------
    イベントでの使用 △自身のフォームに対しては、つねに不可。
             ・・・・・・・・・・・・・・・・・・・

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    私( ONnoji )は個人的に次のように考えています。

    【桐の釣魚大全のトップ > フォームアプリケーション教書 第1部】より転載

    7.3 レガシーなアプローチ
    http://silicon7565.html.xdomain.jp/guide/guide_Part1.htm#section7-3

     ■[ウィンドウ終了]コマンド
     [フォーム+イベント処理]でも[ウィンドウ終了]コマンドは実行できますが、[ウィンドウ終了]コマンドを使用するのは絶対に止めた方がいいです。※注9
    なぜならば、[フォーム+イベント処理]で[ウィンドウ終了]コマンドを実行した場合にはバグが多いからです。
    ちなみに、編集対象表があるフォームでは、更新モードの場合にはレコードの変更値は保存されません。
    それと同時に[フォーム終了]イベントハンドラが実行されないという問題も発生します。
    つまり、かなり「ギャッ〜!」という状況になりますので、[フォーム+イベント処理]では[ウィンドウ終了]コマンドは使うべきではありません。
    ということで、コマンドボタンの[機能名:閉じる]を必ず利用するべきです。
    なお、コマンドボタンは[実行]メソッドで実行できますので、一般手続き(またはイベントハンドラ)からコマンドボタンの[機能名:閉じる]が使用できます。


    ※↑上のレガシーの意味は、「一括処理において」という意味です。
     一括処理は[フロー駆動型]で、[フォーム+イベント処理]は[イベント駆動(ドリブン)型]です。
     この両者には根本的な違いがあるので、「一括処理において使用できる」コマンドでも、[フォーム+イベント処理]に適さない場合があります

    p.s.

    じゃあどうするの?

    【桐の釣魚大全のトップ > フォームアプリケーション教書 第1部】より転載

    7.2 メソッドでコマンドボタンを実行する
    http://silicon7565.html.xdomain.jp/guide/guide_Part1.htm#section7-2

     一般手続き(またはイベントハンドラ)でフォームを開く場合には、[実行]メソッドでコマンドボタンを実行します。 ※注7
     例えば、[オブジェクト名:cmdBフォームを開く]を一般手続き(またはイベントハンドラ)で実行するには次のようにします。

      オブジェクト名:cmdBフォームを開く
     ┌────────────────┐
     │機能名  機能パラメータリスト │
     │1 開く  Bフォーム      │
     │2 閉じる            │
     │3 なし             │
     │4 なし             │
     └────────────────┘

      (例)
      手続き定義開始 procedureName( )
       変数宣言 自動,文字列{ &objectName }
       変数宣言 自動,整数 { &return }

       &objectName = "cmdBフォームを開く"
       メソッド呼び出し 戻り値 = &return, &objectName.実行( )

      手続き定義終了

     なお、この例では、[機能名:開く]の[機能パラメータ:Bフォーム]のようにリテラル(直値)で指定していますが、
    [機能パラメータ:&variableName]のように変数で指定しても構いません。

     ◇ ◇ ◇

    ↑上の例は、自分自身のフォームのコマンドボタンをメソッドで実行していますが、自分自身以外のフォームのコマンドボタンも実行できます。

    例えば、それぞれのフォームにコマンドボタン:cmd閉じるが 配置してあるとします。※コマンドボタンはワークスペースに配置してもよいし、非表示にしてもOK
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    その場合には、

     &objectName = "cmd閉じる"
     メソッド呼び出し ハンドル = &hdl, 戻り値 = &return, &objectName.実行( )

    とすればOKです。

    問題は、ハンドル = &hdl というパラメータですね。
        ・・・・・・・・

    &hdl は(桐の)ウィンドウハンドル番号です。

    このウィンドウハンドル番号を如何にするかという話題は、だいぶ前のやり取りで話題にしていますね。

    もうお忘れになりましたか??


引用返信 [メール受信/OFF] 削除キー/
■14554 / ResNo.2)  Re[2]: フォームの閉じ方について
□投稿者/ ジェダイの桐 -(2024/09/02(Mon) 14:59:03)
    ONnojiさん


    こんにちは!


    返信ありがとうございますm(__)m


    > 7.3 レガシーなアプローチ
    > http://silicon7565.html.xdomain.jp/guide/guide_Part1.htm#section7-3
    >
    >  ■[ウィンドウ終了]コマンド
    >  [フォーム+イベント処理]でも[ウィンドウ終了]コマンドは実行できますが、[ウィンドウ終了]コマンドを使用するのは絶対に止めた方がいいです。※注9
    > なぜならば、[フォーム+イベント処理]で[ウィンドウ終了]コマンドを実行した場合にはバグが多いからです。


    私が最大に引っかかったのが、上記の文言でした。
    ずっと引っかかっていたのです(T_T)


    > 7.2 メソッドでコマンドボタンを実行する
    > http://silicon7565.html.xdomain.jp/guide/guide_Part1.htm#section7-2
    > ↑上の例は、自分自身のフォームのコマンドボタンをメソッドで実行していますが、自分自身以外のフォームのコマンドボタンも実行できます。
    >
    >  &objectName = "cmd閉じる"
    >  メソッド呼び出し ハンドル = &hdl, 戻り値 = &return, &objectName.実行( )


    桐のヘルプを読んだ気になっていました・・・
    しっかりと ハンドル = <ハンドル> と記載がありました。

    ------------------------------------------------------------------------------

    ■構文
    メソッド呼び出し  ハンドル = <ハンドル>,戻り値 = <変数名>,\
    <コマンドボタン>.実行()
     

    ■パラメータ
    ハンドル = <ハンドル>
    処理対象となるフォームウィンドウのハンドルを指定します(計算式)。

    ------------------------------------------------------------------------------


    > 問題は、ハンドル = &hdl というパラメータですね。
    >     ・・・・・・・・
    >
    > &hdl は(桐の)ウィンドウハンドル番号です。
    >
    > このウィンドウハンドル番号を如何にするかという話題は、だいぶ前のやり取りで話題にしていますね。


    はい!
    こちらは、■14515 主ウィンドウ と 補助ウィンドウについて の時に触れてくださっています。

    > ちなみに、モーダルな「フォーム+イベント処理」のウィンドウハンドル番号は、事前に組み込み変数・固有変数等に代入しておけば、

    > モーダルな「フォーム+イベント処理」側でその値を調べるのは簡単にできます。

    これを応用すれば、ウィンドウハンドル番号を取得可能と考えます。

    Bフォームを開いた時に 実行コマンド 開始時 cmdStartup で &実行リターン = &hwindow

    で取得するか、

    Aフォームを閉じる直前に Aフォーム側で
    &tblFileNameBフォーム = #一括パス + "Bフォーム.tbx"
    &tblNumBフォーム = #表番号取得( &tblFileNameBフォーム )

    とすれば、ウィンドウハンドル番号を取得可能と思います。


    フォームを閉じる考え方が分かってスッキリしました!

    回答ありがとうございましたm(__)m
解決済み!
引用返信 [メール受信/OFF] 削除キー/
■14555 / ResNo.3)  Re[3]: フォームの閉じ方について
□投稿者/ ONnoji -(2024/09/02(Mon) 15:09:41)
    2024/09/02(Mon) 15:11:06 編集(投稿者)

    すでに解決済みだそうですが・・・(^^ゞ

    > Aフォーム を閉じる時に Bフォームも閉じる方法で
    >
    >  ウィンドウ終了コマンドでフォームを閉じる事は、有りなのか
    >  Aフォーム を閉じる時に Bフォームも閉じる事は 有り だけど別の方法の方が良い
    >  Aフォーム を閉じる時に Bフォームも閉じる事は 良くない

    AフォームとBフォームの関係が深い場合、※あたかも量子もつれのような・・・(^^ゞ

    もしも、Aフォームが閉じられたならば、Bフォームも同期して閉じられるのが自然でしょうね。

    こういうややこしい問題は、BフォームをAフォームから開いたモーダルフォームにしてしまえば大方解決しますが、

    Bフォームがモードレスフォームだといろいろと考慮しなければなりませんね。

    多重化によって、AフォームとBフォーム編集対象表が同じという場合もありますね。

    ※ちなみに、私( ONnoji )は、多重化した表は[ステルスな表]としか扱いませんので、この問題は発生しません。

    いろいろ試して、一番自然だと思われるアプローチをするのが良いと思いますよ。

    そのためには、桐だけ見ていないで、他のソフトではウィンドウをどう扱っているのか観察するのも良いと思いますよ。

    そう、フィーリングを養うことですね。feel the force. v(^^)v

引用返信 [メール受信/OFF] 削除キー/
■14556 / ResNo.4)  Re[4]: フォームの閉じ方について
□投稿者/ ジェダイの桐 -(2024/09/02(Mon) 15:27:15)
    ONnojiさん


    こんにちは!


    > AフォームとBフォームの関係が深い場合、※あたかも量子もつれのような・・・(^^ゞ
    >
    > もしも、Aフォームが閉じられたならば、Bフォームも同期して閉じられるのが自然でしょうね。


    この 関係性 がキモになってくるのでしょうね。


    > こういうややこしい問題は、BフォームをAフォームから開いたモーダルフォームにしてしまえば大方解決しますが、


    心底そう思いました(T_T)


    > Bフォームがモードレスフォームだといろいろと考慮しなければなりませんね。
    >
    > 多重化によって、AフォームとBフォーム編集対象表が同じという場合もありますね。


    既にBフォームが閉じられている
    作業中 Aフォームを閉じて 別表を開いた状態で
    再度Aフォームを開いた場合、ウィンドウハンドル番号が変わっている
    ウィンドウハンドル番号が増えている ・・・等々


    想定しないといけない事が増えすぎて、頭がオーバーヒートしました(T_T)
    その割に、ONnojiさんに メソッド呼び出し の ハンドル指定 を教えて貰うまでは
    ウィンドウ終了コマンドでフォームを終了しようとしてた訳です。

    手をかけた割にリスクが高いプログラムだと思った事と、シックリこない(引っかかる)のできっぱり ウィンドウ終了コマンド は止めたのでした(^^ゞ

    教えて頂いた メソッド呼び出し で 再トライします!


    > いろいろ試して、一番自然だと思われるアプローチをするのが良いと思いますよ。
    >
    > そのためには、桐だけ見ていないで、他のソフトではウィンドウをどう扱っているのか観察するのも良いと思いますよ。
    >
    > そう、フィーリングを養うことですね。feel the force. v(^^)v


    アドバイスありがとうございます(^^♪
    いつも励みにさせて貰っていますm(__)m


引用返信 [メール受信/OFF] 削除キー/
■14557 / ResNo.5)  Re[5]: フォームの閉じ方について
□投稿者/ ONnoji -(2024/09/03(Tue) 10:20:41)
    余談を少々・・・m(__)m

    > 既にBフォームが閉じられている
    > 作業中 Aフォームを閉じて 別表を開いた状態で
    > 再度Aフォームを開いた場合、ウィンドウハンドル番号が変わっている
    > ウィンドウハンドル番号が増えている ・・・等々
    > 想定しないといけない事が増えすぎて、頭がオーバーヒートしました(T_T)

    (桐の)ウィンドウハンドル番号はなかなか面倒です。

    簡易的にするなら、#表番号取得( &fikeName ) でいいでしょうけれど・・・

    でも、NULL フォームだったら表番号は無いでしょう・・・(T_T)/~~~

    どうする!?

    最初は簡易的で良いと思いますよ。

    最初から完璧を目指すのは無理ですから、実用の範囲で簡易的な方法で良いと思います。

    なぜならば、ウィンドウハンドル番号を完璧に調べようとすると泥沼にハマるからです。

    もちろん、慣れてしまえば、泥沼だってスイスイと泳げるようになるのですが、

    そのためには、泥沼で溺れて死にそうな目に会う経験が必要ですよ。

    とてもひどい例え話ですが、それくらい面倒なんです。
    ・・・・・・・・・・・・・・・・・・・・・・・・

    だから、実用の範囲で簡易的な方法でOKなんです。

    もちろん、プログラムの作り方は自由ですから当然なんですよね。(^^ゞ

     ◇ ◇ ◇ ◇ ◇ ◇ ◇

    ちなみに、拙作:INF_Framework では泥沼をスイスイと泳ぐ仕掛けをたくさん用意してあります。

    しかし、拙作:INF_Framework は[名札 メイン]に相当な行数を使うからだと思いますが、

    拙作:INF_Framework を積極的に組み込んで使う人はまず居ませんね。

    こればかりは、人様に押し売りすることが出来ませんので残念です。アハハハha


引用返信 [メール受信/OFF] 削除キー/
■14558 / ResNo.6)  Re[2]: フォームの閉じ方について
□投稿者/ ジェダイの桐 -(2024/09/03(Tue) 14:17:51)
    ONnojiさん


    こんにちは!
    ONnojiさんに頂いたアドバイスで、プログラムを試しました。

    結果、イメージ通りの動きになりました!
    ありがとうございましたm(__)m


    ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇


    Bフォーム ワークスペース部

      オブジェクト名:cmd閉じる
     ┌────────────────┐
     │機能名  機能パラメータリスト │
     │1 表示             │
     │2 閉じる            │
     │3 なし             │
     │4 なし             │
     └────────────────┘

    Aフォーム ワークスペース部

      オブジェクト名:cmdFinish
     ┌────────────────┐
     │機能名  機能パラメータリスト │
     │1 表示             │
     │2 手続き実行 cmdFinishClick  │
     │3 なし             │
     │4 なし             │
     └────────────────┘

    オブジェクト属性 オプション 実行コマンド 終了時 cmdFinish


    ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇


    名札 メイン
     変数宣言 局所, 文字列 { &mTblFileNameBフォーム }
     変数宣言 局所, 数値  { &mTblFileSizeBフォーム }
     変数宣言 局所, 整数  { &mTblStatusBフォーム }

     &mTblFileNameBフォーム = #一括パス名 + "Bフォーム.tbx"


    手続き定義開始 cmdFinishClick()
     変数宣言 自動, 文字列 { &title, &msg }
     変数宣言 自動, 文字列 { &objectName }
     変数宣言 自動, 整数  { &trace, &return }
     変数宣言 自動, 整数  { &tblNumBフォーム }
     変数宣言 自動,文字列 { &WQ = #jis( #hex("22") ) }  /* 半角の二重引用符 */

     &title = "cmdFinishClick()"
     &trace = 1

     トレース出力 &title + "を実行開始しました"

     手続き実行 prcファイル状態チェック()

     if ( &mTblFileBフォーム > 0 )

       if ( &mTblStatusBフォーム = 0 )   /* 戻り値 意味 1 : 対象表が閉じている 0 : 対象表が開いている */

         &tblNumBフォーム = #表番号取得( &mTblFileNameBフォーム )
         &objectName = "cmd閉じる"

         メソッド呼び出し ハンドル = &tblNumBフォーム, 戻り値 = &return, &objectName.実行()

       else

        ** &mTblFileNameBフォーム が閉じている為 Aフォームを閉じるだけです

       end

     end

     トレース出力 &title + "を実行終了しました"

    手続き定義終了

    手続き定義開始 prcファイル状態チェック()
     変数宣言 自動, 文字列 { &title, &msg }
     変数宣言 自動, 整数  { &trace }
     変数宣言 自動,文字列 { &WQ = #jis( #hex("22") ) }  /* 半角の二重引用符 */

     &title = "prcファイル状態チェック()"
     &trace = 1

     トレース出力 &title + "を実行開始しました"

     &mTblFileSizeBフォーム = #u
     &mTblFileSizeBフォーム = #ファイルサイズ( &mTblFileNameBフォーム )
     ** 戻り値 意味
     ** 0   指定するファイルがフォルダであれば 0 になります
     **-1   ファイルが存在しないときは -1 になります

     if ( &mTblFileSizeBフォーム > 0 )

       &mTblStatusBフォーム = #u
       &mTblStatusBフォーム = #ファイル使用( &mTblFileNameBフォーム, 1 )   /* 戻り値 意味 1 : 対象表が閉じている 0 : 対象表が開いている */

     else

       &msg = "\n " + &WQ + &mTblFileNameBフォーム + &WQ + " が見つかりませんでした。"
       メッセージボックス &title, &msg, アイコン = i ボタン指定 = 1, 制御文字展開 = する

     end

     トレース出力 &title + "を実行終了しました"

    手続き定義終了

引用返信 [メール受信/OFF] 削除キー/
■14559 / ResNo.7)  Re[6]: フォームの閉じ方について
□投稿者/ ジェダイの桐 -(2024/09/03(Tue) 14:42:53)
    ONnojiさん


    こんにちは!


    > でも、NULL フォームだったら表番号は無いでしょう・・・(T_T)/~~~


    この問題もありますよね(T_T)


    > 最初は簡易的で良いと思いますよ。
    >
    > 最初から完璧を目指すのは無理ですから、実用の範囲で簡易的な方法で良いと思います。


    はい!
    と言うより、実力的にそうやって問題をクリアするしかないのです・・・


    が、しかし、実力が無いなりに ウィンドウ終了コマンド が危険な臭いがする事はONnojiさんのサイトから感じ取っていました。


    なので、自分が作ったプログラムでも動いたけど、実装を止めたのでした。
    でも、cmd開く が出来るなら 何か近しい事が出来るのじゃないかな?
    と思って、ツリーを立ててみたのです。


    本当にアドバイスありがとうございましたm(__)m


    > ちなみに、拙作:INF_Framework では泥沼をスイスイと泳ぐ仕掛けをたくさん用意してあります。
    >
    > しかし、拙作:INF_Framework は[名札 メイン]に相当な行数を使うからだと思いますが、
    >


    実際ONnojiさんのフォームは凄く便利なんですよ。
    1点、自分が作ったプログラムは何処に記述したら良いか分からない為
    本格使用に至らないですよね・・・(T_T)

    だけど、utx_list3 はもはや必須で使用しています!
    これがないと、プログラムが書きにくいです(^^ゞ

    特に 字下げ 論理のアクションダイアグラム 変数チェック を便利に使っています(^^♪


引用返信 [メール受信/OFF] 削除キー/
■14560 / ResNo.8)  Re[7]: フォームの閉じ方について
□投稿者/ ONnoji -(2024/09/03(Tue) 15:24:23)
    2024/09/03(Tue) 15:29:09 編集(投稿者)

    ジェダイの桐さん

    >>ちなみに、拙作:INF_Framework では泥沼をスイスイと泳ぐ仕掛けをたくさん用意してあります。
    >>しかし、拙作:INF_Framework は[名札 メイン]に相当な行数を使うからだと思いますが、
    > 実際ONnojiさんのフォームは凄く便利なんですよ。
    > 1点、自分が作ったプログラムは何処に記述したら良いか分からない為
    > 本格使用に至らないですよね・・・(T_T)

    拙作:INF_Framework をフルスペックで使おうとすると色々とオブジェクトが必要なので腰が引けますよね。

    でも、フォームでの項目の列固定と項目スクロールを使わないで良いのであれば、導入はとても簡単なんですよ。

    拙作のこの機能を[表もどき( FLD/EZW )]と呼んでいます。これは簡単に無効に出来ます。

    この[表もどき( FLD/EZW )]を無効にして使うためには、

    そちらの既に出来上がっている[フォーム+イベント処理]に、

    たった2つの一般手続きをイベント処理(.kex)に追加するだけで、泥沼をスイスイと泳ぐ仕掛けが使えるようになりますよ。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    また、メッセージボックスの手続き: INFprcMsgPause, INFprcMsgOKCancel, INFprcMsgYesNo も使えるようになります。
       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    つまり、使えないのは[表もどき( FLD/EZW )]だけで、それ以外の INF_Framework の機能はすべて使えます。

    ということで、添付ファイルでご案内しますが、いかがでしょうか???

    p.s.

    > だけど、utx_list3 はもはや必須で使用しています!
    > これがないと、プログラムが書きにくいです(^^ゞ
    > 特に 字下げ 論理のアクションダイアグラム 変数チェック を便利に使っています(^^♪

    アクションダイアグラムは、桐言語のような手続き型言語では便利だと思いますよ。

    拙作:utx_list3 は、dBASE用のアクションダイアグラム作成ソフトの dLIST からインスパイアーしたものです。

    機能は、当時の dLIST よりも豊富に用意してありますよ。

    とにかく便利さをテンコ盛りにしたので、使い易いだろうと思います。

    おっと、これは自画自賛でしたね。アハハハha


引用返信 [メール受信/OFF] 削除キー/
■14561 / ResNo.9)  Re[8]: フォームの閉じ方について
□投稿者/ ジェダイの桐 -(2024/09/03(Tue) 15:34:17)
    ONnojiさん


    こんにちは!


    > でも、フォームでの項目の列固定と項目スクロールを使わないで良いのであれば、導入はとても簡単なんですよ。
    >
    > 拙作のこの機能を[表もどき( FLD/EZW )]と呼んでいます。これは簡単に無効に出来ます。
    >
    > この[表もどき( FLD/EZW )]を無効にして使うためには、
    >
    > そちらの既に出来上がっている[フォーム+イベント処理]に、
    >
    > たった2つの一般手続きを追加するだけで、泥沼をスイスイと泳ぐ仕掛けが使えるようになりますよ。
    >
    > また、メッセージボックスの手続き: INFprcMsgPause, INFprcMsgOKCancel, INFprcMsgYesNo も使えるようになります。
    >
    > つまり、使えないのは[表もどき( FLD/EZW )]だけで、それ以外の INF_Framework の機能はすべて使えます。
    >
    > ということで、添付ファイルでご案内しますが、いかがでしょうか???


    是非、紹介して下さいm(__)m
    自分で書いたプログラムも実装出来やすくなると嬉しいです(^^♪

    お世辞抜きで ONnojiさん のフォームは便利なんですよ。

    まず、項目が自動取得される事、
    項目数に上限がない(こちらはもしかしたらあるかもしれないですが、30位は楽々表示される)

    デフォルトのフォームだと 項目数が引っかかる事があり 泣く泣く 項目を削るんですよね・・・
    しかも、表示幅を調節しながら涙ぐましい努力もしなければなりません(T_T)

    でも ONnojiさん のフォームは自動で 普通に使用する上では項目数は気にしなくて良い

    これだけでも有難いのです(^^♪
引用返信 [メール受信/OFF] 削除キー/

次のレス10件>

スレッド内ページ移動 / << 0 | 1 >>

このスレッドに書きこむ

Mode/  Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -