Есть задача, но по ходу её выполнения в активном окне маргает курсор, как это лечить? <_<
volvo
18.10.2005 23:36
Лечить "отключением" курсора. Т.к. само мигание курсора реализовано аппаратно, и отключить его нельзя, то будем просто менять размеры курсора, отображаемого на экране:
{ Установить нормальный курсор } 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; { в последней строке }
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.