![]() |
Multimonitor Problem / Tabsheets werden "verschoben&quo
Liste der Anhänge anzeigen (Anzahl: 2)
Morgen Zusammen!
Ich entwickle meine Anwendungen im Büro auf einem Laptop mit angeschlossenem externen Monitor. Wobei der Externe, sofern angeschlossen, als primär Monitor läuft. Im Moment arbeite ich an einem etwas größeren Programm, welches verschiedene Forms aus dll´s einbindet und diese als TabSheet auf einer PageControl darstellt. So ne Art Modulsystem. Die Diskussionen über Sinn oder Unsinn dieser Methode sind mir durchaus bekannt. :wink: Starte ich nun meine Anwendungen zuhause, ohne zweiten Monitor, werden die eingebundenen Forms total verschoben dargestellt. Die Zuweisung erfolgt über
Delphi-Quellcode:
Beim ändern der Hauptform bzw. beim anzeigen des jeweiligen Tabs wird eine Methode in der dll aufgerufen welche die Größe und die Position anpassen sollte
function TLoader.ModulToTab(FPageControl: TPageControl; FModul: TModul): integer;
var Tab : TMyTabSheet; WinName: Array [0..255] of char; begin Tab:= TMyTabSheet.Create(FPageControl); Tab.PageControl := FPageControl; Windows.SetParent(FModul._HWND, Tab.handle); GetWindowText(FModul._HWND, WinName,255); Tab.Caption := FModul.Name;// WinName; Tab.Name := FModul.Name; Tab.TabVisible := True; Tab.Modul := FModul; Windows.ShowWindow(FModul._HWND, SW_SHOWMAXIMIZED); FPageControl.ActivePage := Tab; result := FPageControl.TabIndex; end;
Delphi-Quellcode:
Jemand ne Ahnung woran das liegen könnte?
procedure FormRefresh;
begin if Modul.Control.ClassNameIs('TPageControl') then begin DLLForm.Constraints.MaxWidth := TPageControl(Modul.Control).Width-10; DLLForm.Constraints.MaxHeight:= TPageControl(Modul.Control).Height-10; DLLForm.Align := alClient; end; end; Gruß Boppe |
Re: Multimonitor Problem / Tabsheets werden "verschoben
Seltsam, kann mir nicht vorstellen, dass das ein Multi-Monitorproblem ist. Liegt es vielleicht daran, dass die verschiedenen Monitore eine unterschiedliche Pixeldichte haben??
|
Re: Multimonitor Problem / Tabsheets werden "verschoben
Hallo taaktaak
Zitat:
Ich könnte mir höchstens noch vorstellen, dass es vielleicht mit der Reihenfolge zusammenhängt, in der die Forms gezeichnet werden. Allerdings fehlt mir hier komplett ein Ansatz wo denn das Problem liegen könnte....... |
Re: Multimonitor Problem / Tabsheets werden "verschoben
Mal eine Frage, benutzt Du TForm oder TFrame um die Sachen anzuzeigen ? Wenn Du TForm benutzt, versuche es mal mit TFrame, vielleicht funktioniert es ja besser. Ist nur so eine Vermutung.
|
Re: Multimonitor Problem / Tabsheets werden "verschoben
Hallo,
vergleich mal die Werte von
Delphi-Quellcode:
in den beiden Situationen miteinander.
DLLForm.Constraints.MaxWidth := TPageControl(Modul.Control).Width-10;
DLLForm.Constraints.MaxHeight:= TPageControl(Modul.Control).Height-10; Verschoben sieht mir so aus, als wäre der Bildschirm aus Programmsicht größer, als er tatsächlich ist. Sind da eventuell einfach nur Einstellungen am Monitor nicht so ganz in Ordnung? Das Bild dort mal soweit verkleinern, dass rundherum ein Rand übrigbleibt. Sind es TFT-Monitore oder Röhren-Monitore? Eventuell ist die Einstellung eines TFT's so, dass er die vom Rechner geschickte Auflösung interpolieren muss oder nicht mit der optimalen Frequenz angesteuert wird, eventuell kommt da das Problem her. Sind aber alles nur Spekulatius ;) Stephan |
Re: Multimonitor Problem / Tabsheets werden "verschoben
Hallo Stephan
Zitat:
[2008-08-01 11:35:18] TickCount:12178810 Width:966 [2008-08-01 11:35:18] TickCount:12178810 Height:330 [2008-08-01 11:35:18] TickCount:12178826 Width:966 [2008-08-01 11:35:18] TickCount:12178826 Height:214 [2008-08-01 11:35:18] TickCount:12178842 Width:845 [2008-08-01 11:35:18] TickCount:12178842 Height:214 [2008-08-01 11:35:18] TickCount:12178842 Width:990 [2008-08-01 11:35:18] TickCount:12178842 Height:214 [2008-08-01 11:35:18] TickCount:12178842 Width:990 [2008-08-01 11:35:18] TickCount:12178842 Height:354 [2008-08-01 11:35:18] TickCount:12178857 Width:990 [2008-08-01 11:35:18] TickCount:12178857 Height:448 [2008-08-01 11:35:18] TickCount:12178857 Width:990 [2008-08-01 11:35:18] TickCount:12178873 Height:468 [2008-08-01 11:35:18] TickCount:12178873 Width:990 [2008-08-01 11:35:18] TickCount:12178873 Height:468 [2008-08-01 11:35:18] TickCount:12178873 Width:990 [2008-08-01 11:35:18] TickCount:12178873 Height:468 [2008-08-01 11:35:18] TickCount:12178873 Width:990 [2008-08-01 11:35:18] TickCount:12178873 Height:468 [2008-08-01 11:35:18] TickCount:12178873 Width:990 [2008-08-01 11:35:18] TickCount:12178873 Height:468 [2008-08-01 11:35:18] TickCount:12178873 Width:990 [2008-08-01 11:35:18] TickCount:12178873 Height:468 [2008-08-01 11:35:18] TickCount:12178873 Width:990 [2008-08-01 11:35:18] TickCount:12178873 Height:468 ---------------1 Moitor--------------------------- [2008-08-01 11:38:06] TickCount:12346667 Width:966 [2008-08-01 11:38:06] TickCount:12346667 Height:330 [2008-08-01 11:38:06] TickCount:12346683 Width:966 [2008-08-01 11:38:06] TickCount:12346683 Height:214 [2008-08-01 11:38:06] TickCount:12346699 Width:845 [2008-08-01 11:38:06] TickCount:12346699 Height:214 [2008-08-01 11:38:06] TickCount:12346699 Width:990 [2008-08-01 11:38:06] TickCount:12346699 Height:214 [2008-08-01 11:38:06] TickCount:12346699 Width:990 [2008-08-01 11:38:06] TickCount:12346699 Height:354 [2008-08-01 11:38:06] TickCount:12346699 Width:990 [2008-08-01 11:38:06] TickCount:12346699 Height:448 [2008-08-01 11:38:06] TickCount:12346714 Width:990 [2008-08-01 11:38:06] TickCount:12346714 Height:468 [2008-08-01 11:38:06] TickCount:12346714 Width:990 [2008-08-01 11:38:06] TickCount:12346714 Height:468 [2008-08-01 11:38:06] TickCount:12346714 Width:990 [2008-08-01 11:38:06] TickCount:12346714 Height:468 [2008-08-01 11:38:06] TickCount:12346714 Width:990 [2008-08-01 11:38:06] TickCount:12346730 Height:468 [2008-08-01 11:38:06] TickCount:12346730 Width:990 [2008-08-01 11:38:06] TickCount:12346730 Height:468 [2008-08-01 11:38:06] TickCount:12346730 Width:990 [2008-08-01 11:38:06] TickCount:12346730 Height:468 [2008-08-01 11:38:06] TickCount:12346730 Width:990 [2008-08-01 11:38:06] TickCount:12346730 Height:468 Ich seh da keine Unterschiede. Sind beides TFT Monitore. Da die Größe und die Position der Tabs abhängig von meiner Hauptform ist, dürfte die Auflösung doch relativ egal sein oder? Wenn dann müssten beide verzerrt oder verschoben dargestellt werden oder? |
Re: Multimonitor Problem / Tabsheets werden "verschoben
Hallo
Zitat:
|
Re: Multimonitor Problem / Tabsheets werden "verschoben
wenn's der gleiche Hersteller und der gleiche Typ ist ja, sonst nein.
Wir haben in der letzten Zeit die Röhren durch TFT's ausgetauscht. Bei einigen Rechnern taten einige TFT's es erst dann, wenn wir vorher die Auflösung und die Bildwiederholfrequenz auf den für die TFT's optimalen Wert gestellt hatten. Andere TFT's taten es einfach, auch wann die Darstellung nicht berauschend war, da haben wir die Einstellungen dann später geändert. Es kann ein Zusammenhang mit Deinem Problem bestehen, muss aber nicht. Ist halt nur 'ne Vermutung. Stephan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 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-2025 by Thomas Breitkreuz