過去の桐井戸端BBS (桐ver.9)
27158 キリックしたコマンドボタンの色を変えたい 手塚 修 2004/07/23-16:57
フォーム上にいくつかのコマンドボタンを配置しました。
どのコマンドボタンをクリックしたのかが分かるようにボタンの色を変えたいのですが?

メインwfm上のコマンドボタンをクリックし、モーダルフォームあwfmを開く。
あwfm上には、数個のコマンドボタンが配置されています.そのうちの一個をクリックした時、
コマンドボタンの背景色を他のボタンの背景色と違え区別したいのですがうまくいきません。
あwfmのコマンドボタンには、モーダルフォームいwfmを開かせる場合とレポート印刷をさせる場合とがあります。

過去ログbW319とbW843を試しましたが、うまくできませんでした。
モーダルフォームいwfmを開かせた場合の&thisは”フォーム”となり、レポート印刷させた場合は、
&thisに正しいオブジェクト名が表示されました。

モーダルフォームで開いた場合には、
  オブジェクト操作 &this{背景色="赤"}は使えないのでしょうか?
  bW322もためしたつもりなのですが?

教えてください。


27161 Re:キリックしたコマンドボタンの色を変えたい ONnoji 2004/07/23-17:43
記事番号27158へのコメント
手塚 修さん、こんにちは。

桐のバージョンとsp番号が不明ですが…

■赤いコマンドボタンにする

オブジェクト操作 &this{ 背景モード = "指定色",背景色 = "赤" }
** 表記上の注意:モードは半角カタカナ

■普通のコマンドボタンにする

オブジェクト操作 &this{ 背景モード = "ボタンの表面色" }
** 表記上の注意:モードは半角カタカナ、ボタンは半角カタカナ

掲示板では半角カタカナが全角カタカナに変換されていますのでご注意ください。

正確な属性名を調べるには、[オブジェクトのリスト]を確認するといいですよ。

外していたらすいません。
27163 Re:キリックしたコマンドボタンの色を変えたい ONnoji 2004/07/23-17:52
記事番号27161へのコメント
>正確な属性名を調べるには、[オブジェクトのリスト]を確認するといいですよ。

これは蛇足です。

[オブジェクトのリスト]でオブジェクトの属性を参照する方法は、
桐のヘルプに書いてありますのでご一読をお勧めします。

以下は桐ver.8 sp5 の例です。※桐ver.9 も同様です。


d:\K3\KIRIV8\Help\INDEX.HTM
*-----------------------------------------------*
イベント処理】
はじめに
使ってみましょう
内容を確認しましょう
定義してみましょう
  属性の参照  ←←←←← ここを参照
  引数を使用する
  他の表を操作する
  一般手続きを定義する
ファミリを使用する
  所属するファミリを指定する
  ファミリを削除する
  ファミリのイベントを定義する



■オブジェクト属性を参照する
イベント定義画面で、オブジェクトの属性を参照する場合は、つぎの手順で操作します。

ここでは、[レコード移動]イベントのハンドラ内で[フォーム]オブジェクトの[フォーム表題]を設定するために、
[オブジェクト操作]コマンドの雛形を生成するときの、操作手順の例として、説明します。

1.[入力]メニューから[オブジェクトのリスト]を選びます。
2.オブジェクト ツリーで、参照するオブジェクトを選びます。
3.属性の一覧から、参照する属性を選びます。
4.[生成する書式]で「設定」を選択し、[挿入]ボタンをクリックします。
5.「設定」の代わりに「取得」を選ぶと、属性値を取得する[オブジェクト操作]コマンドの雛形を挿入できます。
*-----------------------------------------------*


27164 Re:キリックしたコマンドボタンの色を変えたい 悲しげ 2004/07/23-18:03
記事番号27161へのコメント
タイトルの「キリック」とは「桐におけるクリック」と云う桐語
なのかなぁ、と深読みさせていただきました……とか云ってみる。(^^;)

さて、

>あwfmのコマンドボタンには、モーダルフォームいwfmを開かせる
>場合とレポート印刷をさせる場合とがあります。

ここから推すに、もしかして釦1と釦2のふたつのコマンドボタンがあるのでしょうか。
で、釦1を押した時には釦2の表示は元に戻す(あるいはその逆)のような感じの方がいいのだとすれば、
当該オブジェクト以外のオブジェクト名も必要となって、&thisだけではちょいと不足になるような気もします。
とすれば、
例えば釦1のキリックでは

 オブジェクト操作 @釦1{ 背景モード = "指定色",背景色 = "赤" }\
         ,@釦2{ 背景モード = "ボタンの表面色" }\
         ,@釦3{ 背景モード = "ボタンの表面色" }\
         ,@釦4{ 背景モード = "ボタンの表面色" }

のような感じがいいんじゃないかと云うような気がしたり。

