ページ 11

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

Posted: 2008年1月22日(火) 12:39
by Tom-O-Fumi
こんにちは。AB歴2週間の超初心者です。
いきなりですが、選択文字列の前と後ろに文字列を挿入方法はあるのでしょうか。今、HTMLエディタを作っていて選択した文字列の前に、「<!--」と「-->」となどを挿入させたいのです。
教えてください。
これからもよろしくお願いします。

Posted: 2008年1月22日(火) 16:11
by ゲスト
古いAB掲示板に有りました。
動作未確認です。
同じ板なので問題無いと思いますが、勝手に転記して・・・・
管理者様 問題がありましたら削除願います。

Posted: 2008年1月26日(土) 21:09
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