Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2007, 19:55   #1
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Печаль RxRichEdit скачать

Дайте пожалуйста ссылку на данный компонент ... (нужен для вставки смайлов в RxRichEdit)
Код взят с DelphiWorld
Надеюсь после установки компонента будет работат
Вставка рисунка в TRxRichEdit
Код:
uses
   RichEdit;

 // Stream Callback function 
type
   TEditStreamCallBack = function(dwCookie: Longint; pbBuff: PByte;
     cb: Longint; var pcb: Longint): DWORD;
   stdcall;

   TEditStream = record
     dwCookie: Longint;
     dwError: Longint;
     pfnCallback: TEditStreamCallBack;
   end;

 // RichEdit Type 
type
   TMyRichEdit = TRxRichEdit;

 // EditStreamInCallback callback function 
function EditStreamInCallback(dwCookie: Longint; pbBuff: PByte;
   cb: Longint; var pcb: Longint): DWORD; stdcall;
   // by P. Below 
var
   theStream: TStream;
   dataAvail: LongInt;
 begin
   theStream := TStream(dwCookie);
   with theStream do
   begin
     dataAvail := Size - Position;
     Result := 0;
     if dataAvail <= cb then
     begin
       pcb := read(pbBuff^, dataAvail);
       if pcb <> dataAvail then
         Result := UINT(E_FAIL);
     end
     else
     begin
       pcb := read(pbBuff^, cb);
       if pcb <> cb then
         Result := UINT(E_FAIL);
     end;
   end;
 end;

 // Insert Stream into RichEdit 
procedure PutRTFSelection(RichEdit: TMyRichEdit; SourceStream: TStream);
   // by P. Below 
var
   EditStream: TEditStream;
 begin
   with EditStream do
   begin
     dwCookie := Longint(SourceStream);
     dwError := 0;
     pfnCallback := EditStreamInCallBack;
   end;
   RichEdit.Perform(EM_STREAMIN, SF_RTF or SFF_SELECTION, Longint(@EditStream));
 end;

 // Convert Bitmap to RTF Code 
function BitmapToRTF(pict: TBitmap): string;
 // by D3k 
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[I] := 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[I] := achar[2];
     Inc(I, 2);
   end;
   rtf := rtf + hexpict + ' }}';
   Result := rtf;
 end;


 // Example to insert image from Image1 into RxRichEdit1 
procedure TForm1.Button1Click(Sender: TObject);
 var
   SS: TStringStream;
   BMP: TBitmap;
 begin
   BMP := TBitmap.Create;
   BMP := Image1.Picture.Bitmap;
   SS  := TStringStream.Create(BitmapToRTF(BMP));
   try
     PutRTFSelection(RxRichEdit1, SS);
   finally
     SS.Free;
   end;
 end;
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 16.12.2007, 20:12   #2
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Библиотека RxLib. Компонент TRxRichEdit.

На поисковики тебя наверное не пускают, а что ты для этого сделал?
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 16.12.2007, 20:29   #3
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

Я 2 часа в гугле сидел , и не нашол нормальной ссылки для скачивания КОМПОНЕНТА RxRichEdit. Отчяялся и прошу помощи. Хотя я нашол ему замену и тему можно закрывать ...
Всёравно спасибо !
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 16.12.2007, 20:32   #4
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Цитата:
Результаты 1 - 10 из примерно 1 270 для Библиотека RxLib скачать. (0,27 секунд)
http://rx.delphiplus.org/
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 16.12.2007, 20:41   #5
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Радость

Цитата:
Сообщение от AlDelta Посмотреть сообщение
Я незнал что этот компонент находится в библиотеке RxLib и искал его отдельно. в основном на английских и китайских сайтах...
---
GAGARIN-NEW вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где скачать windows95? nova-alex Windows 9 09.07.2016 19:50