HTML Components V9.1 and Lower Changes to use Delphi 7 with WinXP Manifest file The new Theme manager in Delphi 7 causes havoc with the HTML Components when an attempt to use an XP Manifest file with applications using ThtmlViewer and compiled with Delphi 7. No problem is encountered with Manifest files used if the application is compiled with other Delphi versions. The following changes may be made to accomodate the Delphi 7 Theme Manager. In htmlview.pas: In the ThtmlViewer.DrawBorder method, comment out the line shown. procedure ThtmlViewer.DrawBorder; begin if (Focused and (FBorderStyle = htFocused)) or (FBorderStyle = htSingle) or (csDesigning in ComponentState) then BorderPanel.BorderStyle := bsSingle else BorderPanel.BorderStyle := bsNone; (*BorderPanel.Invalidate;*) {<-- remove this} end; In the TPaintPanel.Paint method, change the line at the start that reads: if FViewer.DontDraw then Exit; to: if FViewer.DontDraw or (Canvas2 <> Nil) then Exit; At the end of the TPaintPanel.Paint method, change the line that reads: Canvas2.Free; to: FreeAndNil(Canvas2); In htmlsubs.pas: In the TRadioButtonFormControlObj.Create constructor, add the lines shown: begin inherited Create(AMasterList, Position, L); MyCell := ACell; PntPanel := TPaintPanel(AMasterList.PPanel); FControl := TPanel.Create(PntPanel); {$ifDef ver150} {Delphi 7} {<-- add this} TPanel(FControl).ParentBackground := False; {<-- add this} {$endif} {<-- add this) FormAlign := ABaseline; if L.Find(CheckedSy, T) then IsChecked := True; In the TSectionList.Clear method, make the changes shown ( effectively moving three lines of code so as to follow the "inherited Clear" call): procedure TSectionList.Clear; begin if not IsCopy then begin IDNameList.Clear; PositionList.Clear; end; BackgroundBitmap := Nil; BackgroundMask := Nil; if BitmapLoaded and (BitmapName <> '') then BitmapList.DecUsage(BitmapName); BitmapName := ''; BitmapLoaded := False; (*htmlFormList.Clear; {<-- comment out these lines} if Assigned(FormControlList) then FormControlList.Clear; *) {<--} AGifList.Clear; Timer.Free; Timer := Nil; SelB := 0; SelE := 0; MapList.Clear; MissingImages.Clear; if Assigned(LinkList) then LinkList.Clear; ActiveLink := Nil; ActiveImage := Nil; PanelList.Clear; if not IsCopy then Styles.Clear; if Assigned(TabOrderList) then TabOrderList.Clear; inherited Clear; htmlFormList.Clear; {<-- add these lines} if Assigned(FormControlList) then {<--} FormControlList.Clear; {<--} end;