Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Как определить шрифт при копировании через буфер обмена?   Найти похожие ветки 

 
Oleg)   (2004-04-23 11:59) [0]

В новом проекте на форме лишь один мемо кнопка
по нажатию кнопки выполняется:

Memo1.Lines.Clear;
Memo1.Lines.Add("Проверка");
Memo1.SelectAll;
Memo1.Font.Name:="Arial CYR";
Memo1.Font.Charset:=204;
Memo1.Font.size:=20;
Memo1.CopyToClipboard;

Вставляю в Excel, а  там  абракадабра (ïðîâåðêà), и подобрать шрифт не  удается -(


 
Курдль ©   (2004-04-23 12:01) [1]

Почитайте про форматы буфера обмена. Кажись, на Королевстве Делфи были статьи. Например, при копировании всего одной ячейки Ёкселя, происходит загрузка более 30 форматов клипборда. Где-то там есть и фонты :)


 
Oleg)   (2004-04-23 12:04) [2]

Вот выяснил: если предварительно перед нажатием кнопки перейти на русский шрифт в виндах то все ОК


 
clickmaker ©   (2004-04-23 12:07) [3]

procedure SetClipboardText(const S: string);
 var
   wsz: PWideChar;
   dwSize: Cardinal;
   hData: Cardinal;
 begin
   if (Win32Platform = VER_PLATFORM_WIN32_NT) then begin

     dwSize := (Length(S)+1) * SizeOf(WideChar);
     hData := GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE, dwSize);
     wsz := PWideChar(GlobalLock(hData));
     StringToWideChar(S, wsz, Length(S)+1);
     GlobalUnlock(hData);
     Clipboard.SetAsHandle(CF_UNICODETEXT, hData);
   end else
     Clipboard.AsText := S;
 end;


 
Oleg)   (2004-04-23 12:26) [4]

>clickmaker ©
Спасибо, это работает
А вот еще решение: исполльзовать richedit вместо мемо



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.035 c
1-1080145525
Larry Laffer
2004-03-24 19:25
2004.04.11
Main Menu


1-1080292777
rimd
2004-03-26 12:19
2004.04.11
Atachment к ехе


4-1079696238
Falendysh
2004-03-19 14:37
2004.04.11
OLE Container Problem


3-1079458469
Igor G
2004-03-16 20:34
2004.04.11
ВDE в дистрибутив


6-1075796204
frost
2004-02-03 11:16
2004.04.11
API для вычисления маски сети.