TO UruseiBest(UruseiBest) 很个感谢你的建议.RTF格式的我也看了下.略的部分是图片的内容.是将图片内容按16进制直接保存在RTF文本里的.但是这个格式跟如何判断点击的对象是图片好像没帮助. 谢谢你!
可以通过另类的办法实现(我已经帮你实现了) 思路:根据UruseiBest(UruseiBest)的建议,我在vb中试了一下,图片的.SelRTF 中确实有pict,picw,pich等字符,估计是宽度、高度以及像素等信息:"....}\uc1\pard\lang2052\f0\fs18{\pict\wmetafile8\picw4497\pich158...." 另外,当鼠标点击Richtxtbox中的图片时,图片就会自动被选,这个时候我们就可以获得图片的.SelRTF,那么在richtextbox中点击的时候,如果 SelRTF中包含有pic (或picw) 等信息,就说明点击的是图片了,剩下的就好办了: Private Sub RichTextBox1_Click() Text1.text = RichTextBox1.SelRTF Dim a As Long a = InStr(Text1.text, "pic") '判断是否包含pic,或picw也可以 if a>0 then MsgBox "你点击的是图片!!" End Sub(我在vb中测试不同图片的a值的都是109)
subclass richtextbox拦截它的消息看看
这里可以找到不少关于RTF文件格式的资料
在程序中使用 RichTextBox1.SelRTF ,分析返回的值,可以看到
{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052\deftab420{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
{\info{\horzdoc}{\*\lchars ([\'7b\'a1\'a4\'a1\'ae\'a1\'b0\'a1\'b4\'a1\'b6\'a1\'b8\'a1\'ba\'a1\'be\'a1\'b2\'a1\'bc\'a3\'a8\'a3\'ae\'a3\'db\'a3\'fb\'a1\'ea\'a3\'a4}{\*\fchars !),.:\'3b?]\'7d\'a1\'a7\'a1\'a4\'a1\'a6\'a1\'a5\'a8\'44\'a1\'ac\'a1\'af\'a1\'b1\'a1\'ad\'a1\'c3\'a1\'a2\'a1\'a3\'a1\'a8\'a1\'a9\'a1\'b5\'a1\'b7\'a1\'b9\'a1\'bb\'a1\'bf\'a1\'b3\'a1\'bd\'a3\'a1\'a3\'a2\'a3\'a7\'a3\'a9\'a3\'ac\'a3\'ae\'a3\'ba\'a3\'bb\'a3\'bf\'a3\'dd\'a3\'e0\'a3\'fc\'a3\'fd\'a1\'ab\'a1\'e9}}
\uc1\pard\nowidctlpar\qj\lang2052\f0\fs18{\pict\wmetafile8\picw6350\pich4921\picwgoal3600\pichgoal2790
(略)
其中的“pic”之类的大概就是指图片,请参看rtf说明,再慢慢分析吧。
附:省略的部分,我估计是图片的内容。
不一定正确,请自己分析。
很个感谢你的建议.RTF格式的我也看了下.略的部分是图片的内容.是将图片内容按16进制直接保存在RTF文本里的.但是这个格式跟如何判断点击的对象是图片好像没帮助.
谢谢你!
思路:根据UruseiBest(UruseiBest)的建议,我在vb中试了一下,图片的.SelRTF 中确实有pict,picw,pich等字符,估计是宽度、高度以及像素等信息:"....}\uc1\pard\lang2052\f0\fs18{\pict\wmetafile8\picw4497\pich158...."
另外,当鼠标点击Richtxtbox中的图片时,图片就会自动被选,这个时候我们就可以获得图片的.SelRTF,那么在richtextbox中点击的时候,如果 SelRTF中包含有pic (或picw) 等信息,就说明点击的是图片了,剩下的就好办了:
Private Sub RichTextBox1_Click()
Text1.text = RichTextBox1.SelRTF
Dim a As Long
a = InStr(Text1.text, "pic") '判断是否包含pic,或picw也可以
if a>0 then MsgBox "你点击的是图片!!"
End Sub(我在vb中测试不同图片的a值的都是109)
最近考虑觉得VirtualDesktop(吴滂:欢迎到我的Blog转转 ^_^)所说的subclass方法应该也不错。谁知道点击图片框时会发送什么消息?
可以JT了。谢谢各位帮忙!