![]() |
Re: Übersetzung Class MagneticWindow
Also bei mir löst es immer folgendes aus (in den "angedockten" Fenstern):
![]() |
Re: Übersetzung Class MagneticWindow
Zitat:
Man hätte ja auch noch die möglichkeit
anstelle von MoveWindow zu verwenden. Dürfte die performance wieder etwas verbessern. Aber das ist ja allgemein bekannt. gruß |
Re: Übersetzung Class MagneticWindow
Ja, darüber strieten sich die Experten. Wenn ich mein altes Beispiel wie folgt ändere:
Delphi-Quellcode:
... dann verbessert sich die Performance nicht merklich. Und es werden immer noch die selben Nachrichten ausgeführt, nur eben in geringerem zeitlichen Abstand. Vielleicht elimiert der Aufwand für den Aufbau der Liste den dadruch entstehenden Performancegewinn ?
procedure TForm1.OnMove(var Msg: TWMMove);
var i, NumWindows : integer; hWinPosInfo : Cardinal; OldPos : TRect; begin inherited; NumWindows := 0; for i := 0 to Screen.FormCount -1 do begin if Screen.Forms[i] is TForm2 then begin inc(NumWindows); end; end; hWinPosInfo := BeginDeferWindowPos(NumWindows); for i := 0 to Screen.FormCount -1 do begin if Screen.Forms[i] is TForm2 then begin // Differenz zwischen alter und neuer Position ebenfalls // auf die anderen Fenster anwenden GetWindowRect(Screen.Forms[i].handle, OldPos); hWinPosInfo := DeferWindowPos(hWinPosInfo, Screen.Forms[i].Handle, 0, OldPos.Left+Left-FTopLeft.Y, OldPos.Top+Top-FTopLeft.X, OldPos.Right-OldPos.Left, OldPos.Bottom-OldPos.Top, SWP_NOZORDER or SWP_NOACTIVATE); end; end; EndDeferWindowPos(hWinPosInfo); end; |
Re: Übersetzung Class MagneticWindow
Zitat:
Die handles und Recs in einen array einzubinden. Jeder zugriff auf die Form (bei VB zumindest so) setzt eine neue Initialisierung dieser vorraus. das geht auf die performance. Der Vorteil es wird keine Form mehr abgefragt sondern nur noch über die API IsWindow(handle) or IsWindow(hParent) die handles selbst überprüft. Gruß |
Re: Übersetzung Class MagneticWindow
Zitat:
Zitat:
|
Re: Übersetzung Class MagneticWindow
@EWeis: Evtl. solltest du dir doch mal ein gutes Buch über Delphi holen und mal von Null anfangen? :duck:
|
Re: Übersetzung Class MagneticWindow
Zitat:
gruß |
Re: Übersetzung Class MagneticWindow
Zitat:
Denke wenn man zu einer anderen Sprache wechselt kann man nicht vorraussetzen das die gepflogenheiten der neuen Sprache direkt bekannt sind. Delphianer machen das mit ihren Boardmitteln weil bekannt ich über die API was bitte schön ist da verkehrt ? Wie schon gesagt es führt zum gleichen ziel, wenn auch von euch mit unverständnis ausgelegt! Übrigends habe ich festgestellt das einige hier mit API überhaupt nichts anzufangen wissen. Weil sie 'nur' mit Boardmitteln arbeiten. Und fragen zu stellen davor habe ich mich noch nie gefürchtet. Dumme Fragen gibt es nicht ... nur dumme Antworten. In dem Sinne . Gruß |
Re: Übersetzung Class MagneticWindow
Zitat:
Es macht halt nur dann Sinn wenn man es von der VCL nicht vorgesetzt bekommt. Denn redundanter Code ist nicht wirklich das Gelbe vom Ei. Irgendwann in den nächsten 2 Jahren wird die VCL von ANSI auf Unicode umgestellt. Code, der daran vorbeigeht könnte dann schnell Ärger machen. |
Re: Übersetzung Class MagneticWindow
Liste der Anhänge anzeigen (Anzahl: 1)
hi:
i found a better Class for make magnet form, please look at: ![]() ![]() you can download it here: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz