AGB  ·  Datenschutz  ·  Impressum  







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

Einfluss BorderStyle auf Komponenten

Ein Thema von aschne1 · begonnen am 3. Feb 2005 · letzter Beitrag vom 5. Feb 2005
Antwort Antwort
Seite 1 von 2  1 2      
aschne1

Registriert seit: 18. Jul 2004
Ort: Davos
64 Beiträge
 
Delphi 2005 Professional
 
#1

Einfluss BorderStyle auf Komponenten

  Alt 3. Feb 2005, 15:57
Hallo

Folgendes Problem: Ich erzeuge Unterformulare und platziere diese in einem Panel des Hauptformulars. Solange ich den BorderStyle auf bsNone einstelle funktioniert alles prima. Sobald der Wert nicht mehr bsNone ist, erscheint das Formular deaktiviert. Nur das Schliessen (mit X) ist möglich, eine Eingabe in z.B TEdit ist nicht möglich. Woran liegt das?

Danke für Eure Hilfe

Gruss
Armin
aschne1
  Mit Zitat antworten Zitat
Benutzerbild von Shaman
Shaman

Registriert seit: 2. Nov 2003
Ort: Schweiz
407 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Einfluss BorderStyle auf Komponenten

  Alt 3. Feb 2005, 16:01
Hoi

Das Problem hab ich genau auch einmal gehabt. Ich hab alles mögliche versucht, aber keine Lösung gefunden. Denke mal darüber nach, auf MDI-Childs umzusteigen. Aber die haben halt auch ihre Macken, vorallem lassen sie sich nicht auf Panels setzen

Gruss
Shaman
Daniel Pauli
Looking for answers from the great beyond
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: Einfluss BorderStyle auf Komponenten

  Alt 3. Feb 2005, 16:03
Hallo aschne1,

das Verhalten ist mir unbekannt. Ich werde das mal heute auf der Heimfahrt probieren, bei mir funktioniert es nämlich prächtig...

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: Einfluss BorderStyle auf Komponenten

  Alt 3. Feb 2005, 17:53
So..ich habs jetzt unterwegs probiert, und bei allen BorderStyles dasselbe Ergebnis.
Ich habe ein Panel auf ein Form gesetzt, und ein zweites Form (mit Edit) zur Laufzeit auf das Panel. Wurde ein BorderStyle ungleich bsNone gesetzt, so sieht das Form zwar so aus als ob es inaktiv waere, auf das Edit konnte ich aber normal zugreifen.
Ich verstehe also nicht woher der Bug kommt

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
aschne1

Registriert seit: 18. Jul 2004
Ort: Davos
64 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Einfluss BorderStyle auf Komponenten

  Alt 3. Feb 2005, 22:03
Hallo

Danke für Eure Bemühungen.

@alcaeus
Bei mir kann ich nur über die Tab-Taste die TEdits anspingen, mit der Maus anklicken geht nicht. Ich denke, wenn ich das Formular aktivieren kann (Titelleiste nicht so blass), dann funktioniert auch die Maus wieder?

Eine andere Möglichkeit sehe ich darin dem Panel mit bsNone eine neue Komponente 'Titelbalken' hinzuzufügen. Was hälst Du davon? Gibt es so etwas fertig oder soll ich diese selbst erstellen?

Danke und Gruss
Armin
aschne1
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#6

Re: Einfluss BorderStyle auf Komponenten

  Alt 3. Feb 2005, 22:30
Moin Armin,
Als kleiner Dennkanstoss: Rate mal wofür es Delphi-Referenz durchsuchenTFrame gibt.
Auf die Art kannst du visuell ein ContainerControl mit Untercontrols basteln und wie bei Forms auch -> voneinander ableiten!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

Re: Einfluss BorderStyle auf Komponenten

  Alt 4. Feb 2005, 04:50
Zitat von Robert_G:
Als kleiner Dennkanstoss: Rate mal wofür es Delphi-Referenz durchsuchenTFrame gibt.
Auf die Art kannst du visuell ein ContainerControl mit Untercontrols basteln und wie bei Forms auch -> voneinander ableiten!
Diese Einstellung hatte ich auch bis vor kurzem, aber versuch mal ein Frame mit ActionBand-Controls zu erstellen. In D7 scheiterst du bereits beim ActionManager auf dem Frame

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Einfluss BorderStyle auf Komponenten

  Alt 4. Feb 2005, 07:39
