Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.02;
Скачать: CL | DM;

Вниз

Немигающая каретка: возможно ли это?   Найти похожие ветки 

 
lookin ©   (2005-09-10 19:39) [0]

Сабж...


 
Virgo_Style ©   (2005-09-10 20:08) [1]

Насколько я понимаю, после SetCaretBlinkTime(MaxInt); она не погаснет 24 дня. Этого мало? %-)


 
lookin ©   (2005-09-10 20:16) [2]

[1] Virgo_Style ©   (10.09.05 20:08)

Ну, насколько я понял, SetCaretPos сбрасывает состояние каретки на обратное.


 
Virgo_Style ©   (2005-09-10 20:34) [3]

lookin ©   (10.09.05 20:16) [2]

Хм... Это было бы неприятно :-) А откуда это следует? Я ничего такого не нашел, и эксперимент вроде ничего такого не выявляет...


 
lookin ©   (2005-09-10 20:53) [4]

[3] Virgo_Style ©   (10.09.05 20:34)

Эх, у меня выявляет... Т.е. я так считаю, судя по видимому...


 
Zeqfreed ©   (2005-09-10 21:09) [5]

lookin ©   (10.09.05 20:53) [4]
Virgo_Style ©   (10.09.05 20:34) [3]
Коды в студию, для сравнения :)


 
lookin ©   (2005-09-10 21:17) [6]

[5] Zeqfreed ©   (10.09.05 21:09)

Например, если это что-то объяснит:

//создание каретки
procedure TMacro.PaintCaret;
begin
 if CreateCaret(Window.Handle,0,2,Step.y) then begin
 ShowCaret(Window.Handle);
 SetCaretPos(LeftMargin,0);
 SetCaretBlinkTime(300000);
 end;
end;

//сдвиг каретки при вводе символа
procedure TMacro.WindowKeyPress(Sender: TObject; var Key: Char);
begin
 GetCaretPos(p);
 ...вычисляется новое значение p
 SetCaretPos(p.x,p.y);
end;


 
Virgo_Style ©   (2005-09-10 21:37) [7]

Практически весь мой код содержится в [1] %-)
Еще поставил SetCaretPos в Memo.OnChange, вот и все.

Может, я чего неправильно делаю, потому и работает? :o)


 
lookin ©   (2005-09-10 21:39) [8]

[7] Virgo_Style ©   (10.09.05 21:37)

Может я чего-то не так делаю?


 
lookin ©   (2005-09-10 21:41) [9]

[7] Virgo_Style ©   (10.09.05 21:37)

Что любопытно - в моем окошке каретка исчезает после ввода символа, хотя в дельфях - остается.... Почему бы это?


 
Virgo_Style ©   (2005-09-10 22:13) [10]

Хм, получил похожий эффект.

procedure TForm1.Memo1Change(Sender: TObject);
var p:TPoint;
begin
 GetCaretPos(p);
 SetCaretPos(p.x-10,p.y);
end;


При вводе символа в тот момент, когда каретка в начале строки, она стала исчезать (что, в принципе, логично).
При вычислении координаты каретки она точно не выходит за пределы поля ввода?


 
lookin ©   (2005-09-10 22:15) [11]

[10] Virgo_Style ©   (10.09.05 22:13)
>>При вычислении координаты каретки она точно не выходит за пределы поля ввода?

Абсолютно, она может оказаться вне поля зрения, но всегда в поле ввода...

Вообще у меня даже все проще, при наборе текста в видимой области каретка мигает (или исчезает, при миллисекундах оченна больших), но появляется в точности там, где надо...


 
Virgo_Style ©   (2005-09-10 22:34) [12]

lookin ©   (10.09.05 22:15) [11]

То есть, если не пытаться сделать ее немигающей, то она мигает, но видна как раз-таки все то время, когда и где должна быть?
Хм... Странно...


 
lookin ©   (2005-09-10 23:13) [13]

[12] Virgo_Style ©   (10.09.05 22:34)
>>То есть, если не пытаться сделать ее немигающей, то она мигает, но видна
>>как раз-таки все то время, когда и где должна быть?

Как раз если сделать ее "немигающей" путем [1], то она просто исчезает при вводе любого символа, хотя дол ввода остается немигающей



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

Текущий архив: 2005.10.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.051 c
11-1107232055
Solik
2005-02-01 07:27
2005.10.02
Toolbar


2-1124830693
benn
2005-08-24 00:58
2005.10.02
RichEdit


14-1126207957
Украинец
2005-09-08 23:32
2005.10.02
Нда... Недолго Ющенку осталось быть Президентом...


2-1124813961
Juice
2005-08-23 20:19
2005.10.02
2 Вопроса по IDE


1-1126100482
avsam
2005-09-07 17:41
2005.10.02
тип файла (bmp или jpeg)?