Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.042 c
14-1079423649
Gorlum
2004-03-16 10:54
2004.04.11
Помогите настроить


4-1079078365
Alexis
2004-03-12 10:59
2004.04.11
Работа с ресурсами на API


14-1079201962
ИМХО
2004-03-13 21:19
2004.04.11
Шо такое Dedicated Hosting?


3-1079074744
lats
2004-03-12 09:59
2004.04.11
Обновление данных в SQL запросе на IB


1-1082365341
tria
2004-04-19 13:02
2004.04.11
Как узнать размер поля (отступа) при печати?




   Наверх