 
			
				24.05.2013, 11:31
			
			
			
		  
	 | 
	
		
		
		
			  | 
			
			
				
				
				 Местный 
				
				
			 | 
			  | 
			
				
				
					Регистрация: 05.10.2012 
					Адрес: Санкт-Петербург 
					
					Сообщения: 577
 
				Версия Delphi: 6 
					Репутация: выкл 
					    
				 
				
			 | 
		 
		 
		
	 | 
	
	
	
		
			
			
			 
			
		
		
		
		
	Цитата: 
	
	
		| 
			
				 Сообщение от kaktusad 
				нужно рисовать новый прямоугольник и стирать старый, но чтобы весь рисунок не перерисовывать, так как приложение подвисает. 
			
		 | 
	 
	 
 
Рисуй в режиме XOR:
 
	Код: 
	type
  TMainForm = class(TForm)
    PaintBox1: TPaintBox;
    procedure FormCreate(Sender: TObject);
    procedure PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    FPrevX, FPrevY: Integer;
  end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
  FPrevX := -1;
  FPrevY := -1;
end;
procedure TMainForm.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  with TPaintBox(Sender).Canvas do
  begin
    with Brush do
    begin
      Color := clTeal;
      Style := bsSolid;
    end;
    with Pen do
    begin
      Color := clYellow;
      Mode := pmXor;
    end;
    if (FPrevX > 0) and (FPrevY > 0) then
      Rectangle(FPrevX - 10, FPrevY - 8, FPrevX + 10, FPrevY + 8);
    Rectangle(X - 10, Y - 8, X + 10, Y + 8);
  end;
  FPrevX := X;
  FPrevY := Y;
end; 
  
		
	
		
		
		
		
		
	
		
		
	
	
	 |