Einzelnen Beitrag anzeigen

Benutzerbild von ralfschwalbe
ralfschwalbe

Registriert seit: 19. Jul 2007
Ort: Lichtenstein/Sachsen
133 Beiträge
 
Delphi XE3 Professional
 
#63

AW: Windows 7 Support für Delphi [ALPHA 1]

  Alt 9. Dez 2010, 08:18
Guten Morgen,

ich erstelle ein MDI Child und verwende dann folgenden Code:

Delphi-Quellcode:
  Win7TaskBarWindow.DeactivateTaskWindows;
  Win7TaskBarWindow.TaskbarWindows.Clear;

  with Win7TaskBarWindow.TaskbarWindows.Add do
  begin
    Caption := Self.MDIChildren[i].Caption;
    WinControl := Self.MDIChildren[i];
  end;

  Win7TaskBarWindow.UpdateAllTaskbarWindows;
  if Win7TaskBarWindow.TaskbarWindows.Count > 0 then Win7TaskBarWindow.ActivateTaskWindows;
Die Taskbarwindows werden erzeugt, aber...

1. Die MDI Childs enthalten ein TPageControl. Alle Controls die dort drauf sind werden nicht mit gezeichnet.
2. Das OnActivateTab funktioniert mit MDI Child Fenstern nicht. Das Event wird gar nicht ausgelöst.

Außerdem habe ich schon in TdwTaskbarWindowsEntry.DoCreatePreview(Message: TMessage) folgende Zeilen geändert:

Delphi-Quellcode:
Parent := WinControl.Parent;
while (Parent <> nil) and (Parent.Parent <> nil) do
begin
  Pt := Parent.ClientToParent(Pt, Parent.Parent);
  Parent := Parent.Parent;
end;
DwmSetIconicLivePreviewBitmap(ProxyHandle, PreviewArea.Handle, @Pt, 0);
Das while war erst: while (Parent.Parent <> nil) do Da aber ein MDI Child keinen Parent hat... Bummm!

Hat jemand diese Compos schon mal mit MDI Child Fenstern eingesetzt? Gibt es sonstige Hinweise?

Danke im Voraus.
Ralf Schwalbe
viele Grüße...
  Mit Zitat antworten Zitat