C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[11]: ペン操作によるメニュー展開


(過去ログ 24 を表示中)

[トピック内 20 記事 (1 - 20 表示)]  << 0 >>

■10503 / inTopicNo.1)  ペン操作によるメニュー展開
  
□投稿者/ arion (20回)-(2007/11/19(Mon) 20:02:40)

分類:[C#] 

VisualStudio .NET2003 C#
.NET Framework SDK Ver.1.1
を使っています。

以前こちらの掲示板に投稿してから時間が経ってしまいました。
以前の投稿はこちらです。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=7596&KLOG=20

再記述になってしまいますが、
・デスクトップ上で何かしらのジェスチャを行うとそこにフォーム(inkpicture)が表示される。
・ペンで操作し、フォームの領域から出たらその方向に新しくinkpictureを表示する。
・この動作は繰り返され、ペンの軌道にそって蛇のようにinkpictureが表示される。
・ひとつ前のフォームに戻すと新しく表示されたフォームはその都度消える。
という動作をするアプリケーションを考えています。

┌-┐ ┌――┐ ┌―――┐
└-┘→└――┘→└―――┘
 ↓         ↓
┌-┐      ┌―――┐
│-│      └――││
└-┘         └┘
 ↓
┌-┐
│-│
│-│
└-┘

現在は、inkpicture上にフォルダやファイルが表示されるようにしたいと考えています。

listviewでフォルダとファイルのアイコンをエクスプローラのように表示する事ができたので、
このコントロール(formとinkpicture)にlistviewを追加したところ、inkpictureが反応しなくなってしまいました。
両方とも動作するようにしたいのですが、何かアドバイスが頂けたら嬉しいです。

よろしくお願いします。

引用返信 編集キー/
■10625 / inTopicNo.2)  Re[1]: ペン操作によるメニュー展開
□投稿者/ sin (5回)-(2007/11/22(Thu) 19:59:13)
No10503 (arion さん) に返信
レスがつきませんね。おかしなことをお尋ねしますがこれは何かに使うために作成したのでしょうか?
引用返信 編集キー/
■10627 / inTopicNo.3)  Re[2]: ペン操作によるメニュー展開
□投稿者/ arion (21回)-(2007/11/22(Thu) 20:08:00)
No10625 (sin さん) に返信
> ■No10503 (arion さん) に返信
> レスがつきませんね。おかしなことをお尋ねしますがこれは何かに使うために作成したのでしょうか?

返信ありがとうございます。

何かに使うわけではないです。
個人的にこういう動作をするアプリケーションを作成したいというだけです。


質問がよくなかったのでしょうか。


Windowsフォームで1つのフォームに複数のコントロールを同じ大きさで重ねて実行すると、
最前面のコントロールが表示されますが、
この状態で下に重なっているコントロールも有効にする方法はあるのでしょうか?
引用返信 編集キー/
■10633 / inTopicNo.4)  Re[3]: ペン操作によるメニュー展開
□投稿者/ れい (219回)-(2007/11/22(Thu) 20:33:55)
No10627 (arion さん) に返信
> ■No10625 (sin さん) に返信
>>■No10503 (arion さん) に返信
>>レスがつきませんね。おかしなことをお尋ねしますがこれは何かに使うために作成したのでしょうか?

質問の意味が私にはよくわからなかったので放置でした。

> Windowsフォームで1つのフォームに複数のコントロールを同じ大きさで重ねて実行すると、
> 最前面のコントロールが表示されますが、
> この状態で下に重なっているコントロールも有効にする方法はあるのでしょうか?

メッセージを下のコントロールに回せば機能はしますが。
よほど注意しないとぐちゃぐちゃになっちゃいますよ。

引用返信 編集キー/
■10637 / inTopicNo.5)  Re[3]: ペン操作によるメニュー展開
□投稿者/ 渋木宏明(ひどり) (561回)-(2007/11/22(Thu) 21:19:12)
渋木宏明(ひどり) さんの Web サイト
> この状態で下に重なっているコントロールも有効にする方法はあるのでしょうか?

別に無効になっているわけではないと思いますが?

「有効にする」というのは、具体的にどういう動作を期待しているのでしょうか?


