[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 01/31 00:01 / Filesize : 175 KB / Number-of Response : 612
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【ActiveScript】RubyをWindowsで使うスレ【GUI】



1 名前:デフォルトの名無しさん [2006/08/08(火) 19:08:09 ]
他プラットホームとの互換性なんかいらん!
漏れはWindowsの上だけで快適に使いたいんだ!
Windows独自の技術的な話題や、
Windows版だけのrubyの問題について語るスレ。

■ruby
 www.ruby-lang.org/ja/

■ruby関連スレ
 ・Rubyについて Part 22 (本スレ?)
  pc8.2ch.net/test/read.cgi/tech/1147897915/
 ・Ruby初心者スレッドPart7
  pc8.2ch.net/test/read.cgi/tech/1154077799/l50



175 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 08:25:58 ]
>>174
visualuよりもお手軽だしDelphi部品使えるから、たまに使うけど、
Apollo側からgem使うのがメンドイので、ふつーのmingw版と
共存させてる(おかげでPATHの関係でたまにハマる)

176 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 10:34:07 ]
Apoloに関しては、
別にDelphiだけでいいじゃんという究極の問題点があるからな

無論、正規表現とかを使いたいときはありだけどさ

177 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 10:55:57 ]
つーかDelでも正規表現使えるように環境整備しとけって。

178 名前:デフォルトの名無しさん [2007/01/08(月) 01:56:39 ]
まあ、単発のユーティリティとか、プロトタイピングでしかRubyつかってないからなあ、俺は。
GUIは、Delphiでいいやという気もする

179 名前:デフォルトの名無しさん mailto:sage [2007/01/09(火) 02:44:11 ]
DelphiとPascalは死んだみたい
www.tiobe.com/tpci.htm


180 名前:デフォルトの名無しさん [2007/01/09(火) 23:08:01 ]
exerb 4.1.0 上げ

181 名前:デフォルトの名無しさん mailto:sage [2007/01/09(火) 23:55:22 ]
VisualuRubyのフォーム作りはFormDesignerが一番楽なのか?
更新止まってるが、代替アプリやスクリプトってないよね。

182 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 03:09:17 ]
exerbキター

183 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 21:43:17 ]
VisualuRubyのフォーム作りはFormDesignerが一番楽なのか?
更新止まってるが、代替アプリやスクリプトってないよね。



184 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 22:38:13 ]
ラクっつか、それしかないんじゃ?
(VBだのDelphiだのみたいに)かゆいとこまでは手が届かないから
細かいとこは結局手でいぢってるけど、おおまかな部分をつくるものだと
おもって、あんまり気にしてないや

185 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 22:43:50 ]
ごめん。1日遅れの二重投稿してたorz
今気づいて自分の目を疑った。

186 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 22:16:42 ]
ActiveScriptRubyをアップデートするために1.8.4をアンインストールしたらMS系のアプリがやられた。
.NET FrameWork とかスクリプティングホストで使ってる共用ライブラリも巻き込んでないか?

187 名前:デフォルトの名無しさん [2007/01/18(木) 22:59:34 ]
FormDesignerがいよいよ更新再開?
yslab.atnifty.com/~yukimi_sake/diary/d

188 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 [2007/01/19(金) 01:59:27 ]
そーいえば俺も困ったことになった
アップグレードしようとしたらインストーラがInternal Error吐くようになったり。


レジストリの手動削除を試してみるといい
HKEY_CURRENT_USER\Software\Microsoft\Installer\
配下にActiveRubyが作ったエントリがあるからそいつを手動削除

189 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:21:15 ]
rubygemsはもっと高速化できぬものか

190 名前:デフォルトの名無しさん [2007/02/02(金) 02:02:06 ]
win32api と win32module だけでテキストボックスの中身を取得しようとするとどうすればいいんでしょうか?

require 'win32/user32'
include Win32

hWND = 11111 # ハンドル

str = " "*255
SendMessage.call( hWND, WM_GETTEXT, 255, str)


