選択文字列の前と後ろに文字列を挿入

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

選択文字列の前と後ろに文字列を挿入

#1 投稿記事 by Tom-O-Fumi »

こんにちは。AB歴2週間の超初心者です。
いきなりですが、選択文字列の前と後ろに文字列を挿入方法はあるのでしょうか。今、HTMLエディタを作っていて選択した文字列の前に、「<!--」と「-->」となどを挿入させたいのです。
教えてください。
これからもよろしくお願いします。
ゲスト

#2 投稿記事 by ゲスト »

古いAB掲示板に有りました。
動作未確認です。
同じ板なので問題無いと思いますが、勝手に転記して・・・・
管理者様 問題がありましたら削除願います。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#3 投稿記事 by konisi »

SendMessage等を使用する事で解決できそうです。

コード: 全て選択

Sub AddTag1()
	Dim newbuf As *Byte,buf As *Byte,oldbuf As *Byte
	Dim length As Long
	Dim max As Long,min As Long
	Dim hEdit As HANDLE

	hEdit=GetDlgItem(hMainWnd,EditBox1)

	SendMessage(hEdit,EM_GETSEL,VarPtr(min) As DWord,VarPtr(max) As DWord)

	length=GetWindowTextLength(hEdit)
	oldbuf=calloc(length+1)
	GetWindowText(hEdit,oldbuf,length+1)
	buf=calloc(max-min+1)
	newbuf=calloc(max-min+8)
	memcpy(buf,oldbuf+min,max-min)
	wsprintf(newbuf,"<!--%s-->",buf)

	SendMessage(hEdit,EM_REPLACESEL,0,newbuf As DWord)

	free(buf)
	free(oldbuf)
	free(newbuf)
End Sub
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
返信する