不通过“插入对象对话窗”,如何在RxRichEdit中插入文件并能把文件名显示在图标下面,就象Outlook插入文件一样?(100分)

  • 主题发起人 主题发起人 zhichunw
  • 开始时间 开始时间
Z

zhichunw

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]不通过“插入对象对话窗”,如何在RxRichEdit中插入文件并能把文件名显示在图标下面,就象Outlook插入文件一样?
 
直接拖拽进去
 
不行,下面的标题还不是文件名。
 
RxRichEdit, Rxlib我沒有成功安裝, 你能告訴我怎樣安裝嗎, 或者那裡有介紹安裝方法,
我已經是按照它的說明做了, 還是我 Download的有問題, 是2.75的版本.
 
不通过InsertObjectDialog,插入一个文件到RichEdit里面,这个问题我研究了很久,最后
采用的方式是剪贴板拷贝、粘贴 [:(],另外还有一种方式比较复杂,通过组织RichEdit格
式的文本进行添加,比如下面的函数,将Bitmap转化为一个RichEdit格式的字符串

function BitmapToRTF(pict: TBitmap): string;
var
bi,bb,rtf: string;
bis,bbs: Cardinal;
achar: ShortString;
hexpict: string;
I: Integer;
begin
GetDIBSizes(pict.Handle,bis,bbs);
SetLength(bi,bis);
SetLength(bb,bbs);
GetDIB(pict.Handle,pict.Palette,PChar(bi)^,PChar(bb)^);
rtf := '{/rtf1 {/pict/dibitmap ';
SetLength(hexpict,(Length(bb) + Length(bi)) * 2);
I := 2;
for bis := 1 to Length(bi) do
begin
achar := Format('%x',[Integer(bi[bis])]);
if Length(achar) = 1 then
achar := '0' + achar;
hexpict[I-1] := achar[1];
hexpict := achar[2];
Inc(I,2);
end;
for bbs := 1 to Length(bb) do
begin
achar := Format('%x',[Integer(bb[bbs])]);
if Length(achar) = 1 then
achar := '0' + achar;
hexpict[I-1] := achar[1];
hexpict := achar[2];
Inc(I,2);
end;
rtf := rtf + hexpict + ' }}';
Result := rtf;
end;
 
请问DragonPC_???,你是如何通过剪贴板拷贝、粘贴的呢?如果我要实现通过打开对话框选中
一个文件之后,直接利用RxEdit将对象进行连接该如何去做?
 
后退
顶部