哪裡有好用的 RichEdit ??? 我想做一個 QQ 聊天文本輸入,顯示的那種效果, 試了好多都不行。有什麼辦法? ( 积分: 100 )

  • 主题发起人 主题发起人 QSmile
  • 开始时间 开始时间
Q

QSmile

Unregistered / Unconfirmed
GUEST, unregistred user!
哪裡有好用的 RichEdit ?? 我想做一個 QQ 聊天文本輸入,顯示的那種效果, 試了好多都不行。有什麼辦法?
 
自己動手做了。從 RichEdit98 開始做
 
是可以做出来的... RichEdit ...也可以假如gif图片....效果应该还可以...可以加入html可以用delphi自己的控件..
 
不好做,好像Rx的还行,不过不知道是否支持Ole,想搞好建议用DHtml去搞,就是难度比较大啊
 
從 2ccc.com 下了一個 ICEAPI 的一個源碼,對於插入 gif 動畫, 插入鏈接的方法已經基本理解了。

現在的難點是 QQ 輸入框的實現問題。如何把QQ輸入的東西轉成內部定義來發送。

開始我也認為它是直接發 RichEdit 的二進制流。後來仔細一想,不對。QQ不是這樣做的。
 
当然不是,对方显示的跟你显示的又不同。。。
你得定义你自己的格式信息,一起给发送过去
 
发送一个RECORD,这个RECORD可以是这样指定大小,也可以把信息后面再用另一个包发送
Qmsg= record
font: array [0..15] of Char;//字体名称
Fontsize: shortint;//字体大小
fontbold:shortint;每位存储一个状态
msg:array [0..511] of Char;//信息内容512个字
end;
如果信息中有图片信息,则用转义符带图片名,对方收到信息在显示时修理图片名,如找不到就开端口请求对方传送图片
 
TRichView控件
 
to : boy2002cn,

我的想法與你的差不多。現在我遇到的問題

而現在我遇到的是另一個問題。

輸入時的問題。

開始我也認為 QQ, MSN 發送時只是把 RichEdit 的二進制流直接發送就得了。

但後來我發現不是這樣的。

流程應該是這樣的才對。

比如用戶插入一個內部表情 [笑臉], 這時在本地顯示的輸入框中插入了一個笑臉圖片。
但在發送時可能是 這樣的 "文字文字 :-)" 用 :-) 來替換了笑臉表情,在接收時把 :-) 換成了圖片來顯示。

在發送貼圖時就可以完全證實我的想法。比如用戶 A向用戶 B 發一個抓屏位圖。 bmp 32bit 的 1024 的圖就有了幾個M。 這時發送時,用戶B開始只是顯示一個“正在接收圖片”的 gif 圖標。等數據收完後,圖片才顯示出來。而且詳細觀察你會發送圖片實現上是被壓成 jpg 再發送的。

但這時,我就遇到了我的問題了。
我是這樣想的。在界面顯示一個 RichEdit 用於用戶輸入
在後面用一個隱藏的 TextBox 可別的來保存要發送的數據

輸入文字好辦,直接加入就行了。插入表情時, TextBox 就要相對應的位置插入表情代碼。 比如 :-) :P 之類的。如果用戶按 CTRL-C 貼了一個位圖上去,那我可以先把這個位圖保存到一個臨時的地方,TextBox 中插入 mark 寫上文件的路徑。這樣看起來實現也算OK.

但最後的問題來了, 如果用戶刪除表情或圖片時,我怎麼才能知道呢?

各位高手,討論一下
 
比较好的是TRichView控件,Skype就用的是它,能够显示Gif动画的(好像要最新版本).呵呵,我刚好有,但是还没有测试.
 
比较好的是TRichView控件,Skype就用的是它

可能性不高
 
提示:QQ里引用Riched32.dll 与Riched20.dll,
 
qq的实现是dll控制的,并不是靠一个richedit就能搞定的
 
RchEdit却是很差火啊

我也在找已个Edit控件,要是能有word一半强的功能就好了(插入图片,表格, 最好还能连接到数据库。。。谁有通知我啊。。200分!)。。。。在不行只好内嵌word了。
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部