引用返信 編集キー/
■10644 / inTopicNo.6)  Re[4]: ペン操作によるメニュー展開
□投稿者/ 中博俊 (1207回)-(2007/11/22(Thu) 23:02:16)
中博俊 さんの Web サイト
なんか前から読んでるけど、イメージがわきにくいんですよね。
ただの趣味ソフトなら、ソフト公開するとかソース公開して具体的にやった方がわかりよいかも。
あと説明もビデオにしたり・・・・
引用返信 編集キー/
■10646 / inTopicNo.7)  Re[5]: ペン操作によるメニュー展開
□投稿者/ 囚人 (241回)-(2007/11/22(Thu) 23:37:30)
前回のスレを真剣に読んでないのでわからないのですが、どこまでできてるのかな?

ちょっと興味なんですけど、そのソフトから出たいときはどうしたらいいんでしょ?いつまでもウィンドウが付いてきて他のウィンドウが選択できなくなりそうですね。

それはおいておいて。

>ペンで操作し、フォームの領域から出たらその方向に新しくinkpictureを表示する。

というのは既に実現できているのかもしれませんが、「フォームの領域から出たら新しく表示する」ではなく「フォームの領域から出そうになったら新しく表示する」とすれば、いたって普通のやり方で実現できそうですね。

例えば、inkpicture の四辺の少しの幅を感知エリアにしておき、そのエリアにポインタが乗ったらその方向にフォームを伸ばすだけ、とか。
引用返信 編集キー/
■10686 / inTopicNo.8)  Re[4]: ペン操作によるメニュー展開
□投稿者/ arion (22回)-(2007/11/23(Fri) 20:32:33)
No10637 (渋木宏明(ひどり) さん) に返信
>>この状態で下に重なっているコントロールも有効にする方法はあるのでしょうか?
>
> 別に無効になっているわけではないと思いますが?
>
> 「有効にする」というのは、具体的にどういう動作を期待しているのでしょうか?
>
>

れいさん、渋木宏明(ひどり) さん、中博俊さん、囚人さん返信ありがとうございます。


重複になってしまいますが、私が考えいるのは

例えば、マイドキュメントに名前が「1」、「2」、「3」、「4」、「5」という5つのフォルダやファイルがあるとします。

まずジェスチャで四角いフォームを表示させます。
そこからペンを下に動かし領域をでると、最初のフォームの下に同じ大きさのフォームが1つ現れそこには「1」のフォルダが表示されます。
さらにペンを下に動かして「1」フォルダの領域を出るとその下にまた四角いフォームが現れ「2」のフォルダが表示される。

┌-┐
└-┘
 ↓ 
┌-┐ 
│-│ 
└-┘ 
 ↓
┌-┐
│-│
│-│
└-┘

というようなものです。
ある指定したフォルダに入っているフォルダやファイルを一度に全部見せるのではなく、ペンで操作した方向に1つずつ出して行きたいと考えています。
この説明では下方向のみでしたが上下左右に展開させたいです。


listviewをマウスで広げていくことはなんとかできたと思うのですが、
ペンで操作しようとするとマウスでのドラッグ操作になってしまうので、
ペン操作でlistviewを広げていくにはinkpictureが必要だと考えました。

ペンで操作するにはinkpictureが必要だと考え、
フォルダやファイルを表示するにはlistviewが必要だと考えました。

この二つを上手く組み合わせていこうと考えているのですがまだ上手く実行できません。


No10646 (囚人 さん) に返信

> 例えば、inkpicture の四辺の少しの幅を感知エリアにしておき、そのエリアにポインタが乗ったらその方向にフォームを伸ばすだけ、とか。

そういう考えもありますね。
ありがとうございます。

みなさんありがとうございます。
少し自分で考えてまた投稿したいと思います。

よろしくおねがいします。
引用返信 編集キー/
■10732 / inTopicNo.9)  Re[5]: ペン操作によるメニュー展開
□投稿者/ arion (23回)-(2007/11/24(Sat) 21:28:02)
何度も申し訳ございません。

> ペンで操作するにはinkpictureが必要だと考え、
> フォルダやファイルを表示するにはlistviewが必要だと考えました。

この考え方は合っていますでしょうか?


引用返信 編集キー/
■10745 / inTopicNo.10)  Re[6]: ペン操作によるメニュー展開
□投稿者/ れい (242回)-(2007/11/25(Sun) 05:47:27)
No10732 (arion さん) に返信
>>ペンで操作するにはinkpictureが必要だと考え、
>>フォルダやファイルを表示するにはlistviewが必要だと考えました。
>
> この考え方は合っていますでしょうか?

最初に断っておきます。
ずいぶん前にテストでいじっただけなのでよく覚えてませんし、
あれからいろいろリリースされてるようなので正確なことはわかりません。

>>ペンで操作するにはinkpictureが必要だと考え、

必須ではないはずですが、
InkPictureコントロールを使えばペンで操作できると思います。
でもペンをポインティングデバイスとして使う場合はInkPictureでないほうがいいと思います。

>>フォルダやファイルを表示するにはlistviewが必要だと考えました。

これも必須ではないはずですが、
ListViewコントロールでフォルダやファイルを表示できると思います。

ListViewとInkPictureをどう組み合わせるかは工夫のしどころではないでしょうか。
InkPictureの上に一回り小さいListViewを重ねたり、
ListViewの周りにInkPictureを配置してもいいし。
でも今回はInkが要らないのでInkPictureは無駄な気がします。

普通にマウスメッセージから場所を拾ったらいいように思えます。
それだとジェスチャー部分を変えるだけで普通のOSでも動きそうだし。

引用返信 編集キー/
■10746 / inTopicNo.11)  Re[7]: ペン操作によるメニュー展開
□投稿者/ れい (243回)-(2007/11/25(Sun) 05:57:58)
No10745 (れい さん) に返信
> でも今回はInkが要らないのでInkPictureは無駄な気がします。

あー。
もしかしてInkを拾ってなんかしようとしてるとか?
なら透明なInkPictureを使ってListViewはその下に置くのがいいのかな?

そんなことできるかどうか知りませんし
ListViewを違和感無く操作できるようにするのは激しく大変な気がしますが…

それよりむしろInkCollectorを直接使えばいいのかも。
ListViewにアタッチされたInkCollectorとか使えば出来るのかもしれない。

えーと。全部適当なので
間違ってる可能性が高いです。
あまり信じないでください。
引用返信 編集キー/
■10795 / inTopicNo.12)  Re[8]: ペン操作によるメニュー展開
□投稿者/ arion (24回)-(2007/11/26(Mon) 14:24:31)
No10746 (れい さん) に返信
> ■No10745 (れい さん) に返信

返信ありがとうございます!

>でもペンをポインティングデバイスとして使う場合はInkPictureでないほうがいいと思います。

これはなぜでしょうか?

私が作りたいのは、マウスの代わりにペンをポインティングデバイスとして考えています。


> もしかしてInkを拾ってなんかしようとしてるとか?
> なら透明なInkPictureを使ってListViewはその下に置くのがいいのかな?


ペンで操作してフォームの領域をでたらその方向にフォームを広げていきたいので、
ペンの位置を知るためにinkpictureが必要だと考えています。
ですのでInkを拾うことは考えていません。
inkpicture上ではペンの色は透明にしています。

引用返信 編集キー/
■10807 / inTopicNo.13)  Re[9]: ペン操作によるメニュー展開
□投稿者/ mあ@反省中 (7回)-(2007/11/26(Mon) 22:29:28)

> ペンで操作してフォームの領域をでたらその方向にフォームを広げていきたいので、
> ペンの位置を知るためにinkpictureが必要だと考えています。
> ですのでInkを拾うことは考えていません。
> inkpicture上ではペンの色は透明にしています。

マウスで動くサンプルとかないのですか?
ペンは持っている人口考えるとここでサンプルってくれても試せないし。

マウスのドラッグ?か、移動に近いのですよね、ペンをマウスとした場合。

http://msdn2.microsoft.com/ja-jp/library/microsoft.ink.inkpicture.aspx
PictureBox 派生クラスらしいですから、マウスでは、PictureBox で実現すん
のかな?PictureBox の上にリストビューを乗っけるのかな?
のりしろ分小さめにしないで、同じ大きさで乗っけたら、リストビューに反応
してしまってInkPicture(PictureBox) には反応しないのではないかと・・・

■■■■■■
■■■■■■
■■■■■■ 同じ大きさのInkPicture の上にListView がのっかっている図
■■■■■■
■■■■■■

□□□□□□
□■■■■□
□■■■■□ InkPicture の上に一回り小さい ListView が載ってる図
□■■■■□ 糊しろ部分が4ドットくらい、ペンが反応する部分
□□□□□□

□InkPicture
■ListView

むーん、、、、
引用返信 編集キー/
■10809 / inTopicNo.14)  Re[10]: ペン操作によるメニュー展開
□投稿者/ 渋木宏明(ひどり) (572回)-(2007/11/26(Mon) 23:41:51)
渋木宏明(ひどり) さんの Web サイト
> 糊しろ部分が4ドットくらい、

この方法はあまりよくありません。

マウスカーソルの移動は断続的に通知されます。
移動量が速ければ「のりしろ」上を通過する際の通知が行われない可能性があります。


引用返信 編集キー/
■10811 / inTopicNo.15)  Re[9]: ペン操作によるメニュー展開
□投稿者/ れい (246回)-(2007/11/27(Tue) 00:23:31)
No10795 (arion さん) に返信
> ■No10746 (れい さん) に返信
> >でもペンをポインティングデバイスとして使う場合はInkPictureでないほうがいいと思います。
> これはなぜでしょうか?

それはもったいないからです。
リソースとかメモリとかファイルサイズとかコーディングの労力とか。

確か、
ペンに対応してないソフトをペンで使えるように、
ペンはマウスの代わりに使えたはずです。
その場合ペンで触った場所にマウスカーソルがでて、
カーソルの位置変化は普通のマウスメッセージで通知されたはずです。

マウスで済むならそれでいいでしょ、と。

> ペンで操作してフォームの領域をでたらその方向にフォームを広げていきたいので、
> ペンの位置を知るためにinkpictureが必要だと考えています。

前の投稿で書いたように、inkpictureは十分条件ですが必要条件ではありません。
やっぱり普通のFormとListViewでやったらどうですか?

Gestureに関しては、自分で実装しないならペンが必須ですが、
それ以外はペンで無くマウスで十分なんですよね?

引用返信 編集キー/
■10829 / inTopicNo.16)  Re[10]: ペン操作によるメニュー展開
□投稿者/ Jitta (433回)-(2007/11/27(Tue) 21:32:47)
2007/11/27(Tue) 21:33:13 編集(投稿者)
ふと、疑問。

+--+
| 0|
+--+
 ↓
+--+
| 0|
+--+
| 1|
+--+
 ↓
+--+
| 0|
+--+
| 1|
+--+
| 2|
+--+ この状態で、↑にしたら、どうなるの?

いったん「ジェスチャー状態」を解除して、[1]から右へジェスチャーを開始したら、
+--+
| 0|
+--+--+
| 1| 3|
+--+--+
| 2|
+--+ となるのでしょうか?では、ここから↓にいったら?

+--+
| 0|
+--+--+
| 1| 3|
+--+--+
| 2| 4|
+--+--+ こう?
じゃぁ、[1][2]から右へ行ったら?[3][4]から左、[2][4]から上、[1][3]から下は?

引用返信 編集キー/
■10832 / inTopicNo.17)  Re[11]: ペン操作によるメニュー展開
□投稿者/ arion (25回)-(2007/11/27(Tue) 22:24:22)
2007/11/27(Tue) 22:35:17 編集(投稿者)
2007/11/27(Tue) 22:34:36 編集(投稿者)
2007/11/27(Tue) 22:33:47 編集(投稿者)
No10829 (Jitta さん) に返信
> 2007/11/27(Tue) 21:33:13 編集(投稿者)

皆さん返信ありがとうございます!


> +--+
> | 0|
> +--+
> ↓
> +--+
> | 0|
> +--+
> | 1|
> +--+
> ↓
> +--+
> | 0|
> +--+
> | 1|
> +--+
> | 2|
> +--+ この状態で、↑にしたら、どうなるの?

[2]が消えるようにしたいです。


> いったん「ジェスチャー状態」を解除して、[1]から右へジェスチャーを開始したら、
> +--+
> | 0|
> +--+--+
> |1|3|
> +--+--+
> | 2|
> +--+ となるのでしょうか?では、ここから↓にいったら?
>
> +--+
> | 0|
> +--+--+
> | 1| 3|
> +--+--+
> | 2| 4|
> +--+--+ こう?
> じゃぁ、[1][2]から右へ行ったら?[3][4]から左、[2][4]から上、[1][3]から下は?

私の考えているアプリケーションは、フォルダの展開をペンの方向転換(90度)でしたいと思ってます。
通常のエクスプローラですと、ダブルクリックで展開(下の階層に行く)するのと同じ動作です。

例として、
[2]をフォルダとして、
[2]の中身のフォルダやファイルを[x][y][z]とします。


+--+ +--++--+ +--++--++--+
| 0|→| 0|| 1|→| 0|| 1|| 2|
+--+ +--++--+ +--++--++--+

+--+
| 0|
+--+
| 1|
+--+

+--+
| 0|
+--+
| 1|
+--+
| 2|
+--+

例えば、今[0]から下方向にフォームを伸ばしていて、
[2]で右方向に切り替えると、

+--+
| 0|
+--+
| 1|
+--++--+
| 2|| x|
+--++--+

こういうように[2]フォルダの中身が出てくるようにしたいです。
ここからさらに→にいったら

+--+
| 0|
+--+
| 1|
+--++--++--+
| 2|| x|| y|
+--++--++--+

という具合です。

最初に表示するフォームをスタートボタンとして、
+--+
| |
+--+
そこから上下左右に直線でペンを動かすと、マイドキュメントの中身の[0][1][2]…のフォルダやファイルが表示されたフォームを表示して、
あるフォルダのところで90度方向を変換してペンを動かすと、次からはそのフォルダの中身が1つずつ表示されるようにしたいです。

わかりますでしょうか?




引用返信 編集キー/
■10834 / inTopicNo.18)  Re[12]: ペン操作によるメニュー展開
□投稿者/ arion (27回)-(2007/11/27(Tue) 22:36:21)
すいません図がわかりづらくなってしまいました。
引用返信 編集キー/
■10835 / inTopicNo.19)  Re[10]: ペン操作によるメニュー展開
□投稿者/ arion (28回)-(2007/11/27(Tue) 22:45:17)
返信ありがとうございます。

No10811 (れい さん) に返信
> ペンに対応してないソフトをペンで使えるように、
> ペンはマウスの代わりに使えたはずです。
> その場合ペンで触った場所にマウスカーソルがでて、
> カーソルの位置変化は普通のマウスメッセージで通知されたはずです。
>
> マウスで済むならそれでいいでしょ、と。

> 前の投稿で書いたように、inkpictureは十分条件ですが必要条件ではありません。
> やっぱり普通のFormとListViewでやったらどうですか?

そうですね。
インクで何か書きたいとかではなく、
ペンの位置情報を知る事ができればよいのでマウスでのカーソルの位置を取ればよいのでしょうか。

ペン操作でフォームを伸ばすと、
常に画面に触れていることになるので、やはりマウスでいうドラッグ操作に相当するのでしょうか?


> Gestureに関しては、自分で実装しないならペンが必須ですが、
> それ以外はペンで無くマウスで十分なんですよね?

現時点ではそうです。

引用返信 編集キー/
■10842 / inTopicNo.20)  Re[11]: ペン操作によるメニュー展開
 
□投稿者/ れい (248回)-(2007/11/28(Wed) 00:24:47)
No10835 (arion さん) に返信
> インクで何か書きたいとかではなく、
> ペンの位置情報を知る事ができればよいのでマウスでのカーソルの位置を取ればよいのでしょうか。
> ペン操作でフォームを伸ばすと、
> 常に画面に触れていることになるので、やはりマウスでいうドラッグ操作に相当するのでしょうか?

前も書きましたが、私はもう覚えてません。
前の投稿もうそかもしれません。

環境がある人なら、マウスカーソルの位置を確認したり、ドラッグか確認するのは簡単です。

自分で試しましょう。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -