[Delphi] TFrame2 met meerdere TFrames

Pagina: 1
Acties:

  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 17:27

Hu9o

Schokkend

Topicstarter
Is het mogelijk om op het hoofd formulier 1 Tframe2 component te zetten (Deze laat een ander frame zien) en dan de 'source' van dat TFrame2 te veranderen naar een ander frame?


Dus:
TFrame21 moet switchen tussen
TFrame1
TFrame2


Ik heb al gezocht in de search maar niks gevonden.

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Lees even
Welkom in P&W (FAQ-13/7/2002)
en
Welkom in P&W -> Quickstart om snel aan de slag te kunnen

En dan vooral de Quickstart ivm duidelijke vragen enzo. Ik snap totaal niet wat je bedoeld.

https://fgheysels.github.io/


  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 17:27

Hu9o

Schokkend

Topicstarter
Bedankt voor je snelle reply, helaas niet echt hulpzaam. Want ik heb dat al gelezen.

Maar ik zal het nog een keer voor je uitleggen. (Dit is Delphi)

Ik heb een formulier en 2 frames(frame5 en frame6.
Op het formulier heb ik 1 component dat frames op een formulier laat zien (TFrame2 heet zo'n ding)

Nu de vraag:

Hoe zorg ik ervoor dat frame5 zichtbaar wordt in TFrame2 in runtime?


Duidelijker kan ik het niet omschrijven.

Lijkt me dat het met assign moet, maar
code:
1
2
var
    Frame21.Assign(Frame5);

Maar dit geeft een compiler fout:
Undeclared identifier Frame5.
Terwijl Frame3 WEL in het project zit.

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Hu9o schreef op 18 september 2002 @ 14:54:
Bedankt voor je snelle reply, helaas niet echt hulpzaam. Want ik heb dat al gelezen.
Blijkbaar niet goed genoeg want je topic is gewoon onduidelijk.
Maar ik zal het nog een keer voor je uitleggen. (Dit is Delphi)
Niet alleen voor mij denk ik.
Ik heb een formulier en 2 frames(frame5 en frame6.
Op het formulier heb ik 1 component dat frames op een formulier laat zien (TFrame2 heet zo'n ding)

Nu de vraag:

Hoe zorg ik ervoor dat frame5 zichtbaar wordt in TFrame2 in runtime?
Lijkt me dat het met assign moet, maar
code:
1
2
var
    Frame21.Assign(Frame5);

Maar dit geeft een compiler fout:
Undeclared identifier Frame5.
Terwijl Frame3 WEL in het project zit.[/quote]
Wat is het nu? Frame5? of Frame3?

Je kunt toch gewoon at design time die frames op dat andere frame zetten en afhankelijk van welkeen je wilt tonen de passende show en hide methods oproepen?

https://fgheysels.github.io/


  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 17:27

Hu9o

Schokkend

Topicstarter
In m'n applicatie heb ik een stuk of 10 verschillende frames.
Dit is alleen op te lossing door ook 10 Tframe2 componenten te plaatsen?

Lijkt me een mooiere oplossing om dus 1 TFrame2 te hebben en die verschillende frames te laten projecteren.

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Hu9o schreef op 18 september 2002 @ 15:02:
In m'n applicatie heb ik een stuk of 10 verschillende frames.
Dit is alleen op te lossing door ook 10 Tframe2 componenten te plaatsen?

Lijkt me een mooiere oplossing om dus 1 TFrame2 te hebben en die verschillende frames te laten projecteren.

Kun je het niet als volgt doen:

Stel dat je 10 knopppen hebt en afhankelijk van welke knop je ingedrukt hebt, komt er een ander frame tevoorschijn. Frame2 is het frame waar je die andere frame's wilt op projecteren:

code:
1
2
3
4
5
6
7
procedure OnButton1Click (Sender : TObject)
var
  frameKlant : TFrameKlant;
begin
  frameKlant := TFrameKlant.Create (Frame2);
  frameKlant.Visible := True;
end;


Zoiets dus... Je maakt at runtime een instance van het juiste frame en je heeft in de constructor de owner mee van dat frame.

https://fgheysels.github.io/


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Ik laadt al mijn frames in een Panel:
code:
1
2
3
4
5
6
7
8
9
10
11
  Frame.Create(PanelFrame);
  Frame.DisableAlign;
  LockWindowUpdate(Handle);
  try
    Frame.Parent := PanelFrame;
    Frame.Align := alClient;
  finally
    Frame.EnableAlign;
    LockWindowUpdate(0);
  end;
end;

Gebruik dit als een voorbeeld, het is geript uit een grotere procedure.
Oja, check eerst of een al een frame aanwezig is in het Panel (en eventueel of het dezelfde is), is dit zo destroy deze dan wel even.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 17:27

Hu9o

Schokkend

Topicstarter
Bedankt voor jullie bijdrage. HEt is gelukt.

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<


  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 31-08 21:58

Delphi32

Heading for the gates of Eden

Ik doe het net zo als Delphi (de poster hierboven dus, niet de IDE).
Het eerste wat je dan gaat denken: he, wordt het niet eens tijd voor een TPanel-descendant met ingebouwde frame management capabilities :)

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Delphi32 schreef op 18 september 2002 @ 15:53:
Ik doe het net zo als Delphi (de poster hierboven dus, niet de IDE).
Het eerste wat je dan gaat denken: he, wordt het niet eens tijd voor een TPanel-descendant met ingebouwde frame management capabilities :)
Wat let je! :P

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:12

Creepy

Tactical Espionage Splatterer

Haal ik hier uit dat een TPagecontrol met tabs uitgeschakeld hiervoor ook gebruikt zou kunnen worden???
En dan wisselen m.b.v. TPageControl.Activepage of TPageCOntrol.TabIndex.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Creepy schreef op 18 september 2002 @ 16:01:
Haal ik hier uit dat een TPagecontrol met tabs uitgeschakeld hiervoor ook gebruikt zou kunnen worden???
En dan wisselen m.b.v. TPageControl.Activepage of TPageCOntrol.TabIndex.


Dat zou ook kunnen.

https://fgheysels.github.io/

Pagina: 1