Изменить экранный курсор без необходимости возвращать предыдущийDelphi , ОС и Железо , Мышка и КурсорИзменить экранный курсор без необходимости возвращать предыдущий
Оформил: DeeCo // By implementing Interface we can set the cursor without restore it in the end. // Example: In convensional way... var Cur: TCursor; begin Cur := Screen.Cursor; Screen.Cursor := crSQLWait; //do coding here //What happend is that if your code did not finish, the screen cursor will //remain as crSQLWait.. even with try..finally block (sometimes) Screen.Cursor := Cur; end; // By using interface, we can implement as follows type ImyCursor = interface [(GUID - Ctrl - Shift - G)] end; TmyCursor = class(TInterfacedObjects, ImyCursor); private FCursor: TCursor; public constructor Create; destructor Destroy; override; end; implementation TmyCursor.Create; begin FCursor := Screen.Cursor; end; TmyCursor.Destroy; begin Screen.Cursor := FCursor; inherited; end; procedure....var C: ImyCursor; begin C := TmyCursor.Create; Screen.Curosr := crSQLWait; // whatever cursor you like // Do coding here without worring to free it. // Screen Cursor will restore when the TMyCursor object get out of scope. end; Привет! Я переведу текст на русский язык: Код, предоставленный ниже, является решением в Delphi для изменения курсора экрана без необходимости ручного восстановления его в конце, используя интерфейс и класс с помощью наследования. Вот что код делает:
Таким образом, это подход обеспечивает восстановление курсора всегда, даже если происходит исключение. Вот предложенный альтернативный способ решения:
Альтернативное решение достигает того же результата, что и оригинальный код, но более простое и понятное. Оно также использует блок Изменение экранный курсора без необходимости возвращать предыдущий можно выполнить с помощью интерфейса и класса, реализующего этот интерфейс, что позволяет автоматически восстановить прежний курсор при выходе объекта из области видимости. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Мышка и Курсор ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |