Thema: Delphi XP Style mit Delphi 6

Einzelnen Beitrag anzeigen

choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#7

Re: XP Style mit Delphi 6

  Alt 13. Nov 2003, 19:23
Zitat von Chakotay1308:
Der ThemeManager patcht die Komponenten nicht, sondern subclasst sie. Das ist ein Unterscheid!
Doppelt richtig

@Matthias: Der ListView-Bug wird selbstverständlich durch SubClassing (hui, ich wusste nicht, dass ihr's so genau nehmt...) bei Mikes Lösung behoben:
Delphi-Quellcode:
procedure TThemeManager.ListviewWindowProc(Control: TControl;
  var Message: TMessage);
begin
  if not DoControlMessage(Control, Message) then
  begin
    // In opposition to the other window procedures we should
    // always apply the fix for TListView, regardless of whether
    // themes are enabled or not.
    if (Message.Msg = LVM_SETCOLUMN) or
       (Message.Msg = LVM_INSERTCOLUMN) then
    begin
      with PLVColumn(Message.LParam)^ do
      begin
        // Fix TListView report mode bug.
        if iImage = - 1 then
          Mask := Mask and not LVCF_IMAGE;
      end;
    end;
    FListViewList.DispatchMessage(Control, Message);
  end;
end;
@Bechti: Dank dieser Technik musst Du nicht im Besitzt der VCL-Quellen sein und hast gegenüber der einfachen Variante mit der Manifest-Datei Controls im "hübschen" XP-Look, die sonst immer noch "hässlich" aussehen würden.
gruß, choose
  Mit Zitat antworten Zitat