エディタの文字列挿入

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
MML
記事: 154
登録日時: 2006年5月02日(火) 16:27

エディタの文字列挿入

#1 投稿記事 by MML »

エディタに文字列を挿入したいのですが
どうすればいいのでしょうか?

やりたいことはたとえば以下のような文章があって、
(「|」はカーソル)

[今日も|ひまだった]

|があるところに「とてつもなく」というのを挿入したいのですが
どうすればいいのでしょうか?

[今日もとてつもなくひまだった]

ぐぐったんですが、なかなか出てこなくて、、、
Toshi
記事: 98
登録日時: 2005年7月19日(火) 19:47
お住まい: 山形県
連絡する:

#2 投稿記事 by Toshi »

コード: 全て選択

SendMessage(hEditWnd,EM_REPLACESEL,TRUE,"とてつもなく")
このように EM_REPLACESEL を送ります。
これは文字列が選択状態である場合にはその範囲を指定された文字列で置き換え、
何も選択されていない場合はカーソルの位置に指定された文字列を挿入します。
wParam が TRUE だと「元に戻す」コマンドで元に戻せます。FALSE だと戻せません。
lParam に文字列へのポインタを指定します。
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

Re: エディタの文字列挿入

#3 投稿記事 by 7 »

> エディタに文字列を挿入したいのですが
> どうすればいいのでしょうか?

コード: 全て選択

Function InText(ByVal hWnd As HWND,ByVal lpszString As LPCSTR,ByVal bUndo As BOOL) As LRESULT
	InText=SendMessage(hWnd,EM_REPLACESEL,bUndo As WPARAM,lpszString As LPARAM)
End Function

Dim hEdit As HWND
	hEdit=GetDlgItem(hMainWnd,EditBox1)

	' 文字列を挿入、あるいは置換え
	InText(hEdit,"Insert",TRUE)
> ぐぐったんですが、なかなか出てこなくて、、、
BackSearchABで「挿入」と検索してみるとヒットします。
MML
記事: 154
登録日時: 2006年5月02日(火) 16:27

Re: エディタの文字列挿入

#4 投稿記事 by MML »

7さん、Toshiさん、ありがとうございます。よくわかりました。
返信する