Try this...
Procedure DeActivateClass;
VAR
x, y: Real;
h: Handle;
active, Name:STRING;
message :integer;
Result:BOOLEAN;
BEGIN
repeat
begin
active:=Activeclass;
GetPt(x,y);
h:=PickObject(x,y);
setSelect(h);
if h<>nil then begin
Name:=GetClass(h);
if (GetClass(h)=active) then
SysBeep;
if (GetClass(h)<>active) then begin
HideClass(Name);
end;
setDSelect(h);
end;
end;
ReDraw;
until h=nil;
END;
Run(DeActivateClass);