DOBON.NET DOBON.NETプログラミング掲示板過去ログ

undoについて

  • 題名: undoについて
  • 著者: tosiro
  • 日時: 2005/01/24 14:38:21
  • ID: 8670
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[VB.NET,API]
分類:[.NET]

1.vb.netの既存のundoメソッドで複数回(無限)undoは可能でしょうか??

2.また入力された文字はundo時に元に戻るのですが、リストボックスの項目をリッチテキストに反映した場合は元に戻すことはできないんですか?


1.
If Rich(fchg).CanUndo Then
Rich(fchg).Undo()
End If

上記のようなコードを書いています。この場合、テキスト上で
aaa[enter]
bb[enter]
cc[enter]
[元に戻すボタンを押す]

と入力した場合、すべて消えてしまいます。
これを1回[元に戻す]ボタンを押したら、
aaa[enter]
bb[enter]
cc[enter]
[元に戻すボタンを押す]

aaa[enter]
bb[enter]

のような処理にしたいのですが可能ですか??

2.テキストに、
aaa
bbb[リストからbbbをテキストに反映]
[元に戻すボタンを押す]

この場合、canundoがfalseになってしまいundo自体が実行されません。
一度リッチテキストからフォーカスが離れたら、canundoはfalseになってしまうのですか?


説明がわかりにくくなってしまいましたが、よろしくお願いします。
> 1.vb.netの既存のundoメソッドで複数回(無限)undoは可能でしょうか??

 可能か不可能かで言えば可能になるのではないかと。ただし、標準で用意されていないものに関しては自分で実装する必要がありますが。

> aaa[enter]
> bb[enter]
> cc[enter]
> [元に戻すボタンを押す]
> ↓
> aaa[enter]
> bb[enter]

のようになさりたいのであれば、例えば Enter キーを押下する毎に入力状態を保持するようにするとか。

#他サイトの掲示板ですが、以前次のようなやり取りがありました。方針を立てる上での参考になるかも知れません。

Undo/Redo機能の実装について
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=15084&forum=7


> 2.また入力された文字はundo時に元に戻るのですが、リストボックスの項目をリッチテキストに反映した場合は元に戻すことはできないんですか?

 「リストボックスの項目をリッチテキストに反映」というのがどういった内容なのかよく解りませんが、コードで Text プロパティの値を変更したときには Undo できないのかも知れません(想像&未確認)
>  可能か不可能かで言えば可能になるのではないかと。ただし、標準で用意されていないものに関しては自分で実装する必要がありますが。

> 例えば Enter キーを押下する毎に入力状態を保持するようにするとか。
>
> #他サイトの掲示板ですが、以前次のようなやり取りがありました。方針を立てる上での参考になるかも知れません。
>
> Undo/Redo機能の実装について
> http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=15084&forum=7
>

やはり自分で作らないとできないみたいですね(;´Д`)
URL大変参考になりました。

>
>「リストボックスの項目をリッチテキストに反映」というのがどういった内容なのかよく解りませんが、コードで Text プロパティの値を変更したときには Undo できないのかも知れません(想像&未確認)

一度テキストからフォーカスが離れてしまうと、アンドゥバッファが自動的にクリアされるみたいです。。

自分で実装することになるので、この点も含め実装していきたいと思います。
ありがとうございました。
  • 題名: Re[3]: undoについて
  • 著者: tosiro
  • 日時: 2005/01/27 19:50:32
  • ID: 8754
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
チェックし忘れました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板