[delphi] forms/tabsheets: hoe kan het nou?

Pagina: 1
Acties:

  • banaan-X
  • Registratie: Februari 2001
  • Niet online
(Even vooraf: ik ben behoorlijk nieuw in Delphi, ik ken echter wel behoorlijk wat Pascal. Maar die venster is toch ff wennen)

Nu de vraag (over vensters ;) ):

Ik wil een programmaatje maken (een enquete programma) met behoorlijk wat vragen die niet op 1 form passen.

Nu wilde ik onderaan het form knopjes met <vorige> en <volgende> maken. Dus pagina 1 bevat vraag 1 t/m 5, pagina 2 bevat vraag 6 t/m 10, etc. Het is echter niet de bedoeling dat er nieuwe vensters komen, alles moet in 1 venster. De gebruiker klikt op volgende en houdt hetzelfde venster, maar krijg de volgende vragen te zien. Lijkt me wel duidelijk.

Maar hoe kun je dit maken? Ik heb al ff gezocht, en heb al in mijn form1 4 TabSheets gemaakt, maar als ik nu op TabSheet 1 klik, en dan een button erop kwak, dan staat die er nog als ik op TabSheet2 klik, en dat was dus net niet de bedoeling...

Er is vast wel iemand die weet hoe je zoiets wel kan maken. Toch? :)

  • banaan-X
  • Registratie: Februari 2001
  • Niet online
|:(

Je kunt een PageControl dus ook uitrekken... :+

Sorry, ben er dus al uit... (maar ik had een kwartier gezocht, dus nu niet zeggen dat ik niet meteen moet posten...)

  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Jullie kunnen me toch nog ff helpen. :)

Ik heb nu een venster met een pagecontrol met 4 tabsheets. Ik heb de tabsheets unvisible gemaakt, omdat de gebruiker met knopjes "volgende" en "vorige" er door heen moet navigeren.

Het is alleen wel handig als TabSheet1 bij het laden van het programma in beeld komt... Ik heb nu gewoon een leeg scherm bij het starten van het programma (best logisch natuurlijk).

  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Slapen jullie allemaal al? :+

  • Antonius
  • Registratie: Juli 2000
  • Laatst online: 17-09 21:19
Je kunt in plaats van een TPageControl een TNoteBook gebruiken. Die heeft geen tabs, dat ziet er misschien meer uit zoals jij wilt. Eronder twee buttons waarmee je door de pagina's van de TNoteBook kunt bladeren, bijvoorbeeld zo:
code:
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button1Click(Sender: TObject);
begin
  if NoteBook1.PageIndex > 0 then
    Notebook1.PageIndex := Notebook1.PageIndex - 1;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
  if Notebook1.PageIndex < Notebook1.Pages.Count - 1 then
    Notebook1.PageIndex := Notebook1.PageIndex + 1;
end;

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Ik ken dus (nog) geen Delphi, maar ff algemeen
Je kunt van de een of andere container-control een control-array maken. Elke item van die array is dus een container-control met daarin wat vragen (checkboxjes, textboxjes etc.) Je begint met alles onzichtbaar en maakt (m.b.v. volgende, vorige) ze om-de-beurt zichtbaar. Dit had je misschien zelf ook wel bedacht, maar ach, ik moet toch iets zeggen?

|_____vakje______|


  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Op zondag 09 september 2001 01:01 schreef Antonius het volgende:
Je kunt in plaats van een TPageControl een TNoteBook gebruiken. Die heeft geen tabs, dat ziet er misschien meer uit zoals jij wilt. Eronder twee buttons waarmee je door de pagina's van de TNoteBook kunt bladeren, bijvoorbeeld zo:
code:
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button1Click(Sender: TObject);
begin
  if NoteBook1.PageIndex > 0 then
    Notebook1.PageIndex := Notebook1.PageIndex - 1;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
  if Notebook1.PageIndex < Notebook1.Pages.Count - 1 then
    Notebook1.PageIndex := Notebook1.PageIndex + 1;
end;
Welk icoontje heeft die? :+

  • JapJap
  • Registratie: Maart 2001
  • Laatst online: 07-01 11:02
Als je de tabsheets onzichtbaar hebt gemaakt kun je door de tabs bladeren (designtime) door rechts te klikken en next/previous page te kiezen. Op deze manier kun je instellen welke pagina zichtbaar is bij het opstarten.

Dit kun je ook doen door de ActivePageIndex van de pagecontrol in te stellen.
Door dit in de code te doen (bijvoorbeeld bij de OnCreate van de form) hoef je er bij het compileren niet steeds aan te denken om dit handmatig te doen.

  • Delpix
  • Registratie: September 2001
  • Laatst online: 27-11-2021

Delpix

Alanis Fan

Op zondag 09 september 2001 01:12 schreef banaan-X het volgende:

[..]

Welk icoontje heeft die? :+
De TNoteBook vind je op de tabblad WIN311 en het icoontje ziet er uit als 3 pagina's die over mekaar liggen.

...beter bekend als AMFan


  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Op zondag 09 september 2001 13:21 schreef JapJap het volgende:
Als je de tabsheets onzichtbaar hebt gemaakt kun je door de tabs bladeren (designtime) door rechts te klikken en next/previous page te kiezen. Op deze manier kun je instellen welke pagina zichtbaar is bij het opstarten.

Dit kun je ook doen door de ActivePageIndex van de pagecontrol in te stellen.
Door dit in de code te doen (bijvoorbeeld bij de OnCreate van de form) hoef je er bij het compileren niet steeds aan te denken om dit handmatig te doen.
Ik denk dat ik het zo maar eens ga proberen. Ik laat wel weten of het lukt.

[update] Het is gelukt! :) [/update]
Pagina: 1