Zitat von
oki:
@ Gruber_Hans_12345:
Leider nicht. der Codevorschlag liefert eher "komische" Ergebnisse. Siehe Anhang.
Ich habe hier einmal meinen Mozilla in den Vordergrund und wieder zurück gebracht. Der Rand mit den Resten meines Browsers ist genau der eingekrenzte Rect aus deinem code. Ein Wechsel für Inc;
Dec liefert das Ergebnis, dass von meinem Panel beim Verschieben etwas übrig bleibt (auf dem Parent). der gewünschte effekt für die enthaltenen Controls tritt aber nicht ein.
Also, das sieht ja schon gnaz gut aus!
dein problem ist jetzt nur mehr, das du deine zeichenoperation auch in den NC Bereich verlegen mußt
Delphi-Quellcode:
procedure WMNCPaint(
var Msg: TWMNCPaint);
message WM_NCPAINT;
procedure TfrMDIChild.WMNCPaint(
var Msg: TWMNCPaint);
var
DC : HDC;
iCanvas : TCanvas;
begin
iCanvas := TCanvas.Create;
DC := GetWindowDC(
Handle)
iCanvas.Handle :=
DC;
FormNCPaint(iCanvas); <<< hier dann die zeichenroutine auf den Canvas
ReleaseDC(
Handle,
DC);
iCanvas.free;
Msg.Result := 0;
end;
Da du ja den ClientBeriech verkleinert hast, mußt du nun deine sachen (den Header und rahmen) in den NC Bereich verlegen