Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi MDI (https://www.delphipraxis.net/21503-mdi.html)

Andy3K 3. Mai 2004 22:25


MDI
 
Hi,

ich habe eine MDI Anwendung in meinem miniBrowser.
In meiner MainForm existiert die ComboBox für meine URL's.
Und per Datei->Neu kann ich ein Childfenster öffnen.
Nun möchte ich aber, wenn ich im MainForm die URL eintippe das die Seite im aktuellen CHILD Fenster ausgegeben wird.

Könnt ihr mir helfen ?


Delphi-Quellcode:
procedure TMainForm.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_RETURN then
  begin
    WebBrowser1.Navigate(combobox1.text);
    WebBrowser1.SetFocus;
  end;
end;
-> Soviel weis ich :mrgreen:

[edit=Luckie]Delphi-tags gesetzt. Beim nächsten Mal bitte selber machen. Mfg, Luckie[/edit]

S2B 3. Mai 2004 22:36

Re: MDI
 
Wenn auch OT (wie heute schon so oft! :oops:):
Ein kleiner Tip zum SetFocus: Klick.

alcaeus 4. Mai 2004 04:26

Re: MDI
 
Delphi-Quellcode:
procedure TMainForm.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_RETURN then
  begin
    with ActiveMDIChild.WebBrowser1 do
    begin
      Navigate(combobox1.text);
      SetFocus;
    end;
  end;
end;
Damit müsste es funktionieren

alcaeus 4. Mai 2004 14:28

Re: MDI
 
Also, der Code von oben funzt nicht ganz, deshalb gibts das hier:
Delphi-Quellcode:
procedure TMainForm.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  BrowserForm: TBrowser; //Erklärung 1
begin
  if key = VK_RETURN then
  begin
    BrowserForm := TBrowser(ActiveMDIChild); //Erklärung 2
    if BrowserForm <> nil then //Erklärung 3
    begin
      with BrowserForm.WebBrowser1 do
      begin
        Navigate(combobox1.text);
        SetFocus;
      end;
    end
    else
      MessageDlg('Kein Fenster geöffnet!',mtError,[mbOk],0);
  end;
end;
Erklärungen:
1. Du musst eine temporäre Variable vom Typ TBrowser erstellen, diese wird benötigt...
2. ActiveMDIChild gibt dir ein TForm-Objekt, zurück, wir brauchen aber eins vom Typ TBrowser, dieses speichern wir in unserer temporären Variable
3. Ist ein Child ausgewählt, so navigieren wir in dessen WebBrowser, andernfalls geben wir eine Fehlermeldung aus.

Ich hoffe der Code ist einigermaßen verständlich...


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:51 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