テキストボックスに入力された文字列を短形選択するにはどうすればいいのですか?それと、行、桁をルーラー表示するにはどうしたらいいのですか?テキストボックス自体を拡張しなければいけないのですかねぇ。。
テキストボックスにはできないと思います。
リッチテキストボックスにも無理です。
まあ、無理すれば行&ルーラー表示くらいはできると思いますけど、
実用性はないかも…。
DelphiにはTEditorというコンポーネントがあって、それで全部できますけど…。他ではしりませんねぇ…。
(うわさでは高機能エディタOCXが、どこかにあるそうですけど)
ルーラ表示に付いては、こころさんのサンプルが役に立つと思います。
[visual basic]-[サンプル集 01〜20]-[行番号テキスト]です。
http://www.interq.or.jp/earth/kokoro/
たかみちえさんありがとうございます。エディタを作る場合はDelphiの方がいいのでしょうか?
魔界の仮面弁士さんありがとうございます。もう一度頑張ってみます。
短形選択はVB]では無理ですか?VBでは実用できませんかねぇ。
ラッピングして処理を自前で記述すれば不可能ではないでしょうが、
難しい、というよりかなり面倒なような気がします。
また、技術的に実現できたとしても、実用的かどうかはまた別の問題です。
> エディタを作る場合はDelphiの方がいいのでしょうか?
そういうわけではないとおもいますけど、
TEditorはDelphi用のコンポーネントなので、
エディタはやっぱり、Delphiで作ると楽…ということになりますねぇ。
(矩形選択はTEditorが楽→TEditorはDelphi用のコンポーネント→DelphiかBCB)でないとTEditorは使えない→エディタはDelphiで作ると楽)
まあVBでやるのならば、TEditorと同じようなコンポーネントを作る必要がありますけど、
決して簡単なものではないので…。
Delphiはバージョン6Personal(商用/業務用利用禁止、基本コンポーネントがちょっと少なめ、でもフリーソフトを作るぶんには問題なし)が、
要使用者登録なだけで無償で使えるので、それをつかうのもいいとおもいますけど。
わたしも、それつかってますし。
(ただし、TEditorはシェアウェアです)
難しいですねぇ。フリーのエディタを配布している人も見かけるのですが、そういう人はどうやって短形選択を作っているのでしょうかね?赤字ですか(笑)
> 赤字ですか
赤字ですね^^;たぶん。
FinderSystemというソフトがあって、
http://www.h3.dion.ne.jp/~hanagex/
このソフトを使えば、いろいろなウィンドウのクラス名がわかるんですけど、
これで見ると、多くのフリーのテキストエディタ(TerapadやMKEditorなど)や、
HTMLエディタ(STYLENOTEやHTMLProjectなど)など、タグやキーワードの色分けなどを必要とするものの多くが、
TEditorや、それを用いたコンポーネントをつかってる(つまり買ってる)ということがわかります。
(DelphiやBCBは、コンポーネントのなまえ=クラス名になるので)
ま、金銭的に見たら、赤字ですね。
その中で"カンパウェア"とかに分類されるソフトもないですし、
ソフト作者のうち何人かは、わたしも知っていますけど、
お金がかせげる職業についている人は、少ないようです。
まあフリーソフトを作るのも、赤字っちゃあ赤字ですから^^;
趣味に投資・・・って言うことでしょうね。
で、わたしもTEditorコンポーネントだけは持っていますけど、
たしか矩形選択するには、プロパティを切り替えるだけです。
> その中で"カンパウェア"とかに分類されるソフトもないですし、
そういえばTEditorを使ってるソフトで、シェアウェアもありましたね^^;
まあ、シェアウェアを作ってはいけないというわけではないので、それはどっちでもいいですけど。
フリーソフトを作ってお客をホームページに集めてバナ-収益を得ている方も結構いますよ。シェアつくるとサポート大変ですから。
結局、VBのコントロールには限界を感じる時があるんですよね〜
だから、本気でそういった物を創りたいのであれば、やはり、VC等でOCXを
創るということになりますかねぇ・・・
VCで有れば、オープンソースのテキストエディターがあるので、参考になると思いますし・・・
私は創る気にはなれませんが・・・
桁ルーラーはどうしましょう?短形はあきらめたほうがよろしいでしょうか?でもなんかできそうな気がするんですよねぇ。OCXを作るにしてもやはりVCがいいのでしょうか?VCの方が機能は多いんですかねぇ
いろいろとありがとうございました。。
ツイート | ![]() |