Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Вниз

Почему не выводится текст?   Найти похожие ветки 

 
Bratskiy ©   (2006-02-22 09:23) [0]

Привет! Пытаюсь в RichEdit средствам API вывести текст, что-то не получается.

var
 DC:HWND;
 st:PChar;
 sz:integer;
 w:longbool;
......
 DC:=GetDC(RichEdit1.handle);
 st:=PChar("Ghbdtn");
 sz:=SizeOf(st);
 w:=TextOut(DC,10,10,st,sz);
......

Пытался ещё всякими способами, что-то не выходит! Где я ошибаюсь?


 
Ega23 ©   (2006-02-22 09:37) [1]

RichEdit1.Canvas.Handle  ?


 
McSimm ©   (2006-02-22 09:37) [2]

вы пытаетесь его там нарисовать? зачем?
Или используйте графический элемент для рисования или позвольте RichRdit`у самому рисовать имеющийся у него текст


 
Bratskiy ©   (2006-02-22 09:39) [3]

У RichEdit нету Canvas


 
MBo ©   (2006-02-22 10:44) [4]

вместо SizeOf нужно Length
Но всё равно это извращение...


 
Bratskiy ©   (2006-02-22 10:49) [5]

И Length пробовал всё равно не работает.
Никакое это не извращение. Я просто хочу выравнивание текста по ширине сделать, а без API походу это сделать никак нельзя.


 
Ega23 ©   (2006-02-22 11:17) [6]


> Никакое это не извращение. Я просто хочу выравнивание текста
> по ширине сделать, а без API походу это сделать никак нельзя.
>


Почему? Рекомендую обратить внимание на метод TCanvas.GetTextWidth, а также на компонент TStaticText


 
MBo ©   (2006-02-22 11:43) [7]

RichEdit 3 версии поддерживает выравнивание по ширине (через EM_PARAFORMAT), но в Дельфи используется RichEdit1 (а в RXLib - 2.0).

Пока неясно - если нужно только выводить текст, зачем нужен RichEdit?


 
Bratskiy ©   (2006-02-26 05:59) [8]


> Ega23 ©  


Как из RichEdit получить доступ к Canvas? Свойства такого у RichEdit нет, через Canvas.Create, тоже неполучается, так как у этого конструктора нет параметров, в которые можно передать владельца.


> MBo ©  


Как я понял, RichEdit 3.0 это не компонент для Delphi, а Windows"кая библиотека, которая есть на компьютере если на компьютере установлен Office XP, или даже Office более ранней версии. Где тогда взять компонент который работает с этой библиотекой. А именно RichEdit мне нужен для того, чтобы проссматривать и редактировать текст в формате rtf


 
Bratskiy ©   (2006-02-26 06:38) [9]

Текст при помощи API вывелся, но получилось нето, что надо так как его нельзя редактировать.


 
Ega23 ©   (2006-02-26 10:14) [10]


> Как из RichEdit получить доступ к Canvas? Свойства такого
> у RichEdit нет, через Canvas.Create, тоже неполучается,
> так как у этого конструктора нет параметров, в которые можно
> передать владельца.
>


А зачем тебе Canvas именно TRichEdit? Ты хочешь узнать ширину текста в пикселях, или она тебе не нужна??


 
Bratskiy ©   (2006-02-26 10:32) [11]

Да, мне нужна ширина текста в пикселях, а текст ширину которого нужно узнать у меня в RichEdit. Конечно можно сам текст брать не из RichEdit, а из файла, который в этом самом RichEdit выводится. Но тогда как узнать ширину строки (RichEdit1.Lines.Strings[i]), и не только ширину, а и саму строку, которую надо по ширине расстягивать. И самое главное мне этот текст нужно потом ещё run-time редактировать, а это наверное с помощью RichEdit и Canvas сделать нельзя


 
Ega23 ©   (2006-02-26 10:36) [12]

Ты можешь создать виртуальный Bitmap, на его Канвас вывести текст и после этого смтреть на его параметры.


 
Bratskiy ©   (2006-02-26 10:44) [13]

В виртуальном Bitmap править наверное не получится



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

Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.013 c
2-1140788428
Golik
2006-02-24 16:40
2006.03.12
Сортировка в DBGride ??


1-1139401625
Huk
2006-02-08 15:27
2006.03.12
Как получить список фонтов в WideString?


15-1139930357
Бедный Йорик
2006-02-14 18:19
2006.03.12
Pleazzzzzzzzzzzzzzzzzz!


1-1139309643
Zilog_
2006-02-07 13:54
2006.03.12
Проблема с выводом текста


2-1140525190
Wel
2006-02-21 15:33
2006.03.12
TImage





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский