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

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

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

■2837 / inTopicNo.1)  マウスポインタの変更は、いつ実行されるのか?
  
□投稿者/ たゆー -(2007/08/12(Sun) 23:06:33)

    イベントタブの「マウスポインタの種類」は、いつ更新されるのでしょうね
    普通は、ひとつのオブジェクトに、ひとつをの割り当てを行うと思いますが、
    故意に変更したいとき、ダイレクトに変更するのは難しいのでしょうか?


    ■ 桐HELPより(実際のヘルプ表示はアイコン使用の為、日本語表示に変更しています)

    >【マウスポインタの種類】
    >このオブジェクトをマウスで指したときに表示するマウスポインタの形状を一覧から
    >選ぶか、ポインタファイルの名前を指定します。
    >・▼(下向き三角)をクリックすると、使用頻度の高いマウスポインタを一覧から
    > 選択できます。
    >・ファイル選択・・をクリックすると、ポインタファイル名を一覧から選択入力できます。
    > Windowsが標準で使用しているポインタファイルは、Windowsシステムフォルダ内の
    > 「CURSORS」フォルダに収められています。

    そこで、サンプルを作成してみました。フォームの説明
    ・上段で、マウスポインタの「色選択」を行います
    ・中段の色固定は、上段の選択に関係なく、指定色で表示を設定済み
    ・下段のテキストオブジェクトに、指定色で表示したい
    (カーソルポインタは何でも良かったのですが、今回はわかりやすく3色で作成してます)


    イベントは、ファミリーを利用して、下記3行のみです

    手続き定義開始 色変更::マウス左クリック(長整数 &マウス位置[2],・・・・・・・)
      ファイル複写 #文字置換(&this,"b","")+".cur","色.cur"
    手続き定義終了


    そして、疑問は

    ・3色の選択ボタンをクリックし、そのままテキストオブジェクトへ移動しても更新されない。
     ただし、固定色表示を通過すると、その次は表示される

    ・上記の「固定色表示を通過すると」で、「マウスポインタの種類」を設定してあるからと
     思いますが、3色選択ボタンも「マウスポインタの種類」は設定してあります。
     しかし、この上を通過しても無理そうです

    ・また、3色選択ボタンをクリックしたその瞬間も、色変更は無理みたいです


    たぶんわかりづらい疑問だと思いますが、ちょっと気になりましたので、掲載しておきます


1186927593.lzh
/6KB
引用返信 [メール受信/OFF] 削除キー/
■2838 / inTopicNo.2)  Re[1]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ 今村 誠 -(2007/08/13(Mon) 08:47:29)
    たゆーさんこんにちは
    > 故意に変更したいとき、ダイレクトに変更するのは難しいのでしょうか?
    結論は
    > ・中段の色固定は、上段の選択に関係なく、指定色で表示を設定済み
    >  ただし、固定色表示を通過すると、その次は表示される
    なので中段の固定色を背景を透明にして罫線を無しにして違う色を重ねて
    再描画させれば解決すると思います。
    オブジェクトのリストで重ねたテキストはボタンより上に置いておくのが
    ポイントだと思います。
引用返信 [メール受信/OFF] 削除キー/
■2840 / inTopicNo.3)  Re[2]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ たゆー -(2007/08/13(Mon) 12:01:08)
    今村さんこんにちは
    お盆休みですか?毎日あついですね


    ところで、
    > なので中段の固定色を背景を透明にして罫線を無しにして違う色を重ねて
    > 再描画させれば解決すると思います。
    > オブジェクトのリストで重ねたテキストはボタンより上に置いておくのが
    > ポイントだと思います。

    たぶんご返事の意味を取り違えてるような感じもしますが、
    >固定色を背景を透明にして罫線を無しにして・・・・
    とは、何を配置するのか不明です。色選択ボタンをクリックしても
    固定色が表示されてしまいます

    それに、「色選択ボタン」の上では、クリックする前とあとでは変更される
    訳ですから、やはり固定は無理のですね

    休みで時間がありますので、もう少し工夫してみます

引用返信 [メール受信/OFF] 削除キー/
■2841 / inTopicNo.4)  Re[3]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ 今村 誠 -(2007/08/13(Mon) 13:24:06)
    たゆーさん分かり難いようなのでサンプルを添付します。
    押しただけでは変更されませんがボタンから一度離れればいいので
    試してみて下さい。
