AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Form wird nicht korrekt positioniert

Ein Thema von CocoPops · begonnen am 30. Apr 2014 · letzter Beitrag vom 2. Mai 2014
 
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Form wird nicht korrekt positioniert

  Alt 1. Mai 2014, 12:05
Zitat:
Die Verwendung von der globalen Variablen Form1 ist schon mal ganz übel.
Wieso sollte man denn nicht Form1. , Form2. usw. verwenden?
Weil du dir damit Abhängigkeiten in den Code holst, die dir irgendwann auf die Füße fallen. Benenne deine Form doch mal vernünftig und schon funktioniert nichts mehr.

Ansonsten ist dieses Thema hier schon mehrfach durchgekaut worden und bedarf keiner weiteren Diskussion, da es keine neueren Erkenntnisse geben würde (nur ein schales Echo bereits geführter Diskussionen)
siehe dazu auch http://www.delphipraxis.net/179859-u...ree-tform.html
Zitat:
Wenn es irgendeine Form sein soll, dann übergibt man diese als Parameter.
Wie genau ist das gemeint? Davon habe ich noch nie etwas gelesen und dachte, Form1. , Form2. usw wäre normal.
Hmmm, wie man eine Methode/Prozedur mit Parametern erstellt weißt du aber schon?
Zu der "Normalität" siehe Link oben ...
Zitat:
Instanzen erzeugen ohne Ressource-Schutzblock ist auch sträfliches Unterlassen.
Es war nur ein Test

Ich habe deinen Rat mal umgesetzt und deinen Code zum Testen übernommen.
Selbst damit wird mein erzeugtes Fenster seltsamerweise an Position 0;0 angezeigt.

Dazu sei eventuell noch gesagt, dass das Form, aus dem ich diesen Code aufrufe, Modal ist. Daran könnte es liegen denke ich.
Hat sich erledigt. Selbst, wenn ich den Code aus dem MainForm aufrufe passiet dasselbe.
Mein Code funktioniert einwandfrei in einem VCL-Projekt. Hast du ein FMX-Projekt? (Wäre manchmal hilfreich, dieses gleich im ersten Beitrag zu erwähnen)
Delphi-Quellcode:
unit UI_Form_Main;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TUIMain_Form = class( TForm )
    Button1 : TButton;
    procedure Button1Click( Sender : TObject );
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  UIMain_Form : TUIMain_Form;

implementation

{$R *.dfm}

procedure DarkenForm( AForm : TForm );
var
  LForm : TForm;
begin
  if not Assigned( AForm ) then
    raise EArgumentNilException.Create('AForm darf nicht NIL sein!');
  LForm := TForm.Create(AForm);
  try
    LForm.Position := poOwnerFormCenter;
    LForm.Width := AForm.Width;
    LForm.Height := AForm.Height;
    LForm.Color := clBlack;
    LForm.AlphaBlend := True;
    LForm.AlphaBlendValue := 182;
    LForm.ShowModal;
  finally
    LForm.Free;
  end;
end;

procedure TUIMain_Form.Button1Click( Sender : TObject );
begin
  DarkenForm(Self);
end;

end.
UPDATE
Die Angabe deiner Delphi-Version (auch im Profil) wäre durchaus hilfreich ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 1. Mai 2014 um 12:11 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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