- PR -

[C#] ListViewのTextを編集中に操作するには

1
投稿者投稿内容
ドンキ
会議室デビュー日: 2005/05/30
投稿数: 8
投稿日時: 2005-06-10 15:59
VC# .net でフォームアプリの開発を行っています。

ListViewのテキストをユーザーに編集許可にしているのですが
デフォルトでテキストが000-aaaa、001-bbbb、002-ccccというように
リスト順に番号をつけています。

編集時に"000-"を削って"aaaa"のみをユーザーに編集をさせたあと
"000-"を付加して編集を終了したいと考えています。

listView1_BeforeLabelEditイベントで
listView1.Items[e.Item].Textの文字列を削除しても
編集中の文字列に影響しませんでした。

テキスト編集を未編集で終了すると、文字を削ったTextで置き換えられます。
なにかしら編集をすると、文字を削ったTextは無視されて、編集した文字が適用されます。

listView1.Items[e.Item].Textと編集中の文字列は別だと思うのですが
編集中の文字列を操作するにはどのようにすればよいでしょうか。

よろしくお願いいたします。
深山
会議室デビュー日: 2005/01/20
投稿数: 4
投稿日時: 2005-06-14 02:21
引用:

編集時に"000-"を削って"aaaa"のみをユーザーに編集をさせたあと
"000-"を付加して編集を終了したいと考えています。


 列を分けるなり、他のコントロールを使用するなりしたほうが素直な気もしますけれど、それはさておき。

引用:

編集中の文字列を操作するにはどのようにすればよいでしょうか。


 LVM_GETEDITCONTROL メッセージで編集部分のハンドルが取得できますので、 SetWindowText API を用いて変更すればよいでしょう。
1

スキルアップ/キャリアアップ(JOB@IT)