引用返信 [メール受信/OFF] 削除キー/
■2842 / inTopicNo.5)  Re[4]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ たゆー -(2007/08/13(Mon) 14:58:36)
    今村さん暑い中、なんどもありがとうございます

    サンプル拝見致しました。たぶん説明用に間に合わせで作成されてるようなので、
    意図する動きはしませんね

    >押しただけでは変更されませんがボタンから一度離れればいいので
    >試してみて下さい。
    最初に書きましたが、「一度離れれば」だけでは、無理です
    そして、別のオブジェクトを重ねてありますが、標準のカーソルポインタでも
    無理なんです。※標準とは
    >・▼(下向き三角)をクリックすると、使用頻度の高いマウスポインタを一覧から
    > 選択できます。

    そして、強引に設定済みのオブジェクトを配置すると、
    仮に、「赤色ボタン」をクリック後、右側へゆっくり動かすと分かりますが、
    「赤色ボタン」から出るとき、一瞬「緑色」になります。
    そのまま「青」のボタン上を通過し「緑色のボタン」に入る直前に「青色」に
    なります
    本当は、赤色のままでないとおかしいですね。しかしこれは、その下が固定
    された物ですからやむをえません。


    こちらでは実際の利用には、3色の選択ボタンを囲むひとつのおおきな透明
    オブジェクトを作成し、そこに、また別の透明「damy.cur」を設定してあり
    ますので使用上は問題ありません

    と、いうより、なぜ別のオブジェクトを通らないと更新されないのか?が、
    疑問なんです。

    例えば・・・・・イベントで
     メソッド呼び出し @フォーム.変数変更()
     メソッド呼び出し @フォーム.描画更新()
    や、「マウスイン・アウト」等で、できないものかです

引用返信 [メール受信/OFF] 削除キー/
■2843 / inTopicNo.6)  Re[5]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ 今村 誠 -(2007/08/13(Mon) 16:49:47)
    たゆーさんこんにちは
    > なぜ別のオブジェクトを通らないと更新されないのか?が、
    > 疑問なんです。
    マウスの移動毎に描画更新していたら大変だから桐やwindowsの中で一時的に
    画像情報を保存しているのじゃないでしょうか。
    ファイル名を変更してもきっかけがないと更新されないのは当然のように思
    います。
     メソッドの描画更新や変数変更や表示倍率でどこまで更新しくれるかは、
    開発者の管理工学が詳しいと思います。
     私も少し実験してみましたが、いずれのコマンドもカーソルの形状を更新
    させるには役不足のようです。
    どの様な動作か分かりませんが少し変更したものをアップします。





1186991387.lzh
/9KB
引用返信 [メール受信/OFF] 削除キー/
■2844 / inTopicNo.7)  Re[6]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ 今村 誠 -(2007/08/14(Tue) 09:07:11)
    ボタンのクリックイベントを下記のように変更すれば
    テキストはなくても下の文字の部分は変更されます。
    何をどうしたいかがよく分かりません。
     var str{&Scolor=#文字置換(&this,"b","")+".cur"}
      オブジェクト操作 @tカーソル.マウスポインタの種類 = &Scolor

引用返信 [メール受信/OFF] 削除キー/
■2845 / inTopicNo.8)  Re[7]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ たゆー -(2007/08/14(Tue) 10:27:42)
    > 何をどうしたいかがよく分かりません。
    いつも思うのですが、やはり、質問者の情報提供不足ですね。
    申し訳ございませんでした

    なにをしてるかというと、「数独」(81個の升目に1〜9までを入れるゲーム
    の16×16版)を作成中です

    上段、横一行に「1〜16+クリア」ボタンを17個作成
    下段に16×16=256個の表と連動したテキストオブジェクトを配置

    上段の、数字(クリア含む)ボタンをクリックしたとき、カーソルも対応した
    数字カーソルを変更したいと考えています

    そこで、数字ボタンをクリックした瞬間、変更できないものかと思った次第です


    ところで、
    >マウスの移動毎に描画更新していたら大変だから桐やwindowsの中で一時的に
    >画像情報を保存しているのじゃないでしょうか。
    >ファイル名を変更してもきっかけがないと更新されないのは当然のように思
    >います。
    とうぜんそうですね。そこで、「きっかけがないと」と思い、

    >例えば・・・・・イベントで
    > メソッド呼び出し @フォーム.変数変更()
    > メソッド呼び出し @フォーム.描画更新()
    >や、「マウスイン・アウト」等で、できないものかです
    と、記載したのですが、これではだめでしたね

    また、
    > ボタンのクリックイベントを下記のように変更すれば
    > テキストはなくても下の文字の部分は変更されます。
    >  var str{&Scolor=#文字置換(&this,"b","")+".cur"}
    >   オブジェクト操作 @tカーソル.マウスポインタの種類 = &Scolor
    これは、テキストオブジェクトが1個の場合は問題ないでしょうが、今回の
    ようにたくさんある場合はどうでしょうか?
    しかし、クリックした瞬間にどうしても変えたい場合は、上の数字ボタン
    だけでも必要かな?と思ったりしています。下方の升目は、上記のwindowsの画像キャッシュを
    更新するほうが効率的ではないのかなでしょうか


引用返信 [メール受信/OFF] 削除キー/
■2846 / inTopicNo.9)  Re[8]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ 今村 誠 -(2007/08/14(Tue) 17:18:07)
    > これは、テキストオブジェクトが1個の場合は問題ないでしょうが、今回の
    > ようにたくさんある場合はどうでしょうか?
    > しかし、クリックした瞬間にどうしても変えたい場合は、上の数字ボタン
    > だけでも必要かな?と思ったりしています。下方の升目は、上記のwindows
    > の画像キャッシュを
    > 更新するほうが効率的ではないのかなでしょうか

    下のテキストでどの様な操作をするかで、オブジェクト操作にするか、
    キャッシュを一度白紙にするかを決めたがいいと思います。
    数字のボタンをドラッグしたりして最後の「ココ」で何をするかこちらでは
    分からないので、どちらがいいか分かりません。
     後は、こだわりの部分で、「ほんの少しでも違う色が描写されるのがいや」
    なんかの場合オブジェクト操作になるのじゃないでしょうか。
    もちろんプログラムを作るだけなら、ファイル複写が簡単なのは一目瞭然です。
    個数も256個位なのでオブジェクト操作でもスピードは変わらないと思います。
    ウィンドウズのお作法としてはオブジェクト操作の方だと思います

