Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать подчёркивание чёрточками?


Kolan ©   (2008-07-06 15:56:00) 

Здравствуйте,
 Как сделать сабжевое подчёркивание, скажем, у экземпляра TLabel?


Kolan   (2008-07-08 13:44:00) [1]


> Именно!

Млииин, а я вокруг этих флагов кручусь, ничего вокруг не вижу... :(

Благодарю за код.


KilkennyCat   (2008-07-08 12:52:00) [2]


> Leonid Troyanovsky ©   (08.07.08 09:56) [17]


Именно!
Я намекал увидеть свойство Canvas ;)


Leonid Troyanovsky   (2008-07-08 09:56:00) [3]


> Kolan ©   (07.07.08 22:12) [11]

> Хм. Немогу понять, кажется подчёркавание не тут делается.


type
 TMyLabel = class(TLabel)
  procedure DoDrawText(var ARect: TRect; flags: Longint);override;
 end;

procedure TMyLabel.DoDrawText;
begin
 inherited;
 with Canvas, ARect do
   begin
     Pen.Style := psDot;
     MoveTo(Left, Bottom-1);
     LineTo(Right, Bottom-1);
   end;
end;

--
Regards, LVT.


Loginov Dmitry   (2008-07-08 08:30:00) [4]

Куча TLabel с одним символом + амперсанд на каждый :)


Kolan   (2008-07-08 08:20:00) [5]

> Ну, если посмотреть на TCustomLabel,  то вообще-то все понятно,
> как.

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


> Но эта ветка не для начинающих, вроде.

Может еще понамикаете :). Я сам хочу сделать.


> А в чем проблема?

Проблемма в том, что я не могу найти какой флаг и где использовать, для получения такгого эффекта. Флаги DT_HIDEPREFIX, DT_NOPREFIX и DT_PREFIXONLY— не то, они управляют подчёркиванием одного символа — это, обычно, означает Hot Key. А мне надо всю строку подчеркнуть чёрточками, что означает немедленное действие.


palva   (2008-07-07 22:30:00) [6]


> palva ©   (07.07.08 22:25) [13]

Теперь понял. Нужно зайти на сайт яндекса. А в чем проблема? Все время меняется длина строки? Тогда сделать Label Resizable и делать длину подчеркивания равную свойству Width у Label.


palva   (2008-07-07 22:25:00) [7]

В предыдущем посте я вижу подчеркивание сплошной линией - никаких черточек. (FireFox 3.0 под Ubuntu)


KilkennyCat   (2008-07-07 22:22:00) [8]

Ну, если посмотреть на TCustomLabel,  то вообще-то все понятно, как.
Я могу потратить пятнадцать минут и сделать.
Но эта ветка не для начинающих, вроде.


Kolan   (2008-07-07 22:12:00) [9]

> DoDrawText override.

Хм. Немогу понять, кажется подчёркавание не тут делается.


> Григорьев Антон ©   (07.07.08 13:04)

Тоже странно:
DT_HIDEPREFIX  Windows 2000/XP: Ignores the ampersand (&) prefix character in the text. The letter that follows will not be underlined, but other mnemonic-prefix characters are still processed. For example:

input string:    «A&bc&&d»
normal:          «Abc&d»
DT_HIDEPREFIX:   «Abc&d»


Может вы не поняли меня, мне надо подчёркивание чёрточками всей строки, а не символа. Пример: http://www.yandex.ru/.Под строкой поиска написано «Например: » вот такое подчёркивание мне нужно


Kolan   (2008-07-07 15:51:00) [10]

Удалено модератором


Григорьев Антон   (2008-07-07 13:04:00) [11]

http://msdn.microsoft.com/en-us/library/ms533909.aspxфлаги DT_HIDEPREFIX, DT_NOPREFIX и DT_PREFIXONLY


Игорь Шевченко   (2008-07-07 10:56:00) [12]


> То, что я хз как это подчёркивание сделать...


Не знаю, кого как, а меня такая манера изложения достает. Или ты ее меняешь или ты не пишешь, одно из двух.


Leonid Troyanovsky   (2008-07-06 20:08:00) [13]


> Kolan ©   (06.07.08 19:58) [6]

> То, что я хз как это подчёркивание сделать...

DoDrawText override.

--
Regards, LVT.


Kolan   (2008-07-06 19:58:00) [14]

> Но что мешает создать необычный? ;)

То, что я хз как это подчёркивание сделать...


KilkennyCat   (2008-07-06 19:03:00) [15]

У обычного - нет. Но что мешает создать необычный? ;)


Kolan   (2008-07-06 17:57:00) [16]

Вроде самое обычно, даже стандартное. Может вы имеете в виду, что у обычного TLabel есть возможность подчёркивания чёрточками? Тогда как это сделтаь? Я не знаю.


Anatoly Podgoretsky   (2008-07-06 17:43:00) [17]

> Kolan  (06.07.2008 17:35:02)  [2]

Странное у тебя понятия об подчеркивание


Kolan   (2008-07-06 17:35:00) [18]

> А что  fsUnderline не помогает?

Ды это же цельная линия, а мне нужны чёрточки (dash). Смысл разный...


Anatoly Podgoretsky   (2008-07-06 17:12:00) [19]

> Kolan  (06.07.2008 15:56:00)  [0]

А что  fsUnderline не помогает?


Наверх

Титульная страница Поиск, карта сайта Написать письмо