Hallo,
ich habe die Lösung in den tiefen meiner Platte gefunden.
Das Child-Formular hat einen zweiten und erweiterten Constructor bekommen. Damit kann man das Ding wie ein normales Formular aufrufen und man übergibt dem Constructor noch einen Parent. Grundsätzlich habe ich den Code damals bei Hagen abgeschrieben (glaube ich).
Delphi-Quellcode:
unit formchild_frm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls;

type
  TFormChild = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
  private
    { Private-Deklarationen }
    FAsChild: Boolean;
    FTempParent: TWinControl;
  protected
    procedure CreateParams(var Params: TCreateParams); override;
    procedure Loaded; override;
  public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); overload; override; // als Formular aufrufen
    constructor Create(AOwner: TComponent;AParent: TWinControl); reintroduce; overload; // als Child aufrufen
    end;

var
  FormChild: TFormChild;

implementation

uses Utils1;

{$R *.DFM}

constructor TFormChild.Create(AOwner: TComponent);
begin
  FAsChild := False;
  inherited Create(AOwner);
end;

constructor TFormChild.Create(AOwner: TComponent; AParent: TWinControl);
begin
  FAsChild := True;
  FTempParent := aParent;
  IsControl:=True;
  inherited Create(AOwner);
end;

procedure TFormChild.CreateParams(var Params: TCreateParams);
begin
  Inherited CreateParams(Params);
  if FAsChild then
    Params.Style := Params.Style or WS_CHILD;
end;

procedure TFormChild.Loaded;
begin
  inherited;
  if FAsChild then
  begin
    Align := alNone;
   // BorderStyle := bsNone;
   // BorderIcons := [];
    Parent := FTempParent;
    Position := poDefault;
  end;
end;

end.
Hier kommt der das Aufruf des Formulars als Child
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  If Not Assigned(aChildForm) then
    aChildForm:=TFormChild.Create(Application, Panel2);
  With aChildForm do
    begin
    Edit1.text:='Delphi';
    Edit2.Text:='Praxis';
    Show;
    end;
  // Die Message sorgt dafür, dass man die Controls auf dem Form verwenden
  // kann
  SendMessage(aChildForm.Handle, WM_NCACTIVATE, Ord(True), 0);
  aChildForm.SetBounds(0,0,200,200);
end;
Angehängte Dateien
Dateityp: zip zip_920.zip (218,5 KB, 6x aufgerufen)
I come from outer space to save the human race
  Mit Zitat antworten Zitat
aschne1

Registriert seit: 18. Jul 2004
Ort: Davos
64 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Einfluss BorderStyle auf Komponenten

  Alt 4. Feb 2005, 19:45
Hallo

@Robert_G: Eigentlich benutze ich TFrame nicht gerne, da ich schlechte Erfahrungen damit gemacht habe. Ich denke ich bin mit meiner Meinung nicht allein? Wenn mich die Lösung von Jens nicht zufriedenstellt, dann werde ich noch einmal einen Versuch machen. Trotzdem Danke.

@Jens: Danke für Deine Hilfe. Ich werd es einmal testen!

@Alcaeus: Schläfst Du nie oder habt Ihr im Südtirol einige Stunden Zeitverschiebung (5:50 Uhr)?

Ihr hört wieder von mir.

Danke + Gruss
Armin
aschne1
  Mit Zitat antworten Zitat
aschne1

Registriert seit: 18. Jul 2004
Ort: Davos
64 Beiträge
 
Delphi 2005 Professional
 
#10

Re: Einfluss BorderStyle auf Komponenten

  Alt 4. Feb 2005, 20:42
Da bin ich wieder...

   SendMessage(ChildForm.Handle, WM_NCACTIVATE, Ord(True), 0); Diese Zeile zu meinem bestehenden Code und das Ding läuft!

Danke
Armin
aschne1
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz