過去の桐井戸端BBS (桐ver.8)
16010 フォーム明細部の繰り返し表示で教えて下さい。 磯田 2002/05/18-10:42
いつもお世話になります。
表ファイルのデータを取り込んでそれをメニュー形式で選択させるために
フォームの明細部にコマンドボタンをひとつ作り
イベントのフォーム開始で
 オブジェクト操作 @b冊.標題=[冊]
とすると、ボタンの表示は最初のレコードの値を繰り返すだけです。
明細部にテキストオブジェクトをおけばその項目のレコードの内容を表示してくれるのですが,
それをコマンドボタンの標題に取り込む方法はないでしょうか。よろしくお願いします。

16014 うそコマンドボタン ONnoji 2002/05/18-14:50
記事番号16010へのコメント
磯田さん

>表ファイルのデータを取り込んでそれをメニュー形式で
>選択させるためにフォームの明細部にコマンドボタンをひとつ作りイベントのフォ
>ーム開始で
> オブジェクト操作 @b冊.標題=[冊]
>とすると、ボタンの表示は最初のレコードの値を繰り返すだけです。名細部に
>テキストオブジェクトをおけばその項目のレコードの内容を表示してくれるのです
>が,それをコマンドボタンの標題に取り込む方法はないでしょうか。

磯田さん、こんにちは。ONnojiです。

桐V8sp6で試しました。

(1)うそコマンドボタン
ソースに #str([冊]) を指定したテキストボックスを用意して、
※#str関数を使ったのは計算式にして訂正できないないようにするためです。

属性の[表示]タブの[編集属性式]に次の式を指定する

#cond(.not #eof,"境界線モード'立体',背景モード'ボタンの表面色'")

※"モード" と "ボタン" は半角カタカナなので注意してください。

つまり、[編集属性式]によってそのテキストボックスを"立体"、"ボタンの表面"にして、
あたかもテキストボックスが、コマンドボタンであるかのように下ごしらえを行う。

(2)本当のコマンドボタン
うそコマンドボタンの上に本当のコマンドボタンを重ねて配置して、
[背景色モード]を"透明"にして出来あがり。

というのはいかがでしょうか。

なお、終端行でもコマンドボタンが反応するのでご注意下さい。

またしても外していたら、すいません。
16018 Re:レコード移動では 【多遊】 2002/05/18-16:34
記事番号16014へのコメント
磯田さん、ONnojiさんこんにちは
ONnojiさんの方法もあるかと思いますが単にフォームの
レコード移動はどうですか?

16024 Re:うそコマンドボタン 磯田 2002/05/18-17:49
記事番号16014へのコメント
ONnojiさんいつもありがとうございます。
ONnojiさんの方法は実は今まで僕が使っていた方法なのです。
それでもことは足りるのですが、透過のコマンドボタンはマウスを押してもくぼまないし、背景色も指定できません。
もし、なにかいい方法があればと思ったのですが、やはり難しそうですよね。
16025 明細行のオブジェクトの考え方? 磯田 2002/05/18-17:53
記事番号16018へのコメント
【多遊】さんこんにちは。それは僕も考えてみました。
レコード移動イベントとオブジェクト操作等を利用できないかと。
しかし、明細行のオブジェクトの場合、フォームを表示させると複数のレコードが表示されるにもかかわらず、
定義画面ではひとつのオブジェクトなのです。
ですから、背景色等を指定してもフォームを開いた状態では全レコードの背景色を設定してしまいます。
現在あるレコードのオブジェクトのみを指定する方法はあるのでしょうか。
明細行のオブジェクトの場合少し考え方を変えたほうがいいのでしょうね。
桐に何かそのような関数なりコマンドがないかと思い書き込ませていただいた次第です。
16029 Re:うそコマンドボタン ONnoji 2002/05/18-18:39
記事番号16024へのコメント
磯田さん、こんばんは。

>ONnojiさんいつもありがとうございます。ONnojiさんの方法は実は今まで僕が使っていた方法なのです。

アッ!そうだったんですか〜。
迷案だと思ったのですがね。(^^ゞ

>それでもことは足りるのですが、透過のコマンドボタンはマウスを押してもくぼまないし、背景色も指定できません。
>もし、なにかいい方法があればと思ったのですが、やはり難しそうですよね。

マウスインアウト、ダウンアップを組み合わせれば、
うそコマンドボタン(テキスト)を凹ませることは出来ますが、
全行のうそコマンドボタン(テキスト)が凹んでしまうでしょうね。トホホです。(T_T)
16035 Re:明細行のオブジェクトの考え方? 【多遊】 2002/05/19-17:00
記事番号16025へのコメント
磯田さんはこんにちは。
あれから何度も質問を読んでみました。繰り返しを勘違いしておりました。

ボタンに項目値を標題で設定しては?と、思い実行してみました

ボタンの編集属性式に下記式ではいかがですか?
"標題'"+#項目属性(n,0)+"'"
必要でしたら、フォーム更新処理も加えてください。

nは項目番号です。こんどはいかがですか
16041 コマンドボタンのタイトルに項目値を表示 佐田 守弘 2002/05/19-23:26
記事番号16010へのコメント
磯田さん
要するに、コマンドボタンの表題に項目値を表示したいとの事だと思うのですが。
私もいろいろ試してみましたが、コマンドボタンの表題には計算式の
設定ができない様です。設定した計算式は、計算式として値が評価されず、
単純に記述した内容がそのまま表示されてしまいます。

そこで、1つの方法としてコマンドボタンとテキストオブジェクトを重ねて
表示する方法はどうでしょうか。方法のポイントは次の通りです。
・オブジェクトのサイズと位置
コマンドボタンとテキストオブジェクトのサイズと位置を揃えておきます。
また、オブジェクトの順序は、テキストオブジェクトを背面に、
コマンドボタンを全面に配置します。
・コマンドボタン
表題は設置せず、背景を透明に設定します。これで後ろのオブジェクトの
表示が見える様になります。
・テキストオブジェクト
表示したい項目を設定します。多分コマンドボタンが全面にあるので、
テキストオブジェクトがフォーカスを取得する事はないと思うのですが、
確実にするためには、フォーカス禁止を設定しておくとよいでしょう。

佐田守弘(KS-00119)
16044 Re:明細行のオブジェクトの考え方? 磯田 2002/05/20-10:02
記事番号16035へのコメント
【多遊】さんアドヴァイスありがとうございます。
なるほど確かにコマンドボタンに項目値が表示されました。
ただ、表示が白抜きの文字になってしまい、マウス操作も利かないようです。
編集属性式にはこのような働きもあるんですね。
知りませんでした。
編集属性式を上手に使えばもっといろいろなことが出来るのかもしれません。
いい勉強になりました。
16045 Re:コマンドボタンのタイトルに項目値を表示 磯田 2002/05/20-10:12
記事番号16041へのコメント
佐田先生ありがとうございます。
先生の方法は実は今まで僕が使っていた方法ですが、
重ねてしまうとマウスダウンイベントでボタンがくぼまないとか、
フォーカス取得した際の背景色が文字の色になるなど、
制約が多いので、オブジェクト操作等
を使ってコマンドボタンのみですっきり出来ないかなと思い、
考えているところなのです。
今のところ、テキストオブジェクトを配置して、
イベントを使ってそれを擬似コマンドボタンとして利用する方法をとっています。
【多遊】さんがアドヴァイスいただいた編集属性式を使ったものも、
可能性を感じるのですが、まだ勉強不足なのでこれから取り組んでみます。
あるテーブルの値を値集合的に選択して変数に取り込むことがプログラムの中で多くあります。
その方法としてこのようなことをしています。
もしかしたらもっと簡単でいい方法があるのかもしれませんが、
これから勉強していきたいと思います。
しかし、桐のイベントは最初はなんだろう?
こんなもの一括処理があるからいらないんじゃないのかなと思っていましたが、
使えば使うほど、便利なものですね。
ちょっとはまってしまいそうです。
16049 Re:明細行のオブジェクトの考え方? 【多遊】 2002/05/20-21:01
記事番号16044へのコメント
>ただ、表示が白抜きの文字になってしまい、マウス
>操作も利かないようです。
再度確認下さい。
ボタンのフォーカス設定が「使用不可表示」になってませんか?
当方で既存のフォームや新規フォームを作成してみましたが
いづれもうまく動きます。もちろんマウスクリックもOKです。
16053 できました。あとは背景色が・・・ 磯田 2002/05/21-00:02
記事番号16049へのコメント
【多遊】さんありがとうございます。うまくいきました。
僕の基礎的な誤りでコマンドボタンタブの一括処理時有効をチェックしていなかったようです。
ただ最後にあと二つだけ問題が残ってしまいました。
1つはマウスダウンでその行に移動してその行の項目値を取り入れることができないこと。
もう1つはフォーカスレコードのみ背景色を指定できないということです。
編集属性式でそこもうまく設定できるのでしょうか。
そもそも編集属性式とはどのような使い方ができるのでしょうか?
使い方によってはオブジェクト操作的な使い方ができるような気もしますが、
オブジェクト操作ではできないようなことでもできるようですよね。
これについてはマニュアルにあるのでしょうか?
これからチェックしてみます。
本当にありがとうございます。
感謝です。

戻る