Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2010, 02:35   #1
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию Рисование Эдита, чтобы была видна каретка.

Рисую эдит на дискриптор другого приложения, вопрос вот в чём:
Как сделать чтобы каретка тоже показывалась (палочка мигающая)?

Рисую в потоке, и всё это дело периодически промигивает, если буду рисовать на эдите думаю всё мигать станет еще хуже =\\ Да к тому же я без понятия как рисовать на эдите в нужном месте эту палочку 8)

По инету и форуму полазил, но ничего даже отдалённо похожего не заметил =\\
Zeraim вне форума Ответить с цитированием
Старый 28.02.2010, 17:48   #2
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

как-то писал компонент и мне нужно было, чтоб не показывался мигающий курсор, сделал так:
Код:
procedure WMPaint(var Msg: TMessage); message WM_PAINT;
    procedure WMSetFocus(var Msg: TMessage); message WM_SETFOCUS;
    procedure WMNCHitTest(var Msg: TMessage); message WM_NCHITTEST;
эти сообщения нужно перехватывать, так вот мне не нужна каретка была и я воспользовался апи функцией
HideCaret(Handle);
есть соответств ShowCaret(HWND)
посмотри еще это
CreateCaret, DestroyCaret, GetCaretPos, HideCaret, SetCaretPos

или можно поставить событие на таймер и рисовать\стирать на контроле простую линию нужного размера
рисовать просто - получаем dc контрола (GetDC(handle)), получаем длину текста в пикселах (не помню ща апи функцию), и рисуем линию на на полученной позиции (MoveToEx по-моему)
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]

Последний раз редактировалось RUSt88; 28.02.2010 в 17:56.
RUSt88 вне форума Ответить с цитированием
Старый 28.02.2010, 20:32   #3
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию

Хм попробую, но где то я читал что Эдит со своей кареткой работает сам, и вполне вероятно сторонними способами не поможет =\\ Спасибо в общем.
Zeraim вне форума Ответить с цитированием
Старый 28.02.2010, 23:27   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Думаю наведет на верный путь/мысль этот материал
BOBAH13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что нужно сделать, чтобы форма была поверх панели задач? Andr Общие вопросы Delphi 11 25.02.2011 22:06
как сделать чтобы картинка была фоном в body в самом низу aseeva_sonya HTML и CSS 8 15.01.2010 16:14
Как сделать так, чтобы форма была поверх всех окон? Jupiter Общие вопросы Delphi 9 31.07.2009 17:42
Как сделать чтобы форма была над трэем Bigtyoma Общие вопросы Delphi 2 24.09.2008 17:40
что поменять в css чтобы страница была element HTML и CSS 2 08.05.2008 18:16