としてはいけないんですよね。
格納先をアドレスで指定しなければならないのですよね?

うまいことstrをAPIに渡してやる方法はないでしょうか。

191 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 [2007/02/02(金) 02:13:42 ]
GetWindowTextA = Win32API.new('user32','GetWindowTextA','LPI','I')
buf = "\0" * 500
code = GetWindowTextA.call(hwnd, buf, buf.size)
text = buf.unpack("A*").first


192 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 02:33:21 ]
早速のお返事ありがとうございます。
しかし、それだとキャプションしか拾えないようですorz

193 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 [2007/02/02(金) 02:55:26 ]
ん?

エディットコントロールのハンドルに対してGetWindowTextもしくはWM_GETTEXTやると
テキストを取得する動作になる





194 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 03:16:22 ]
プロセスが違う場合、共有メモリとかほげほげ

195 名前:デフォルトの名無しさん [2007/02/10(土) 11:21:11 ]
win32oleを使ってExcelファイルを読み込むプログラムを高速化したいのですが
どうすれば速くなりますか?
読んだ後は、テキストファイルに書くだけです。

同じような構造のシートを10シート以上読み込むことがあります。
一つのシートは大体、100columns*100rowsより大きなサイズです。
全てのシートを読んだ後、データを整理して望むフォーマットで出力します。

プロファイルを取った結果、読み込んでいる部分が遅いという判断に至りました。
Rubyのバージョンは1.8.5です。

質問なのでageさせていただきます。

196 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 12:43:16 ]
まずは読み込んで書き出す部分のソースを見ないことには何とも言えない。
コーディングが悪いのか、RubyとCOMの組み合わせの限界なのか。

197 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 12:44:58 ]
OLEだと遅いよねー。
ODBCに登録してからの呼び出しだとアンマリ変わんないかな。

ヘタレなので元のExcel側でCSV書き出ししてから
rubyで処理するとかしか思いつきません。

198 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 15:05:49 ]
で、あと何年待ったらパス区切り文字のデフォルトが\にならないバグが改善されるの?

199 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 22:59:42 ]
バグじゃないから仕様変更の理由を添えて開発陣を説き伏せない限り一生変わりませんが

200 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 23:16:12 ]
Matzにっきを読むとわかるが、反論の仕方が「〜〜で十分」なので、言うだけ虚しい。

201 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 18:28:35 ]
現在、vrubyでランチャーのような物を作っています。

値を入力してボタンをクリックすると
コマンドラインからソフトを立ち上げ、入力フォームを非表示、又は消去したいんです。
何かに対して、Visible = false をするのかなと思うのですがうまくいきません。

MyForm < VRForm という形で宣言しています。

どうぞよろしくお願いします。

202 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 19:25:56 ]
非表示は、form.visible = false みたいな感じだと思う
vrubyだったらhideとか定義されてたはず

203 名前:201 mailto:sage [2007/02/11(日) 21:26:08 ]
>>202 ありがとうございます!
さっそくhide = true なぞを試してみます!



204 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 21:37:42 ]
hide() だよ

205 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 13:04:12 ]
>>193
>>194
遅くなりましたがありがとうございます。
確かに外部ソフトのeditコントロール内のテキストを拾おうとしています。
ruby+apiだけでは無理でしょうか。
ProgIDも見つからず、どうやらCOMサーバとして使用することは不可能なようです。

やりたいこと
VB(ver.5)で作られた外部ソフトのeditコントロールに入力された文字列を拾いたい。
WinSpectorで調べたクラス名:ThunderRT5TextBox


206 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 23:29:27 ]
WinXPSP2で
Dir.glob('C:/本/*')だと何も引っかからないが、
Dir.chdir('C:/本');Dir.glob('*')だと正常に読める。
なんで?


207 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 01:05:31 ]
$KCODEは?


208 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 02:13:30 ]
>>206,207
SJISIでそ。
「本」の2バイト目が'{'と同じなので、誤判定していると思われ。


