Einzelnen Beitrag anzeigen

Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#10

AW: Positionierung einer Form in Multimonitorumgebung

  Alt 12. Nov 2015, 12:38
Weil es bei mir dasselbe Problem gibt, habe ich das aus dem letzten Beitrag mal ausprobiert, bekomme aber Fehlermeldungen.

procedure CenterOnMonitor(const AMonitor: TMonitor;
Da fehlt die Klammer vor dem Semikolon.
Ja, sorry, das kommt von zuviel Copy'n'Paste meinerseits....

Zitat:
Könntest Du bitte mal einen kompletten Quellcode eines (ansonsten leeren) Basisformulars veröffentlichen, bei dem der TC das Formular wirklich im gerade aktiven Fenster startet ?
Sicher. Gestern habe ich daraus eine Klasse mit erweiterten Methoden gebastelt. Da das etwas mehr als nur ein paar Funktionen sind, hänge ich mal die komplette Unit an. Ich hoffe, da sind nicht allzu grobe Schnitzer drin .

Benutzung der Klasse dann z.B. so:
Delphi-Quellcode:
uses ..., TotalCmdGUI;

type
  TfmSvcProperties = class(TTotalCmdWfxForm)
   //[...]
  end;

implementation

procedure PluginShowForm(const AhParent: HWND);
var fmSvcProperties: TfmSvcProperties;
    Lmon: TFormMonitor;
begin
    fmSvcProperties:= TfmSvcProperties.Create(nil, AhParent);
    try
        case IniFile.Monitor of
          0..4: Lmon:= TFormMonitor(IniFile.Monitor);
          else Lmon:= fmActive;
        end;
        fmSvcProperties.ShowModal(Lmon);
    finally
        FreeAndNil(fmSvcProperties);
    end;
end;
Wenn du die Methode Init nicht brauchst, kannst du auch direkt von TFormEx ableiten (TTotalCmdWfxForm ist eh nur eine leere Hülle).

Zitat:
Wie sehen diese "ganzen Ergänzungen" denn für Delphi 5 aus ?
Hier geht's in erster Linie um Funktionen wie TMonitor.GetWorkareaRect, die nötig ist, um den Arbeitsbereich des jeweiligen Monitors zu ermitteln (statt einfach nur die volle Auflösung).

MfG Dalai
Angehängte Dateien
Dateityp: pas TotalCmdGUI.pas (7,1 KB, 11x aufgerufen)

Geändert von Dalai (12. Nov 2015 um 12:45 Uhr)
  Mit Zitat antworten Zitat