27166 Re:キリックしたコマンドボタンの色を変えたい 手塚 修 2004/07/23-19:53
記事番号27164へのコメント
>タイトルの「キリック」とは「桐におけるクリック」と云う桐語
>なのかなぁ、と深読みさせていただきました……とか云ってみる。(^^;)

 楽しくなりました。すみませんでした。
>
>>あwfmのコマンドボタンには、モーダルフォームいwfmを開かせる
>>場合とレポート印刷をさせる場合とがあります。
>
>ここから推すに、もしかして釦1と釦2のふたつのコマンドボタン
>があるのでしょうか。

モーダルフォームあwfm上には、10個のコマンドボタンを配置しました。
 そのうち3個のコマンドボタンは、モーダルフォームAwfmを開き、印刷条件を選択し
  レポート印刷をする.
 4個のコマンドボタンは、クリックするとそれぞれに応じたレポート印刷。
 2個のコマンドボタンは、モーダルフォームBwfmを開き、印刷条件選択、レポート印刷。
 1個のコマンドボタンは、モーダルフォームCwfmを開き、印刷条件選択、レポート印刷。
  (10のtblと10のレポートがあります)(あwfmはモーダルフォームとして開いた)
上記の時、あwfm上のどのコマンドボタンをクリックしたのか判別したい。
色分けしたいのです。できればファミリ名で定義しておきたい。

オブジェクト操作 &this{背景モード="指定色",背景色="赤"}では、局所変数&thisが
"フォーム"と表示され正しいオブジェクト名を取得しないみたいです。
サブフォームのオブジェクトを変数で指定する場合−過去ログbW322−も難しいみたいです。

もう一度教えてください。

よろしくお願いいたします。

27167 Re:キリックしたコマンドボタンの色を変えたい しぼうかん 2004/07/23-20:05
記事番号27166へのコメント
手塚 修さん、こんばんは.

全く試さずに言っているのでハズしている可能性が98%ぐらいありそうですが、

>モーダルフォームいwfmを開かせた場合の&thisは”フォーム>”となり、レポート
>印刷させた場合は、&thisに正しいオブジェクト名が表示さ>れました。

「オブジェクト操作 &this{背景色="赤"}」
「フォーム呼び出し あ.wfm」又はレポート印刷 う.rpt

もしメイン.kevにこの様な順でコマンドを書いているなら
&thisは局所変数で有る為フォーム呼び出しコマンド実行直後には&thisの値は
"あ.wfm"のオブジェクト名に変わってしまうのではないでしょうか?
レポート印刷コマンドの場合はフォームが開かれる訳では無いので&thisの値は変わりません。

フォーム呼び出しコマンドはメイン.kevに書き、
オブジェクト操作コマンドは"あ.kev"の方に書いて見るとか・・・

ハズしてたらすいません。

27169 Re:キリックしたコマンドボタンの色を変えたい 悲しげ 2004/07/23-21:20
記事番号27166へのコメント
う〜ん、おっしゃる意味が判りません。
(ちなみに「キリック」の意味が判らないと云う訳ではありません)

試してみました。
釦(ボタン)を6個ほどこしらへてその内3つにレポート印刷、
残る3つにはモーダルフォームの機能を設定。
で、これら釦にファミリを設定。
以下、ファミリのマウス左キリックイベントの記述
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
手続き定義開始 fm釦クリック::マウス左クリック(長整数 &マウス位置[2],・・・・・
 オブジェクト操作 @bRPT印刷1.背景モード="ボタンの表面色"\
         ,@bRPT印刷2.背景モード="ボタンの表面色"\
         ,@bRPT印刷3.背景モード="ボタンの表面色"
 オブジェクト操作 @bWFM呼び1.背景モード="ボタンの表面色"\
         ,@bWFM呼び2.背景モード="ボタンの表面色"\
         ,@bWFM呼び3.背景モード="ボタンの表面色"
 オブジェクト操作 &this{背景モード="指定色",背景色="赤"}
 確認 &this
手続き定義終了
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
この時、確認メッセージでは何れの場合も釦のオブジェクト名を正しく
表示されましたし、当該釦のみ赤色、他の釦は元の色となりました。

さて、手塚さんの設定はどこかがおかしい可能性がありますが、
さてどこがおかしいのでしょう?
差し支えない形に書き換えたものを補完BBSに挙げたら、皆さんが検証してくれると思います。


27170 Re:キリックしたコマンドボタンの色を変えたい 手塚 修 2004/07/24-11:13
記事番号27169へのコメント
>差し支えない形に書き換えたものを補完BBSに挙げたら、皆さんが
>検証してくれると思います。
>
申し訳ありませんが見てください。添付ファイルをアップします。

よろしくお願いいたします。



27171 Re:キリックしたコマンドボタンの色を変えたい しぼうかん 2004/07/24-12:36
記事番号27170へのコメント

走行距離ボタンの左クリックイベントにチェックを入れて、
左クリックイベントを有効にしてオブジェクトの属性の
背景タブの背景色モードを"指定色"に変えるか、または

オブジェクト操作 &this{背景色="赤"}

このコマンドをONnojiさんが書かれている背景モードも変更する

オブジェクト操作 &this{ 背景モード = "指定色",背景色 = "赤" }

に変えて見て下さい。

なお悲しげさんが書かれているようにこのボタンの背景色だけでなく
他のボタンの背景色に付いても元に戻す様に書いて置かないと
赤いボタンがどんどん増えてしまう様な気がします。
27172 Re:キリックしたコマンドボタンの色を変えたい 悲しげ 2004/07/24-16:43
記事番号27170へのコメント
アップされたファイルを見てみました。が、
rptファイルもtblファイルも同梱されていないので、これじゃ殆どまともに動きません。(;_;)
それと、ボタンは幾つかあれども、一体どのボタンを赤くしたいのかも説明がないと判りません。
"印刷実行.kev"を設定してある"印刷帳票.wfm"を見てみましたが、
ファミリはあれどもファミリのイベントは全く設定されていないようですし、
各ボタンのイベントタブでの「ファミリ名」も定義されていないようなので、この点も(?_?)です。
ファミリを使いたいんじゃなかったのですか?

27173 Re:キリックしたコマンドボタンの色を変えたい 悲しげ 2004/07/24-17:20
記事番号27172へのコメント
例を挙げておきました。
私がNo.27169で書いたことをファイル化したものです。
なお手塚さんがアップされたファイルとの関係は不明です。(^^;)

27221 キリック コマンドボタンの色を変えたい 手塚 修 2004/07/29-14:56
過日、標題の件で教えていただいたものです.
悲しげさんには、サンプルを作っていただきました。
 ありがとうございました。

悲しげさんのサンプルは、当方の思っているように出来ており、
クリックするたびにボタンの色も変わるのですが、いくら当方が真似をして、
同じように、同じkevを使ってもコマンドボタンの色は変わりません。
どこが違うのか?どこに問題があるのか?困っています。

 悲しげ作−−−手塚修.wfm、手塚修.kev 他は当方が作った

サンプルを送ります。悲しげさん作を真似をしてつっくたつもりの当方のwfmは、どこに問題があるのか?

テストをして教えていただけませんでしょうか?

よろしくお願いいたします。

27222 Re:キリック コマンドボタンの色を変えたい 悲しげ 2004/07/29-15:34
記事番号27221へのコメント
多分、下記の4が抜けているからでしょう。

1."印刷帳票選択.wfm"で「オブジェクトのリスト」を表示する。
2.その中から「ファミリ−fm釦クリック」を指定する。
3.当該「オブジェクトの属性」画面を出す。
4.その「イベント」タブから「マウス左キリック」イベントに
  チェックを入れる。

ついでに云えば、
ボタンをクリックしてから何か他の処理をさせるような場合、
他の処理いかんではその処理が終わるまでボタンの色が変わらないこともありえます。
で、そのような時に即刻色替えをしたければ、次のように記述する必要が出て来ます。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
手続き定義開始 fm釦キリック::マウス左キリック(長整数 &マウス位・・・・
 method @フォーム.再描画(0)
 オブジェクト操作 @走行距離.背景モード="ボタンの表面色",・・・・・
 オブジェクト操作 &this{背景モード="指定色",背景色="赤"}
 method @フォーム.描画更新()
 ・・・・他の処理いろいろ・・・・
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜


27223 Re:キリック コマンドボタンの色を変えたい 手塚 修 2004/07/29-17:08
記事番号27222へのコメント
>多分、下記の4が抜けているからでしょう。
>
>1."印刷帳票選択.wfm"で「オブジェクトのリスト」を表示する。
>2.その中から「ファミリ−fm釦クリック」を指定する。
>3.当該「オブジェクトの属性」画面を出す。
>4.その「イベント」タブから「マウス左キリック」イベントに
>  チェックを入れる。

  わかりました。出来ました.

>〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>手続き定義開始 fm釦キリック::マウス左キリック(長整数 &マウス位・・・・
> method @フォーム.再描画(0)
> オブジェクト操作 @走行距離.背景モード="ボタンの表面色",・・・・・
> オブジェクト操作 &this{背景モード="指定色",背景色="赤"}
> method @フォーム.描画更新()
> ・・・・他の処理いろいろ・・・・
>〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>
 今後参考にしたいと思います。

   
ありがとうございました。

27224 Re:キリック でなくクリックですってば うにん 2004/07/29-19:26
記事番号27223へのコメント
>>手続き定義開始 fm釦キリック::マウス左キリック(長整数 &マウス位・・・・

ほんとにこう書いてあったの?^^;

27225 Re:キリック でなくクリックですってば 悲しげ 2004/07/29-19:43
記事番号27224へのコメント
遊んでしまって申し訳ありません。
手塚ともども深く反省し心よりお詫び申し上げます。<(_ _)> (^^;)

戻る

戻る