引用返信 [メール受信/OFF] 削除キー/
■2847 / inTopicNo.10)  Re[1]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ ONnoji -(2007/08/15(Wed) 17:19:14)
    手続き定義開始 色変更::マウス左クリック( …省略… )
     *ファイル複写 #文字置換(&this,"b","")+".cur","色.cur"

     オブジェクト操作 @色変更{ マウスポインタの種類 = #文字置換(&this,"b","")+".cur" }

    手続き定義終了

    としたらいかがでしょうか?

    桐ver.9-2004で試しましたよ。
引用返信 [メール受信/OFF] 削除キー/
■2848 / inTopicNo.11)  Re[2]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ たゆー -(2007/08/15(Wed) 22:04:10)
    ONnojiさん、こんにちは。今日も暑かったですね

    ところで、
    > オブジェクト操作 @色変更{ マウスポインタの種類 = #文字置換(&this,"b","")+".cur" }
    >としたらいかがでしょうか?

    こちらでも確認致しました。うまく動きましたが、それより、もっと疑問が
    発生しました。と、いうのは「ファミリ」をこんな風に利用できるのですか

    ファミリは、今まで、イベントの処理だけしか利用してなかったと思います
    それを、「オブジェクト操作」に利用できるなんて

    とても驚いています。これで、ますます「ゲーム(?)」が作りやすく
    なりますね

    しかしいままで、「ファミリのオブジェクト操作」なんてあったのでしょうか
    たぶん、私が知らなかっただけかもしれませんが

    とにかく、うまく行きました。ありがとうございました

引用返信 [メール受信/OFF] 削除キー/
■2849 / inTopicNo.12)  Re[3]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ ONnoji -(2007/08/16(Thu) 00:02:04)
    2007/08/16(Thu) 08:10:43 編集(投稿者)
    2007/08/16(Thu) 00:03:22 編集(投稿者)

    > しかしいままで、「ファミリのオブジェクト操作」なんてあったのでしょうか
    > たぶん、私が知らなかっただけかもしれませんが
    > とにかく、うまく行きました。

    ファミリの「オブジェクト操作」に関しては、悲しげさんがよくご存知ですよ。

    私は、悲しげさんの投稿記事(桐井戸端BBS)を参考に試してみただけですよ。
引用返信 [メール受信/OFF] 削除キー/
■2851 / inTopicNo.13)  Re[1]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ アックン -(2007/08/16(Thu) 20:54:06)
    たゆーさん、毎日暑いですね。
    マウスポインタをコピーしなくてもいいやり方があるので、参考までにアップしときます。
    実際にはソースが配列変数のテキストボックスでしょうけど、見本は単純にコマンドボタンを並べだだけです。ファミリの左クリックイベントだけで、色の選択と配置を処理します。

    ・クリックで色を選ぶボタン:b1,b2,b3 計3個
    ・クリックで色を配置するボタン: b18〜b26 計9個(3列X3段)

    やり方としては、今村さんとONnojiさんが書いているように、ファミリを使っています。
    ボタンのマウスポインタの種類はすべて標準のままで、それをオブジェクト操作で変更します。

    下記のイベントは次のような意味です。
     if( 色を選ぶボタンだったら )
       object @ファミリ_1.マウスポインタの種類 をボタンの色にする
     else if( 色を配置するボタンだったら )
       object &this.ピクチャ名 を選んでおいた色にする
     end


    名札 メイン
     &STR = ""

    手続き定義開始 ファミリ_1::マウス左クリック(・・
     if(   #sstr(&this,1,1)="b" .and #set(秒,#num(#s(&this,"b","")))<4 )
       object @ファミリ_1.マウスポインタの種類 = #set(STR,#str(&秒))+".cur"
     else if( #sstr(&this,1,1)="b" .and 17<#num(#s(&this,"b",""))<27 )
       object &this.ピクチャ名 = &STR+".gif"
     end
    手続き定義終了
    アックン(=^・^=)

20070816.lzh
/7KB
引用返信 [メール受信/OFF] 削除キー/
■2852 / inTopicNo.14)  Re[2]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ うにん -(2007/08/17(Fri) 12:23:17)

    >  else if( #sstr(&this,1,1)="b" .and 17<#num(#s(&this,"b",""))<27 )

    後半が変ですね?
    17<&A<27
    のような書き方は無効です。(17<&Aが0か1になってしまうので<27は常に真。&Aを28で試すべし)
引用返信 [メール受信/OFF] 削除キー/
■2858 / inTopicNo.15)  Re[3]: マウスポインタの変更は、いつ実行されるのか?
□投稿者/ アックン -(2007/08/18(Sat) 09:12:37)
    右辺左辺を別々にして、andですね。
     else if( #sstr(&this,1,1)="b" .and 17<#num(#s(&this,"b","")) .and 27>#num(#s(&this,"b","")) )
    うにんさん、ありがとうございます。オブジェクト名を識別しづらい、ややこしいものにしてしまいました。すみません。
    オブジェクト名を工夫して、計算しやすくするといいでしょうね。
    また、ボタンでもピクチャでもいいでしょうね。
    たゆーさんが作りたいものがどんなものか、ぼくにはよくわからなくて、すみません。DOS桐時代に魔法陣を作った女性がいましたが、それはあらかじめ計算して魔法陣を完成させておいて、数字を不規則に並べ替えて表示し、それをユーザーが並べ替えて完成させるというものでした。たゆーさんのはそれとはまた違って、いちからユーザが並べて何か作るようですね。 アックン(=^・^=)

引用返信 [メール受信/OFF] 削除キー/
■2859 / inTopicNo.16)  Re[1]: マウスポインタの変更は、やれば出来る(タイトル変更)
□投稿者/ たゆー -(2007/08/18(Sat) 09:36:36)
    皆さん、多数のご意見ありがとうございます
    今回疑問の「マウスポインタの変更は、いつ実行されるのか?」について、自
    分なりに分かったことをまとめてみました

    ○オブジェクトに設定してあるファイルの内容が、更新されても反映されない
    >ファイル複写 #文字置換(&this,"b","")+".cur","色.cur"
    なお、同一オブジェクト内で
    >メソッド呼び出し @フォーム.変数変更()
    >メソッド呼び出し @フォーム.描画更新()
    など実行しても、桐のコマンドだけでは更新されない

    ○同一手続き内で「オブジェクト操作」で、変更しても更新されない
    ファイル複写を実行しておき、(現在、"色.cur"を設定中として)
    >オブジェクト操作 @番号.マウスポインタの種類 = "赤.cur"
    >オブジェクト操作 @番号.マウスポインタの種類 = "色.cur"
    などでいったん別名設定しても、更新されない

    ○更新させる為には、
    ・別名を定義してあるオブジェクトを利用する
    ・オブジェクト操作で、設定を変更する

    以上で、多少あきらめていましたが、ファミリーでの操作をご紹介いただき
    これを利用することにします。


    ■ファミリーでの利用
    >オブジェクト操作で、設定を変更する
    くらいは、想像出来てましたが、毎回全オブジェクトを設定するのは・・・?
    と、思ってました。
    しかし、今回ファミリー単位で操作出来ることを教えていただき、いろいろテ
    ストの結果、「マウスポインタの種類」等のマウス関係だけでなく、ファミリー対象
    オブジェクトの属性は設定できるようです。

    >オブジェクト操作 @色変更.背景色 = "赤"

    以上の結果、今回疑問の「マウスポインタの変更・・・」は、「ファミリーの
    オブジェクト操作」を利用することで、簡単に変更できるがわかりました
    どうもありがとうございました

解決済み!
引用返信 [メール受信/OFF] 削除キー/



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

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

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

- Child Tree -
- Antispam Version -