IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Курсор, Как убрать курсор
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


Есть задача, но по ходу её выполнения в активном окне маргает курсор, как это лечить? <_<

Сообщение отредактировано: shadoof -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Лечить "отключением" курсора. Т.к. само мигание курсора реализовано аппаратно, и отключить его нельзя, то будем просто менять размеры курсора, отображаемого на экране:
procedure SetCursorSize(cStart, cEnd: byte); assembler;
asm
mov ah, 1
mov ch, cStart
mov cl, cEnd
int 10h
end;

{ Установить нормальный курсор }
procedure SetNormalCursor;
var start_end: word;
begin
if LastMode > Font8x8 then start_end := $0507
else
if LastMode = Mono then start_end := $0b0c
else start_end := $0607;
SetCursorSize(hi(start_end), lo(start_end));
end;

{ Установить "блочный" курсор (как в режиме OverWrite) }
procedure SetBlockCursor;
var c_end: byte;
begin
if (LastMode > font8x8) or (LastMode <> Mono)
then c_end := 7 else c_end := 13;
SetCursorSize(0, c_end);
end;

{ Отключить курсор }
procedure SetNoCursor;
begin
SetCursorSize(32, 0);
end;


И теперь:
SetNoCursor; { в первой строке программы }
...
SetNormalCursor; { в последней строке }
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 9.12.2021 2:22
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name