マウスで選択範囲を選べるテキストボックス。

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
よしくん

マウスで選択範囲を選べるテキストボックス。

#1 投稿記事 by よしくん »

テキストエディターをつくりたいと思うんですが、
こんな機能をつけたいのです。

AAABBCCC
AAABBCCC
AAABBCCC

編集するテキストが上のような場合、

BB
BB
BB

の部分だけをマウスで選択してコピーをしたり、切り取ったりする機能です。

貼り付けをするときは

BB
BB
BB

がクリップボードにある場合

AACC<-ここで貼り付けをすると
AACC
AACC

AACCBB
AACCBB
AACCBB

こうなります。


でも普通のテキストボックスじゃだめですよね。
Bの部分を選択したくても
↓ここから
AABBCC
AABBCC
AABBCC
↑ここまで

BBCC
AABBCC
AABB

が選ばれてしまいます。

何か良い方法はないでしょうかね。

ここで出しているテキストエディターにこの機能があればつくらなくてもすみますが。

用途はCSVをテキストエディターで開くときに
一列を削除する等の編集のためです。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#2 投稿記事 by konisi »

自分で実装するほうが速いかも知れません。僕はやり方を知りません。

ただ、その場合はクリップボードにコピーするとかそういう部分も自分で組まないといけないので面倒かと思います。また、2バイト文字の扱いについても要検討しておかないとバグの元になりかねません。
何より面倒だと思うのが、1行ごとに違うコントロールにする必要性がありそうだという点です。

CSVファイル専用なら、文字のバイト数ではなく、先頭からのカンマの数でコピー箇所を区切る必要があるかもしれません。

がんばってください^^;
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ノッチ
記事: 82
登録日時: 2005年6月01日(水) 23:27
お住まい: 北海道札幌市

#3 投稿記事 by ノッチ »

> 自分で実装するほうが速いかも知れません。僕はやり方を知りません。

同じくEDITでボックス選択は機能として存在しないと思います。
この機能を実装するにはEDITをサブクラス化等といった方法よりも、
自分でテキストのエディタを作成した方が早いでしょう。
しかし、それよりもそういった機能を搭載しているエディタを使用した方が明らかに
早いです。
秀丸(有料)やTeraPad(無料)に標準でついていますので。

どうしても自分で実装したいのであれば可変幅フォントの場合も考慮しないといけないので
相当面倒くさいと思います。
MML
記事: 154
登録日時: 2006年5月02日(火) 16:27

#4 投稿記事 by MML »

Delphiならそういうのがあったと思います。
ActiveBasicに移植してくれる方がいれば、、、(爆

たしか、2000円のシェアウェアだった気がします、、、
よしくん

#5 投稿記事 by よしくん »

矩形選択機能ですね。
これがやりたかったわけです。
うむー。こんな機能を持ったものがすでに存在するのだからつくる意味はなさそうかな?
返信する