209 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 02:27:00 ]
1.8.6で解決しそうなふいんき(←なぜか変換できない)

210 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 07:54:30 ]
>>209
> ふいんき(←なぜか変換できない)

このネタいいかげんウザイw

211 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 17:18:25 ]
206みたいな前世紀的ネタで七転八倒する言語のスレだからな

212 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 18:18:59 ]
Rubyに限らず文字コードまわりはまだしばらく課題となるだろうが、
今ソース見てるんだけどglobにはダメ文字の対処がないな。

213 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 01:31:33 ]
>>212
どのソース?

>>209のいうとおり1.8.6で対応したものが入るものだと思うんだけど。




214 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 01:41:01 ]
>>213
あー、CVS見てた。
もうsvnだもんな。
忘れてた。

215 名前:デフォルトの名無しさん [2007/03/05(月) 13:48:16 ]
age

216 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 01:30:13 ]
>gem install rails

ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Bad file descriptor - connect(2)(Errno::EBADF)

インストールできないです。
FW全てカット セキュリティ関連ソフトも起動せずにやっても変わりません。
ちなみにプロキシは無い環境です。


217 名前:デフォルトの名無しさん [2007/03/31(土) 05:54:09 ]
>>216
何故、誰も見てないここで聞く?

gemの他のコマンドは利く?

 gem search rails --remote

とか

218 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 21:39:14 ]
>>217
サンクス
他で聞きます。

219 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 11:40:49 ]
>216
rubyについては今日始めてプログラム板に来ました。
他で聞かれたようですね。串で経験があるという人がいましたね。解決済み
でしょうか。
私は、先月中旬から数日間Windows+Oracle10g環境で「Railsによるアジャイル
Webアプリケーション開発」という本の100ページまで試してみた者です。
(その後rubyを触る時間がなくて放っています)
私も同様のエラーが出た記憶があります。
他で答えていた人がいるようにプロキシが悪さをしている可能性があります。
私が覚えているrubyに関する変わった作業は、以下の二つです。
1)環境変数をさわりpathを通した。
2)gem installする時に(会社で時間外に試していたのですが)、プロキシ
 不要の線から外に繋いだ。

Oracleに関しては100ページまでは以下の三つが変わった作業でした。
1)本にあるMySQL用のcreate table文やrbファイルの命令をOracle用に変更
2)table毎に順序オブジェクトを作成(例:line_items→line_items_seq)
3)NLS_LANGをAL32UTF8に変更
  他の環境との関係もあり面倒なので、コマンドプロンプト内で変更
  しています。
  例)
   >SET NLS_LANG=JAPANESE_JAPAN.AL32UTF8
   >ruby script/server


220 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 13:40:08 ]
>>219
> 私が覚えているrubyに関する変わった作業は、以下の二つです。
> 1)環境変数をさわりpathを通した。
「変わった作業」なのかー。


221 名前:デフォルトの名無しさん [2007/05/09(水) 21:58:50 ]
2) は変わってると思った

222 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 12:15:05 ]
わざわざ、環境変数なんて設定させるなよ、とは思うね

223 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 16:08:46 ]
デフォルトで/usr/local/binにインストールしろよ、と?



224 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 16:17:15 ]
Windowsで /usr/local/bin もなにもないだろ

225 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 22:30:30 ]
オレのマシンにはありますがなにか。

226 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 23:56:07 ]
>>225
Windowsなのに/なのか。珍しいな。
そういえばRubyの内部でファイルのディレクトリ区切りが"/"なのは気持ち悪い。


227 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 01:13:37 ]
WindowsでもAPIレベルでは/も使えるからな。
でもそんなお前に Wuby。

228 名前:・∀・)っ-○◎● [2007/06/14(木) 00:44:20 ]
AN HTTPDで仮想パス使えるな

229 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 16:37:49 ]
ruby/GSL 1.9.0をwindowsマシンにいれて、ブイブイ言わしている人いますか?
pathでこけ、makeでこけ、あきらめ気味です...

230 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:22:32 ]
Vista x64 にしたのですが、
x64 用のバイナリってどこかで配布してないですか?

231 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:39:17 ]
>>230
ないと思う。
いまusaさんがtrunk向けに作業中。
blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/31060

232 名前:・∀・)っ-○◎● [2007/06/29(金) 03:05:34 ]
お荷車がLLP64にまともに対応してないし。

233 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 14:11:40 ]
>>232
そうなの? 具体的にどの辺が?



234 名前:デフォルトの名無しさん [2007/06/30(土) 18:25:31 ]

すみません。
gem で mysql 2.7.3 (mswin32) を入れたのですが、require すると以下のエラー出ます。
mysql を使うにはどうすればいいのでしょうか。

c:/usr/local/lib/ruby/gems/1.8/gems/mysql-2.7.3-mswin32/ext/mysql.so: 193: %1 は有効な Win32 アプリケーションではありません。 - c:/usr/local/lib/ruby/gems/1.8/gems/mysql-2.7.3-mswin32/ext/mysql.so (LoadError)


あと、gem の使い方がいまひとつわかりません。
RUBYLIB に手動でインストールしたライブラリのパスを追加していくのでしょうか。


235 名前:234 mailto:sage [2007/07/01(日) 00:14:09 ]
すみません。自己解決しました。
libmySQL.dll が x64 バージョンだったので動かなかったっぽいです。


236 名前:・∀・)っ-○◎● [2007/07/01(日) 17:49:21 ]
鬼車はね、sizeof (long) == sizeof (void*) きめうちなんだよな。
longが32ビットでポインタが64ビットのWin64(x64)のプログラミングモデルをまともに想定してない。

237 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 11:14:21 ]
>>236
具体的にはどの辺が?

238 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 13:21:47 ]
LLP64では、ポインタだけが64ビットになります。int型とlong型は32ビットのままです。

239 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 13:56:16 ]
>>238
そんなことはこの話についてこれるやつは全員承知してると思う。
鬼車のコード中の sizeof (long) == sizeof (void*) を決め打ちしてるところの例を教えて欲しい。

240 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 14:21:09 ]
通りがかりですが、話を見て64でコンパイルだけしてみました
warningは↓の3つ出ました

regcomp.c:557: warning: cast from pointer to integer of different size
regexec.c:1734: warning: cast from pointer to integer of different size
regexec.c:1799: warning: cast from pointer to integer of different size

241 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 14:24:22 ]
原因はこれですね
#define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\
(pad_size) = WORD_ALIGNMENT_SIZE \
- ((unsigned int )(addr) % WORD_ALIGNMENT_SIZE);\
if ((pad_size) == WORD_ALIGNMENT_SIZE) (pad_size) = 0;\
} while (0)

#define ALIGNMENT_RIGHT(addr) do {\
(addr) += (WORD_ALIGNMENT_SIZE - 1);\
(addr) -= ((unsigned int )(addr) % WORD_ALIGNMENT_SIZE);\
} while (0)

242 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 14:28:20 ]
これだけなら影響はなさそうですけどね。
まあサラっと見ただけですが

243 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 14:59:48 ]
あ、すみません。
私の環境では long が64ビットなので、int の部分しかあぶりだせませんでした。



244 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 15:05:18 ]
>>241
x64だとPLATFORM_UNALIGNED_WORD_ACCESSがdefineされるから該当コードは存在しない。

245 名前:・∀・)っ-○◎● [2007/07/04(水) 22:35:04 ]
怖ぇだろ常識的に考えて

246 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 00:12:16 ]
ようするに根拠はない、と。

247 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 00:22:50 ]
ダンゴ使えねぇ〜

248 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 02:37:21 ]
使えないどころか、害悪だな。糞以下。

249 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 22:35:10 ]
ここ↓から、HTML help for VisualuRuby (JA)というのをダウンロードしたのですが、
何も表示されません。自分の環境が悪い?

Ruby
homepage3.nifty.com/Yukimi_Sake/ruby.html

250 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 23:41:17 ]
うちも何も表示されません。
HTML Helpの作成ミスでは?


251 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 10:38:31 ]
うちは出るなあ。

HTML Help Control Version 4.74.9273

252 名前:・∀・)っ-○◎● [2007/07/10(火) 21:46:04 ]
>>246
64bitアドレス型から32bit整数へのキャストがある時点で怖い怖い。

253 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 09:35:08 ]
>>250
やっぱ見れないですか。

>>251
見れる人もいるんだ。

超初心者だからヘルプがないとよく分からない。。。orz



254 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 14:58:05 ]
>>252
だからどこにあるんだよ

255 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 17:58:05 ]
Visualu RubyのFormdesignerのヘルプってないですかね?
質問があります。

FormdesignerのEditというコントローラ?、フォームの上に置くテキスト入力
できるやつです。

数字(ポート番号とIPアドレス)を入れるようにしているんですけど、入力制限
したいんですよね。

例えば、ポート番号なら1〜65535、IPアドレスなら1〜255、という感じに。
どのようにすればいいのでしょうか?

256 名前:デフォルトの名無しさん [2007/07/11(水) 21:13:13 ]
win32/config.hをテキトーにx64用に書きなおしてビルドしてみ?
小さい型へのキャストの警告でまくるから。

257 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 21:33:02 ]
テキトーに書き換えないで真面目にx64版をビルドすりゃいいと思うんだが。

258 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 21:48:02 ]
試行錯誤しながら何とかできました。
勉強用で、ルータのUPnPを利用してポートを開放するスクリプトを作りました。

自分のバッファローのWHR-G54Sではうまく動作しました。
他のルータでもうまく動作するかの確認をお願いします。

VisualuRubyが動く環境で実行できます。
ファイルは↓です。

www.uploda.org/uporg899427.zip.html

”OpenPort.rb”を実行してもらえれば、GUI画面が立ち上がります。

259 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 21:58:53 ]
config.hの書き換えだけで対応できないからこそ型サイズ決めうちなんだろ。

260 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 22:24:33 ]
>>252
怖いのはお前の顔面だろカス

261 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 23:36:01 ]
x64 windows版が既にマージされてるという事実を見るだけで、
明確な根拠を示せない批判が全て無意味になるんだが。
config.hがどうこうとか言ってる奴は書き換え方が悪いんだろ。

262 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:56:11 ]
>>249 ファイルのプロパティに「ブロックの解除」ってボタン無いですか?
解除しないとhtmlhelpがちゃんと開けないようです。

263 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 08:42:15 ]
>>262
ありがとう。
その通りでした。



264 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 17:34:15 ]
vruby で ListView をいじってるんですが、
マウスのクリックイベントって拾えませんか?
ダブルクリックは拾えるみたいですが、右クリックも拾いたいのです。

require 'vr/vrcontrol'
require 'vr/vrcomctl'
require 'vr/vrhandler'

class MyListview <VRListview
  include VRMouseFeasible
  def vrinit
    super

    addColumn("name",120)
    insertColumn(1,"ext",50)
    addColumn("size",80)
    addColumn("atime",120)
    insertMultiItems(0,[ [["test2","dat"],0], [["foo","bar"],1] ])
  end
end


265 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 17:35:27 ]
module MyForm
  def construct
    self.move(10,10,600,400)
    self.caption="TreeList TEST"
    addControl(MyListview,"lv1","lv", 0, 0, 300, 400)
  end

  def lv1_dblclicked
    p 'dblclicked'
  end
  def lv1_lbuttonup(shift,x,y)
    p [shift,x,y]
  end
  def lv1_columnclick(subitem)
    p subitem
  end
end

frm=VRLocalScreen.newform
frm.extend MyForm
frm.create.show
VRLocalScreen.messageloop

こんな感じでやっても、lv1_lbuttonup に処理がこないのです。

266 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 18:37:47 ]
vrubyはしらんけどdelphiのlistviewにはonmousedownというイベントがあって通常それで拾う。

267 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 18:39:08 ]
右クリックでlbuttonupが来ると?

268 名前:264-265 mailto:sage [2007/07/14(土) 18:48:10 ]
レスありがとうございます。

>266
そうですよね。
普通イベントハンドラがデフォルトで定義されているのですが
vruby の VRListview では定義されてないようです。

Spy++でみると、WM_RBUTTONDOWN, WM_RBUTTONUP
などのメッセージは ListView に来てます。

>267
失礼・・。まずは lbuttonup で試してました。
rbuttonup と読み替えてください。
最終的にやりたいことは右クリックを拾う、です。


lv1_dblclicked が呼ばれると、なぜか
lv1_lbuttonup が同時に後から呼ばれていることを発見。

ウィンドウメッセージは ListView に飛んできてるので
おそらくは vruby 側で何か処理を足してやれば
めでたくマウスの右クリックがとれるはずなので
もうちょいがんばってみます。

269 名前:264-265 mailto:sage [2007/07/14(土) 20:55:07 ]
う〜む…;

VRComCtlContainer#self_wmnotify(msg)
にいったんメッセージが飛んできて、ディスパッチされるらしい。

ハンドラの名前は VRNotifyControl#notifycontrolinit で登録されてる。
addNotifyHandler(0xfffffffe,"clicked",MSGTYPE::ARGNONE,nil)
addNotifyHandler(0xfffffffd,"dblclicked",MSGTYPE::ARGNONE,nil)
 :
(FormDesigner を使っているとわからないメソッド)

MyForm#lv1_clicked を定義してみたら、イベントが飛んできて捕まえられました。
ただ lv1_lbuttonup(shift, x, y) と違って座標などがとれない。

MyListview クラスに include VRMouseFeasible すると、
リストビューをダブルクリックしたときにのみ
MyListview2#self_lbuttonup(shift, x, y) がきちんと呼ばれる
不思議な現象になる。

たぶん理由があって、ちゃんと突き詰めれば動くのだろうけど、もういいぽ・・。
とりあえず lv1_clicked にて hittest を適当に処理することで
対処することに決めました。5 時間かかった〜…。

270 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 20:57:05 ]
なにをごちゃごちゃやってるのか知らんけど
VRubyのリファレンスちゃんと嫁

271 名前:264-265 mailto:sage [2007/07/14(土) 21:09:06 ]
正しい。
でもリファレンス嫁はちょっと漠然としてて範囲が広くてきっついよ。
ここ見れ、とか、メソッドやクラス名のヒントを
つ[メソッド名]
とかやってくれた方が助かるわー迷ってるんだから;

272 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 21:43:42 ]
self_rbuttondown

273 名前:264-265 mailto:sage [2007/07/14(土) 22:59:03 ]
>272
うぉぉ! できた!
rbuttondown(shift, x, y) と lbuttondown(shift, x, y) は、
include VRMouseFeasible でとれた。
(buttonup 系はなぜかとれない)
どうもありがとう!非常に助かりました m(_ _)m

www.osk.3web.ne.jp/~nyasu/vruby/referer/vr/VRMouseFeasible.html
ここにあるのはなんだ〜



274 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:24:17 ]
おめでとう

漏れも
>>264-268
見てたときは思い出さなかったんだけど
>>269
の5時間かかった〜っていうのを見て
3年ほど前に同じ問題で半日ほどはまったことがあるのを思い出した



275 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 13:50:21 ]
vruby でウィンドウが閉じるときに呼ばれるような
onClose とか onDestroy ってどこかにありますか?
X ボタンで閉じたときに終了処理をするイベントが拾えなくて
困ってるんですけど、msghandler をいじるしかないのかな?

と思って grep したら
include VRClosingSensitive
して self_close で拾えばいいのか。OK。自己解決。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<175KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef