Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое создание объекта 
:(
    Опции темы
EDuard
Дата 7.1.2006, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 1.8.2005
Где: Синее нигде

Репутация: 2
Всего: 7



Albinos_x у канвы нет Drawtext'а, ф-ия содержиться в модуле windows.
С мышкой все понятно, вот только не прорисовывается текст.


--------------------

PM MAIL WWW ICQ   Вверх
Albinos_x
Дата 7.1.2006, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата(EDuard @ 7.1.2006, 22:31 Найти цитируемый пост)

Albinos_x у канвы нет Drawtext'а, ф-ия содержиться в модуле windows.
С мышкой все понятно, вот только не прорисовывается текст.

ну да... там первый параметр нужно передать Хандле твоего канваса, второй строку, потом (наверно) количество строк, размеры надписи в параметре TRect, и последний формат текста (Cardinal)


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Демо
Дата 8.1.2006, 04:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



DrawTExt надо использовать апишный.

Код

int DrawText(
  HDC hDC,          // handle to DC
  LPCTSTR lpString, // text to draw
  int nCount,       // text length
  LPRECT lpRect,    // formatting dimensions
  UINT uFormat      // text-drawing options
);



В параметре uFormat использовать значение DT_WORDBREAK...
Добавлено @ 04:36
А пример...
Ну вот такой пусть будет:

Код

procedure TForm1.Button1Click(Sender: TObject);
var
    R: TRect;
    s: String;
begin
    R.Left := 0;
    R.Top := 0;
    R.Right := 50;
    R.Bottom := 150;
    s := 'У попа была cобака, он ее любил';
    DrawText(
        Form1.Canvas.Handle,
        PChar(s),
        Length(s),
        R,
        DT_WORDBREAK);
end;




--------------------
    
PM MAIL ICQ Skype   Вверх
Albinos_x
Дата 8.1.2006, 05:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата(Демо)
Length(s)

Цитата(Albinos_x @ 7.1.2006, 22:43 Найти цитируемый пост)
потом (наверно) количество строк

значит я всё таки ошибся, енто длина текста...
Цитата(Демо @ 8.1.2006, 04:32 Найти цитируемый пост)
DrawTExt надо использовать апишный.

енто тот же самый про который мы говорили...судя по данному тобой описанию


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
EDuard
Дата 8.1.2006, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 1.8.2005
Где: Синее нигде

Репутация: 2
Всего: 7



Все понял, после создания у чекбокса пришлось еще написать refresh, ато нехотел показывать ни в какую че он там пишет.
Демо, а можно еще задать шрифт и его размер?


--------------------

PM MAIL WWW ICQ   Вверх
Albinos_x
Дата 8.1.2006, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата(EDuard @ 8.1.2006, 13:09 Найти цитируемый пост)

а можно еще задать шрифт и его размер?

попробуй перед рисованием на канве:
Код

Form1.Canvas.Font.Name:='Arial';



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
FRAGNATIC
Дата 8.1.2006, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 6
Всего: 11



Цитата(EDuard @ 8.1.2006, 13:09 Найти цитируемый пост)

Демо, а можно еще задать шрифт и его размер?

вот писал когда-то
Код

procedure draw;
var
  r: TRect;
  DC: HDC;
  LogFont : TLogFont;
  GDIOBJ : HGDIOBJ;
begin
 DC:=GetDc(0);

 SetTextColor(dc,RGB(0,0,0));

 LogFont.lfItalic:=0;
 LogFont.lfUnderline:=1;
 LogFont.lfStrikeOut:=0;
 LogFont.lfWidth:=50;
 logFont.lfEscapement:=0;
 LogFont.lfHeight:=100;
 LogFont.lfOutPrecision:=OUT_TT_ONLY_PRECIS ;
 LogFont.lfClipPrecision:=CLIP_DEFAULT_PRECIS;
 LogFont.lfQuality:=ANTIALIASED_QUALITY;

 GDIOBJ:= CreateFontIndirect(LogFont);
 SelectObject(dc, GDIOBJ);

 r.Left := 200;
 r.Top := 200;
 r.Right := 800;
 r.Bottom := 800;
 DrawText(dc,'!!! texttt !!!',14,r, DT_NOCLIP or  DT_WORDBREAK);
 DeleteObject(GDIOBJ);
 ReleaseDC(0,dc);
end;

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0522 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.