![]()  | 
![]() ![]() ![]() ![]()  | 
   
 | 
Изменить экранный курсор без необходимости возвращать предыдущий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 прямо в свой смартфон. Подпишитесь на наш  :: Главная :: Мышка и Курсор :: 
  | 
||||
 ©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007  | ||||