HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
1004
Koolbasicみたいな操作12解決


Kool

リンク

2009/10/4(Sun) 18:14:28|NO.28141

すこしVisualBasicをやって、HSPに乗り換えた者です。
ボタン以外の操作でbasicのように
「OOのオブジェクトにXXという操作を行ったとき□□の動作を行う」
という風なことをできるでしょうか?
ウィンドウズメッセージやoncmd命令をどうかすればいいと聞いたのですが・・・

質問がわかりにくいでしょうが、わかった方がいらっしゃいましたら、よろしくお願いします。



この記事に返信する


Ve

リンク

2009/10/4(Sun) 18:23:03|NO.28142

基本命令でそれなりに反映させられますが、
オブジェクトの種類によっては拡張命令などを使うようになりますかね。



兵士D(ロバート馬場的な意味でw)

リンク

2009/10/4(Sun) 18:26:02|NO.28143

HSPではプラグインなどを使わないと出来ないと思います。



Kool

リンク

2009/10/4(Sun) 19:11:19|NO.28145

Veさん
基本命令で反映できますか。
どのようにすればできるか、詳しくお願いできますか?

兵士D(ロバート馬場的な意味でw)さん
どのようなプラグインがありますでしょうか?



Ve

リンク

2009/10/4(Sun) 19:30:07|NO.28146

そんなにオブジェクト関係には詳しい方では無いので
教授できるほどではないのですが…。

詳しい話を聞いてみないと分からないなと判断できなかったので、
上記のような書き込みに留めました。

具体的にどうしたいのか、どんな処理内容なのかと書いておくと、
ぼくより出来る皆さんの回答が得られやすいと思います。



Kool

リンク

2009/10/4(Sun) 19:48:13|NO.28147

いまメディアプレーヤーを作っていて、プレーヤーの進歩バー(動かしてスキップしたりする)
を、さくらさんのモジュールのスクロールバーで代用してみたのですが、再生時間をリアルタイムで
更新しているため、バーが動かせないのです。
そこで、Basic時代にしていた
「バーをクリックorドラッグ」→「一時停止」→「マウスボタンが離されたら再生」
ということをしてみたいのです。



Kpan

リンク

2009/10/4(Sun) 20:34:14|NO.28148

こんな感じのものですか?
これはスクロールバーでなくトラックバーを使っとりますが。
http://lhsp.s206.xrea.com/works/other.html#lbassmod



Kool

リンク

2009/10/4(Sun) 20:46:42|NO.28149

Kpanさん
おお、まさにそのような感じです。
トラックバーでしたか。まちがえました ^^;

一時停止をすれば何とかなるのですが・・・



あまま

リンク

2009/10/4(Sun) 21:12:05|NO.28150

oncmdでクリックを感知する方法


oncmd gosub *l_click, 0x0201 // マウス左ボタンが押されたら*l_clickに飛ぶ oncmd gosub *r_click, 0x0204 // マウス右ボタンが押されたら*r_clickに飛ぶ stop *l_click mes "左クリックされました。" return *r_click mes "右クリックされました。" return

> 「バーをクリックorドラッグ」→「一時停止」→「マウスボタンが離されたら再生」
飛んだ先で一時停止の処理を行ない、
returnで戻る直前にトラックバーの位置から再生
といった記述をすれば可能だと思います。



Kool

リンク

2009/10/4(Sun) 21:43:09|NO.28151

あままさん
サンプルの提示ありがとうございます。
やはりoncmdを使ってやったほうがいいでしょうか。

あと、欲張りで申し訳ありませんが、

oncmd gosub *l_click, 0x0201

の 0x0201 の部分でクリック動作を指定しているんですよね。(ウィンドウメッセージ?)
これの「左マウスボタンが押された」のものと、「左マウスボタンが離された」というのはあるでしょうか?
そして 0x0201 のような情報はどこで手に入れてるのでしょうか?



Ve

リンク

2009/10/4(Sun) 22:08:27|NO.28153

探せば色んなサイトで載ってますね。

http://yokohama.cool.ne.jp/chokuto/advanced/windowmessage.html



あまま

リンク

2009/10/4(Sun) 22:14:48|NO.28154

> やはりoncmdを使ってやったほうがいいでしょうか。
それは好みの問題かと・・・

> これの「左マウスボタンが押された」のものと、「左マウスボタンが離された」というのはあるでしょうか?
> そして 0x0201 のような情報はどこで手に入れてるのでしょうか?
VBで書かれているページですが
メッセージに関してはこちらが参考になると思います。
http://www.winapi-database.com/

「カテゴリから検索」のページの中に
「メッセージ」という項目がありますので
そこで色々と調べてみてください。
マウス操作等は「WM_xxx」に記載されています。

左クリックの0x0201というのは
WM_LBUTTONDOWN(左マウスボタンが押された)というメッセージのコードです。

左マウスボタンが離されたという場合は
WM_LBUTTONUP=0x202(左マウスボタンが解放された)がメッセージとなります。



Kool

リンク

2009/10/4(Sun) 22:27:05|NO.28155

皆さんありがとうございます。
まだできていませんが、頑張って完成させようと思います。



ONION software Copyright 1997-2023(c) All rights reserved.