(現在 過去ログ28 を表示中)

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

[ 最新記事及び返信フォームをトピックトップへ ]

■4264 / inTopicNo.1)  明細とフッタの間をマウスで上下したい
  
□投稿者/ 今村 誠 -(2009/01/19(Mon) 10:36:39)
    こんにちは、マウスイベントが苦手なので教えて下さい。
    桐9-2009です。
    "sousin.wfm"サンプルのように伝票形式で作成したフォームがあります。
    最大化ボタンをクリックすると明細部とフッタ部の間に無駄な部分が
    出来るので、最大化時は明細行数を増やしてほしいのです。
     また、境界部分にボタンを設定してマウスの形状を↑↓にしてみまし
    たが、イベントが苦手なので上に行ったらフッタの本文が大きくなり
    下に行ったらフッタの本文の高さが低くなり明細行数が増えてほしい
    のです。
     定義画面ですると上下に移動するが、編集画面ではメールソフトの
    ように移動しないので、非常に不便なのです。
    Edmaxの様な画面が希望です。
引用返信 [メール受信/OFF] 削除キー/
■4265 / inTopicNo.2)  マウスドラッグでフッタの高さを変更したい?
□投稿者/ ONnoji -(2009/01/19(Mon) 15:14:27)
    >  また、境界部分にボタンを設定してマウスの形状を↑↓にしてみまし
    > たが、イベントが苦手なので上に行ったらフッタの本文が大きくなり
    > 下に行ったらフッタの本文の高さが低くなり明細行数が増えてほしい
    > のです。

    マウスドラッグでフッタの高さを変更したいということですか???。

    拙作:utx_list 2.1のフォーム(utx_list2.wfm)ではマウスドラッグでフッタの高さを変更していますよ。

    utx_list2.kev の以下のイベントハンドラを参考にしてみてください。

    famEZH::マウス左ダウン
    famEZH::マウス移動
    famEZH::マウス左アップ

    ちなみに、明細部にマウスポインタがあるときは、線は表示できないですよ。
    フッタ部にマウスポインタがあるときはOKですよ。

引用返信 [メール受信/OFF] 削除キー/
■4266 / inTopicNo.3)  Re[2]: マウスドラッグでフッタの高さを変更したい?
□投稿者/ ONnoji -(2009/01/19(Mon) 15:18:26)
    > 拙作:utx_list 2.1のフォーム(utx_list2.wfm)ではマウスドラッグでフッタの高さを変更していますよ。

    具体的なイメージはこちら
     ↓
    清書ユーティリティ 第2.1版 for 桐V8/桐V9 ヘルプ Copyright (C) 2002, 2003 ONnoji

    マウスで項目の幅や高さが変更できます
    ・マウスで項目の幅が変更できます。
    ・マウスで拡張表示の高さが変更できます。拡張表示の高さを大きくする場合、線は表示されません。

    http://www.geocities.jp/siliconvalley_bay_7565/utx_list/utx_list2_help.htm#ezw

引用返信 [メール受信/OFF] 削除キー/
■4267 / inTopicNo.4)  Re[1]: 明細とフッタの間をマウスで上下したい
□投稿者/ オヨヨ -(2009/01/20(Tue) 07:53:17)
    No4264に返信(今村 誠さんの記事)
    > 最大化ボタンをクリックすると明細部とフッタ部の間に無駄な部分が
    > 出来るので、最大化時は明細行数を増やしてほしいのです。

    proc 画面切り替え(Str &Smode)
     ウィンドウリスト取得 &実行リターン
     if (&Smode = "最大化")
      ウィンドウ位置 最大化,&実行リターン
      オブジェクト操作 @フォーム明細部.セクションの高さ = "246.0 pt"
      オブジェクト操作 @フォーム明細部.表示行数 = "12"


    ではだめ?
引用返信 [メール受信/OFF] 削除キー/
■4268 / inTopicNo.5)  Re[1]: 明細とフッタの間をマウスで上下したい
□投稿者/ うにん -(2009/01/20(Tue) 09:45:35)
    解決法じゃないですが

    > 最大化ボタンをクリックすると明細部とフッタ部の間に無駄な部分が
    > 出来るので、最大化時は明細行数を増やしてほしいのです。

    これは普通、伝票でなく一覧表を使うケースなのでは?
    多分一覧表だと何か不都合があるんでしょうけど。。。
    「伝票」というのは行数が固定しているのが前提なので。。。

    >  定義画面ですると上下に移動するが、編集画面ではメールソフトの
    > ように移動しないので、非常に不便なのです。

    定義画面では移動してるけどメールソフトのような境界位置の変更じゃなくて
    上のセクションのサイズを変更してるだけですよね。(下のセクションのサイズは変わらない)

    今年発売されたFileMaker10は、ようやくイベントを実装しましたが、
    レイアウトがいじれないのでその点はまだ桐の勝ちだな〜

引用返信 [メール受信/OFF] 削除キー/
■4269 / inTopicNo.6)  Re[2]: 明細とフッタの間をマウスで上下したい
□投稿者/ 今村 誠 -(2009/01/20(Tue) 09:45:55)
    オヨヨさんこんにちはアイデアいただきです(^_^)
    戻った場合がうまくなかったのでちょっと書き足しました。
     if (&Smode = "最大化")
      ウィンドウ位置 最大化,&実行リターン
      オブジェクト操作 @フォーム明細部.セクションの高さ = "224.0 pt"
      オブジェクト操作 @フォームフッタ部.セクションの高さ = "275.0 pt"
      オブジェクト操作 @フォーム明細部.表示行数 = "11"
     Else if (&Smode = "最小化")
      ウィンドウ位置 最小化,&実行リターン
     Else if (&Smode = "元に戻す")
      ウィンドウ位置 復元,&実行リターン
      オブジェクト操作 @フォーム明細部.セクションの高さ = "140.0 pt"
      オブジェクト操作 @フォームフッタ部.セクションの高さ = "255.0 pt"
      オブジェクト操作 @フォーム明細部.表示行数 = "7"
     Else


引用返信 [メール受信/OFF] 削除キー/
■4270 / inTopicNo.7)  Re[2]: 明細とフッタの間をマウスで上下したい
□投稿者/ ONnoji -(2009/01/20(Tue) 11:02:19)
    No4268に返信(うにんさんの記事)
    > これは普通、伝票でなく一覧表を使うケースなのでは?
    > 多分一覧表だと何か不都合があるんでしょうけど。。。
    > 「伝票」というのは行数が固定しているのが前提なので。。。

    私も一覧表形式が適していると思いますが…、きっと理由があるんでしょうね。

    わんたっち表形式2 や INF_Tools_Framework のフォームには次の2つのコマンドボタンがあります。

    コマンドボタン:EZWcmd行高(手続き実行 EZWcmdLinesPerBodyClick, 1)
    コマンドボタン:EZWcmd行低(手続き実行 EZWcmdLinesPerBodyClick, -1)

    呼び出されている一般手続き:EZWcmdLinesPerBodyClick( &整数 )は、一覧表形式と伝票形式の両方に対応しています。

    よろしければ、ご参考にしてみてください。


引用返信 [メール受信/OFF] 削除キー/
■4271 / inTopicNo.8)  Re[2]: 明細とフッタの間をマウスで上下したい
□投稿者/ 今村 誠 -(2009/01/20(Tue) 11:05:37)
    うにんさんこんにちは
    > これは普通、伝票でなく一覧表を使うケースなのでは?
    伝票から一覧表に変えてみたら明細部の空白は何事もなく消えました。
    一覧表で決めようかと思います。
    フッタ部を工夫して上下できるよう頑張ってみます。
引用返信 [メール受信/OFF] 削除キー/
■4272 / inTopicNo.9)  Re[3]: 明細とフッタの間をマウスで上下したい
□投稿者/ ONnoji -(2009/01/20(Tue) 11:14:55)
    > わんたっち表形式2 や INF_Tools_Framework のフォームには次の2つのコマンドボタンがあります。
    >
    > コマンドボタン:EZWcmd行高(手続き実行 EZWcmdLinesPerBodyClick, 1)
    > コマンドボタン:EZWcmd行低(手続き実行 EZWcmdLinesPerBodyClick, -1)
    >
    > 呼び出されている一般手続き:EZWcmdLinesPerBodyClick( &整数 )は、一覧表形式と伝票形式の両方に対応しています。

    こちらは、参考URLです。

    INF Tools 第1.1版 for 桐ver.8 / 桐ver.9 仕様ノート    By ONnoji Copyright (C) 2003

    9 小道具類(専用オブジェクト)

     フォームの倍率を変更する場合には、必ず専用のコマンドボタン( EZWcmdZoomIn,EZWcmdZoomOut )を利用してください。
     一覧表形式または伝票形式のフォームで明細行の高さを変更する場合には、
     専用のコマンドボタン( EZWcmdLinesPerBodyUp と EZWcmdLinesPerBodyDown )を利用してください。
     ※伝票形式のフォームで行の高さを変更すると、表示が揺れますがご了承ください。

    EZWcmdLinesPerBodyUp 行の高さを一段高くします
    EZWcmdLinesPerBodyDown 行の高さを一段低くします

    http://www.geocities.jp/siliconvalley_bay_7565/inf_tools_note/inf_tools_note.htm#commandButton
引用返信 [メール受信/OFF] 削除キー/
■4273 / inTopicNo.10)  Re[4]: 明細とフッタの間をマウスで上下したい
□投稿者/ 今村 誠 -(2009/01/20(Tue) 17:13:14)
    ONnojiさんうにんさんオヨヨさんも貴重なアドバイスありがとうございました。
    結局マウスはあきらめました。
    1行と3行の上下ボタンに20ptの+-で下記の手続きを設定して
    一覧表フォームにしました。
    Proc フッタ高さ変更(int &Ihedd)
     var Int{&Ihフッタobj,&Icount},str{&Sfmobjy\
    ,&Sフッタ,&S本文,&Sfobj="""t本文ファイル"",""t添付ファイル"",""b高_1"",""b高_2"",""b高_3""\
    ,""b高_4"",""bBcc"",""bCc"",""bReplyTo"",""tBCC"",""tCC"",""tReplyTo"",""tSender"""}
     &Ihフッタobj=#l(&Sfobj)-#L(#S(&Sfobj,",",""))+1
     Eval "var 文字列{&Sfml["+#str(&Ihフッタobj)+"]={"+&Sfobj+"}}"
     object &S本文 = @t本文.高さ
     object &Sフッタ = @フォームフッタ部.セクションの高さ
     object &Sfmobjy = @t本文ファイル.始点Y
     &Icount = #NUM(&Sフッタ)-#NUM(&Sfmobjy)
     &Sフッタ = #str(#NUM(&Sフッタ)+&Ihedd)+"pt",&S本文 = #str(#NUM(&S本文)+&Ihedd)+"pt"
     &Sfobj = #str(#NUM(&Sフッタ)-&Icount)+"pt"
     if (&Ihedd>0)
      object @フォームフッタ部.セクションの高さ = &Sフッタ
      for &Icount=1,&Ihフッタobj
       object &Sfml[&Icount].始点Y = &Sfobj
      end
      object @t本文.高さ = &S本文
     else
      object @t本文.高さ = &S本文
      for &Icount=1,&Ihフッタobj
       object &Sfml[&Icount].始点Y = &Sfobj
      end
      object @フォームフッタ部.セクションの高さ = &Sフッタ
     end
    End
    お世話になりました。
解決済み!
引用返信 [メール受信/OFF] 削除キー/
■4274 / inTopicNo.11)  Re[5]: 明細とフッタの間をマウスで上下したい
□投稿者/ homepiyo -(2009/01/20(Tue) 20:59:27)
    2009/01/23(Fri) 00:41:48 編集(投稿者)

    No4273に返信(今村 誠さんの記事)
    今村さん。こんにちは。
    解決ずみですが、みなさんの書き込みを参考に試しに作ってみました。
    動作が希望されているものと違うかもしれません?
引用返信 [メール受信/OFF] 削除キー/
■4275 / inTopicNo.12)  Re[6]: 明細とフッタの間をマウスで上下したい
□投稿者/ 今村 誠 -(2009/01/20(Tue) 21:48:20)
    homepiyoさんこんにちは
    意外と短い行数で希望の処理が出来ているのに感心しました。
    動作はばっちりです。
    動作の仕組みは全く理解できませんが、何回かイベントを読み返してみます。
    参考になるマウスイベントをありがとうございました。
    再定義での表送信.tblのエラーは他のフォルダーに置かずに同じフォルダーで
    良かったのではないかと思っています。
    送信.emlや受信.emlのパスを指定するだけで良かったのではないかと
    最後になって考えております。
引用返信 [メール受信/OFF] 削除キー/
■4276 / inTopicNo.13)  Re[7]: 明細とフッタの間をマウスで上下したい
□投稿者/ homepiyo -(2009/01/20(Tue) 23:46:53)
    2009/01/21(Wed) 00:07:35 編集(投稿者)
    2009/01/20(Tue) 23:50:47 編集(投稿者)

    No4275に返信(今村 誠さんの記事)
    分かりづらいようなので少し説明させてください。

    手続き定義開始 b境界::マウス左ダウン()
     &境界ボタン="左ダウン"
    手続き定義終了

    手続き定義開始 フォーム::マウス移動()
     if (&境界ボタン="左ダウン")
      &境界ボタン=""
      &境界移動="する"
     end
     if (&境界移動="する")
      &マウスyb=&マウス位置[2]
     end
    手続き定義終了

    手続き定義開始 フォーム::マウス左アップ()
     if (&境界移動="する")
      &境界移動="しない"
      手続き実行 表示行数切り替え("マウス")
     end
    手続き定義終了

    このマウス操作でマウス左アップしたときのy位置の&マウスybを取得します。


    proc 表示行数切り替え(Str &マウス)では

    ウィンドウ位置 取得でウインドウの高さを求めて&設定部高さを計算。
    &設定部高さ=&ウインドウ高さ-66
    66ptはたぶんヘッダ部、明細部、フッタ部以外の高さ。

    &マウスybから&明細部高さと&フッタ部高さを計算。
    &明細部高さ=#INT(&マウスyb÷20)-&ヘッダ部高さ
    &表示行数=#INT(&明細部高さ÷20)
    &明細部高さ=&表示行数×21
    ↑??? 20にするとなぜかフォームの高さにずれが生じる。
    &フッタ部高さ=&設定部高さ-&ヘッダ部高さ-&明細部高さ
    など

    オブジェクト操作でそれぞれの高さ、表示行数、始点yを設定しています。

    66ptとか21ptとか自分でもまだよく分かっていない部分があり
    計算式については間違っているかもしれません。
    &表示行数=#INT(&明細部高さ÷20)は
    &表示行数=#INT(&明細部高さ÷21)の方がよいようです。

    仕様としては、マウスのy位置からオブジェクトの高さ、表示行数、始点yを求めています。

引用返信 [メール受信/OFF] 削除キー/
■4278 / inTopicNo.14)  Re[8]: 明細とフッタの間をマウスで上下したい
□投稿者/ ONnoji -(2009/01/21(Wed) 10:54:10)
    老婆心ながら…

    オブジェクトの[高さ]/[幅]を操作するときは、ポイント(pt)よりトィップス(twips)を使ったほうがよいと思いますよ。

    この話題は既出なので、以下の過去ログをご参考にしてください。

    過去ログ No77
    --------------------------------------------------------------------------------
    http://www2u.biglobe.ne.jp/~s_tanaka/cgi-bin/bbs/bbs.cgi?function=logview_html&no=77
引用返信 [メール受信/OFF] 削除キー/
■4281 / inTopicNo.15)  Re[9]: 明細とフッタの間をマウスで上下したい
□投稿者/ homepiyo -(2009/01/21(Wed) 15:58:34)
    2009/01/23(Fri) 00:37:46 編集(投稿者)
    2009/01/21(Wed) 16:11:12 編集(投稿者)
    2009/01/21(Wed) 16:02:46 編集(投稿者)

    No4278に返信(ONnojiさんの記事)
    > 老婆心ながら…
    >
    > オブジェクトの[高さ]/[幅]を操作するときは、ポイント(pt)よりトィップス(twips)を使ったほうがよいと思いますよ。
    >

    ONnojiさん。ありがとうございます。

    試行錯誤しているとき、なぜかptの20倍の値が時々出てきてなんのことかよく分からなかったのです。トィップス(twips)というのですね。もしかしたら、"??? 20にするとなぜかフォームの高さにずれが生じる。"のようなことが起こるので、表示行数切り替えの手続きはトィップス(twips)を使ったほうがよいかもしれません。まだトィップス(twips)に慣れていないので今のままにしておきます。

    このマウス操作でマウス左アップしたときのy位置の&マウスybを取得するとき変数は&境界ボタンだけでよいみたいなので修正しました。

    手続き定義開始 b境界::マウス左ダウン()
     &境界ボタン="左ダウン"
    手続き定義終了

    手続き定義開始 フォーム::マウス移動()
     &マウスyb=&マウス位置[2]
    手続き定義終了

    手続き定義開始 フォーム::マウス左アップ()
     if (&境界ボタン="左ダウン")
      &境界ボタン=""
      手続き実行 表示行数切り替え(&マウスyb)
     end
    手続き定義終了

引用返信 [メール受信/OFF] 削除キー/
■4282 / inTopicNo.16)  Re[10]: 明細とフッタの間をマウスで上下したい
□投稿者/ ONnoji -(2009/01/21(Wed) 16:23:46)
    > 試行錯誤しているとき、なぜかptの20倍の値が時々出てきてなんのことかよく分からなかったのです。トィップス(twips)というのですね。もしかしたら、"??? 20にするとなぜかフォームの高さにずれが生じる。"のようなことが起こるので、表示行数切り替えの手続きはトィップス(twips)を使ったほうがよいかもしれません。まだトィップス(twips)に慣れていないので今のままにしておきます。
    > このマウス操作でマウス左アップしたときのy位置の&マウスybを取得するとき変数は&境界ボタンだけでよいみたいなので修正しました。

    オブジェクトの[幅]/[高さ]や[始点X]/[始点Y]を、数値型の変数に代入すると、twipsの値が得られますよ。
    オブジェクトの[幅]/[高さ]や[始点X]/[始点Y]は、twipsの値(数値)を指定して変更できます。

    今回の話題は、典型的なドラッグ&ドロップですね。

    この場合、利用者に親切に作るのなら、ドラッグ中に[Esc]キーでキャンセルできるといいですね。

    よろしければ、以下をご参考にしてください。
     ↓
    コラム5 項目の表示幅を自由に変更する ez_width<項目幅を変更する仕組み>
    http://www.geocities.jp/siliconvalley_bay_7565/column05.htm#overview

    <蛇足>

    横にドラッグするのも、縦にドラッグするのも、考え方は同じです。
引用返信 [メール受信/OFF] 削除キー/
■4283 / inTopicNo.17)  Re[11]: 明細とフッタの間をマウスで上下したい
□投稿者/ homepiyo -(2009/01/21(Wed) 17:24:19)
    2009/01/23(Fri) 00:39:01 編集(投稿者)

    No4282に返信(ONnojiさんの記事)
    ONnojiさん。たびたびありがとうございます。

    > オブジェクトの[幅]/[高さ]や[始点X]/[始点Y]を、数値型の変数に代入すると、twipsの値が得られますよ。
    > オブジェクトの[幅]/[高さ]や[始点X]/[始点Y]は、twipsの値(数値)を指定して変更できます。
    >
    なるほど。

    > 今回の話題は、典型的なドラッグ&ドロップですね。
    >
    > この場合、利用者に親切に作るのなら、ドラッグ中に[Esc]キーでキャンセルできるといいですね。
    >
    ドラッグ中に[Esc]キーが効くのですね。知りませんでした。

    手続き定義開始 フォーム::キーダウン()
     if (&仮想キーコード=27 .and &フラグ=1) /* マウスを押しながら[Esc] */
      &境界ボタン=""
     end
    手続き定義終了

    を入れてみました。



引用返信 [メール受信/OFF] 削除キー/
■4284 / inTopicNo.18)  Re[10]: 明細とフッタの間をマウスで上下したい
□投稿者/ うにん -(2009/01/21(Wed) 20:19:07)
    > 手続き定義開始 フォーム::マウス移動()
    >  &マウスyb=&マウス位置[2]

    マウス左アップ()でもマウス位置を拾えるので、移動中に何もしないなら
    そっちだけでいいかな?

引用返信 [メール受信/OFF] 削除キー/
■4285 / inTopicNo.19)  Re[11]: 明細とフッタの間をマウスで上下したい
□投稿者/ homepiyo -(2009/01/21(Wed) 20:37:39)
    2009/01/21(Wed) 20:40:40 編集(投稿者)

    No4284に返信(うにんさんの記事)
    >>手続き定義開始 フォーム::マウス移動()
    >> &マウスyb=&マウス位置[2]
    >
    > マウス左アップ()でもマウス位置を拾えるので、移動中に何もしないなら
    > そっちだけでいいかな?
    >
    うにんさん。ありがとうございます。

    手続き定義開始 b境界::マウス左ダウン()
     &境界ボタン="左ダウン"
    手続き定義終了

    手続き定義開始 フォーム::マウス左アップ()
     if (&境界ボタン="左ダウン")
      &境界ボタン=""
      手続き実行 表示行数切り替え(&マウス位置[2])
     end
    手続き定義終了

    結局、これだけでよかったのですね。


    ONnojiさん。トィップス(twips)を使ってみました。すっきりしたと思います。


引用返信 [メール受信/OFF] 削除キー/
■4286 / inTopicNo.20)  Re[12]: 明細とフッタの間をマウスで上下したい
□投稿者/ homepiyo -(2009/01/22(Thu) 09:15:16)
    2009/01/23(Fri) 06:08:06 編集(投稿者)
    2009/01/22(Thu) 14:44:32 編集(投稿者)

    ウィンドウの形式でオーバーラップからチャイルドに変更すると明細とフッタの間に隙間ができていたのを修正しました。#ウィンドウサイズで作業領域の高さを求めることにしました。ただ、ウィンドウ作業領域の高さと部合計の高さ(ヘッダ部の高さ+明細部の高さ+フッタ部の高さ)なぜか4pt(80twipt)ほど違います。ヘルプの#ウインドウサイズの説明に作業領域のことが書かれてあり多少小さくする必要があるのかもしれません??


    ONnojiさんよるマウスドラッグでフッタの高さを変更やトィップス(twips)に統一などで仕組みが理解できるようになりました。フッタの高さを変更は今後自作プログラムに応用できそうです。

    今村さん。最初のサンプルはかなり分かりづらいのではないかと思います。やっと自分なりに整理できましたのでサンプルを添付します。何回も添付してすいません。これで最終にしようと思います。

引用返信 [メール受信/OFF] 削除キー/

次の20件>

トピック内ページ移動 / << 0 | 1 >>

[このトピックに返信]
Mode/  Pass/

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

- Child Tree -
- Antispam Version -