[VC++] Designtime TabControl oid?

Pagina: 1
Acties:

  • Klippy
  • Registratie: Oktober 2000
  • Laatst online: 22:10

Klippy

Still Game

Topicstarter
Dag mensen, wat ik me nu afvraag he, bestaat er geen Tab component voor VC++ dat ik gewoon at designtime kan indelen, buttons erop enzo?

Want dat is me toch 'n werk om dat allemaal in te gaan tikken of niet :?

Of zie ik wat over het hoofd ofzo waardoor dat niet zou kunnen? Kan bij bijv. Delphi toch ook he, lijkt me toch echt 10x zo handig :/

Of is er een andere snelle manier? Bijv alles in 'n groupbox gooien en die op 'n tab zetten?

Heb geen zin zo lang bezig te zijn met 'n paar tabjes eigenlijk :(

Best kut systeem eigenlijk :P

Steam | SXQncyBhbGwgZ29vZCwgbWFuISDwn5iO


  • The End
  • Registratie: Maart 2000
  • Laatst online: 15:07

The End

!Beginning

Wat je kan proberen is een CPropertySheet te maken.
Een CPropertySheet bevat meerdere CPropertyPages (een soort dialoog). Die CPropertyPages kan je gewoon maken d.m.v. de resource editor (Dus gewoon buttons erop slepen e.d.)
Extraatje: Met de CPropertySheet kan je ook wizardstyle dialogs maken.

  • Klippy
  • Registratie: Oktober 2000
  • Laatst online: 22:10

Klippy

Still Game

Topicstarter
The End schreef op 18 september 2002 @ 13:57:
Wat je kan proberen is een CPropertySheet te maken.
Een CPropertySheet bevat meerdere CPropertyPages (een soort dialoog). Die CPropertyPages kan je gewoon maken d.m.v. de resource editor (Dus gewoon buttons erop slepen e.d.)
Extraatje: Met de CPropertySheet kan je ook wizardstyle dialogs maken.
Hmm kan je me ook vertellen hoe ik die erin krijg :?

Is dat een component dat ik moet toevoegen bij resources of moet ik erzelf 1 maken? Heb ook niet al te veel kennis hiervan, was al blij dat ik de standaard controls goed kreeg :P

Steam | SXQncyBhbGwgZ29vZCwgbWFuISDwn5iO


Verwijderd

Visual C is geen rad drag en drop ,pleur hier maar n control neer en de ide regelt de rest omgeving dus je moet 't ook niet zo proberen te gebruiken, als je dat wilt moet je CPP builder,VB of delpih of iets in die richting gaan gebruiken,

  • Pooh
  • Registratie: April 2001
  • Niet online

Pooh

Lees eens een boek

Je dumpt je propertypages gewoon in de resource. (gewoon dialogs) In je PropertySheet kun je dan gewoon een member voor elke page definieren, en dan in je constructor addpage(&memberpage); aanroepen. Zie ook MSDN.

  • Klippy
  • Registratie: Oktober 2000
  • Laatst online: 22:10

Klippy

Still Game

Topicstarter
Verwijderd schreef op 18 september 2002 @ 14:18:
Visual C is geen rad drag en drop ,pleur hier maar n control neer en de ide regelt de rest omgeving dus je moet 't ook niet zo proberen te gebruiken, als je dat wilt moet je CPP builder,VB of delpih of iets in die richting gaan gebruiken,
Jamaar.... dat is toch zo veel werk.... :)

Ik ga wel es ff wat kloten met die propertypages....

thx

Steam | SXQncyBhbGwgZ29vZCwgbWFuISDwn5iO


Verwijderd

Als je niet van veel werk houd moet je geen VC gebruiken ;)

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:33
Verwijderd schreef op 18 September 2002 @ 14:31:
Als je niet van veel werk houd moet je geen VC gebruiken ;)


Er is niemand die van veel werk houd, dus er is niemand die van VC++ houd :+

https://fgheysels.github.io/


  • Pooh
  • Registratie: April 2001
  • Niet online

Pooh

Lees eens een boek

whoami schreef op 18 september 2002 @ 14:33:

[...]


Er is niemand die van veel werk houd, dus er is niemand die van VC++ houd :+
Ach, als je bang bent om ontslagen te worden omdat er geen werk voor je is, is VC++ best een goede keus :+

Verwijderd

En dan zijn er nog mensen die 'n afweging kunnen maken van 't is wel ietsjes meer werk maar daar krijg ik [insert random feature] here] voor terug dus het is het waard.

  • The End
  • Registratie: Maart 2000
  • Laatst online: 15:07

The End

!Beginning

Ok, ff een quickstartje:
-Maak een dialog (met de resource editor).
-Click met de rechtermuis op het dialog.
-Selecteer 'ClassWizard'

Er wordt je nu gevraagd of je een nieuwe classe aan wil maken voor dit dialog.

-Click ja.
-Typ de naam van je classe in en selecteer bij 'base class' CPropertyPage.
-Click op ok.

Nu heb je een CPropertypage dialog waar je controls in kan hangen met de resource editor.

-Maak met de classwizard (menu-->Insert->New class) een afgeleide van CPropertySheet (Selecteer bij 'base class' CPropertySheet en kies een naam voor je class.)
Nu kan je, in de contructor van de afgeleide propertysheet, pages toevoegen met de functie 'AddPage'
b.v.
code:
1
2
cMijnPropertyPage MijnPropertyPage;
AddPage(&MijnPropertyPage);

  • Klippy
  • Registratie: Oktober 2000
  • Laatst online: 22:10

Klippy

Still Game

Topicstarter
The End schreef op 18 september 2002 @ 14:39:
Ok, ff een quickstartje:
-Maak een dialog (met de resource editor).
-Click met de rechtermuis op het dialog.
-Selecteer 'ClassWizard'

Er wordt je nu gevraagd of je een nieuwe classe aan wil maken voor dit dialog.

-Click ja.
-Typ de naam van je classe in en selecteer bij 'base class' CPropertyPage.
-Click op ok.

Nu heb je een CPropertypage dialog waar je controls in kan hangen met de resource editor.

-Maak met de classwizard (menu-->Insert->New class) een afgeleide van CPropertySheet (Selecteer bij 'base class' CPropertySheet en kies een naam voor je class.)
Nu kan je, in de contructor van de afgeleide propertysheet, pages toevoegen met de functie 'AddPage'
b.v.
code:
1
2
cMijnPropertyPage MijnPropertyPage;
AddPage(&MijnPropertyPage);
Wow, +1 Behulpzaam :7

Laatste stap was ik net aan 't opzoeken, pagina toevoegen had ik al gevonden door PoohBear :)

Steam | SXQncyBhbGwgZ29vZCwgbWFuISDwn5iO


  • Klippy
  • Registratie: Oktober 2000
  • Laatst online: 22:10

Klippy

Still Game

Topicstarter
Hmmm nog 1 vraagje he, hoe krijg ik in godsnaam die pagina nou als tabblad in een tabcontrol? :P

Snap niks van die MSDN, zie alleen Insertitem, maar daarmee kan ik weer niet zo'n pagina invoeren.

Maar volgens mij gaat dat niet eens :P

Ik krijg wel PropertyPages op een PropertySheet, krijg ik ook zo'n mooie tabs, maar ik wil dus gewoon niet zo'n Propertysheet.
Gewoon tabs in een bestaande dialog.

Zal wel n00b overkomen, maar ik ben al 3 uur aan 't zoeken 8)7

Steam | SXQncyBhbGwgZ29vZCwgbWFuISDwn5iO


  • The End
  • Registratie: Maart 2000
  • Laatst online: 15:07

The End

!Beginning

code:
1
InsertItem(0,_T("Mijn 2e tab..."));

Zoiets?

Maar waarom wil je die propertysheets niet gebruiken? Ze doen het toch prima.

  • Klippy
  • Registratie: Oktober 2000
  • Laatst online: 22:10

Klippy

Still Game

Topicstarter
The End schreef op 20 september 2002 @ 11:15:
code:
1
InsertItem(0,_T("Mijn 2e tab..."));

Zoiets?

Maar waarom wil je die propertysheets niet gebruiken? Ze doen het toch prima.
Ja wacht ik snap er steeds minder van :P

Wat jij zegt zag ik ook, maar ik wil dus een propertypage als tabblad op een tabcontrol, gaat dat?

Zodat ik dus die pages kan indelen, want zijn vrij grote pagina's.

edit:

Of moet ik dan een Propertysheet op een of andere manier in die bestaande dialog gooien?

Steam | SXQncyBhbGwgZ29vZCwgbWFuISDwn5iO


  • The End
  • Registratie: Maart 2000
  • Laatst online: 15:07

The End

!Beginning

Je moet het een of het ander gebruiken...
Als je de tabcontrol gebruikt heb je niks aan de propertypages en sheets en als je de pages en sheets gebruikt, heb je niks aan de tabcontrol.
Waarom stop je niet gewoon die pages in een propertysheet? Dan ben je meteen klaar...

  • Klippy
  • Registratie: Oktober 2000
  • Laatst online: 22:10

Klippy

Still Game

Topicstarter
The End schreef op 20 september 2002 @ 11:25:
Je moet het een of het ander gebruiken...
Als je de tabcontrol gebruikt heb je niks aan de propertypages en sheets en als je de pages en sheets gebruikt, heb je niks aan de tabcontrol.
Waarom stop je niet gewoon die pages in een propertysheet? Dan ben je meteen klaar...
Hmm oke ik dacht al dat 't niet smane ging maar laat ik 't zo zeggen.

Ik heb dus een applicatie met een dialog. Allen daar moeten dus die tabs op komen. Als ik een propertysheet met propertypages maak, hoe krijg ik die dan op die dialog?
Ik zie overal allen maar DoModal voor zo'n ding en dan krijg ik dus zo'n venster, maar ik wil dus gewoon tabs op een bestaande pagina.

Ik zie 't echt ff niet :) Maar dat zal wel aan mij liggen :P

Steam | SXQncyBhbGwgZ29vZCwgbWFuISDwn5iO


  • The End
  • Registratie: Maart 2000
  • Laatst online: 15:07

The End

!Beginning

LiquidSilver schreef op 20 september 2002 @ 11:30:
[...]


[knip]

Ik zie 't echt ff niet :) Maar dat zal wel aan mij liggen :P
Yep :P

Als je een app met 1 dialoog hebt, dan moet je die vervangen door degene die jezelf hebt gemaakt.
Waarschijnlijk heb je deze files:
mijnapp.h
mijnapp.cpp
mijnappdlg.h
mijnappdlg.cpp
(enz)
in mijnapp.cpp zit een functie 'InitInstance()'
In die functie zit code die hier op lijkt:
code:
1
2
3
4
5
6
7
CmijnappDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
   //blablabla
}

vervang CmijnappDlg door de naam van jouw propertysheet (CMijnPropertySheet b.v.) en runnen.

  • Klippy
  • Registratie: Oktober 2000
  • Laatst online: 22:10

Klippy

Still Game

Topicstarter
Hmm ik maakte eerst op runtime een PropertySheet aan met een paar PropertyPages eraan, ik heb nu een dialog bij de resources gezet en een Class gemaakt met als Base Class CPropertySheet. Goed?

Oke dan heb ik die dus, als ik nou doe wat jij zegt krijg ik erro dat er geen default constructor is, kan dat? Moet ik die zelf maken en daarin pages toevoegen?

Maar wat doe ik nou eigenlijk in die functie wat jij zegt? Vervang ik dan niet gewoon het mainform?

edit:

Hmm misschien kan ik beter gewoon gaan beginnen om een TabCtrl in te delen, want dit schiet ook niet op geloof ik, dit wordt niet wat ik wil denk ik...

Toch bedankt.

Steam | SXQncyBhbGwgZ29vZCwgbWFuISDwn5iO


  • The End
  • Registratie: Maart 2000
  • Laatst online: 15:07

The End

!Beginning

LiquidSilver schreef op 20 september 2002 @ 12:10:
Hmm ik maakte eerst op runtime een PropertySheet aan met een paar PropertyPages eraan, ik heb nu een dialog bij de resources gezet en een Class gemaakt met als Base Class CPropertySheet. Goed?

Oke dan heb ik die dus, als ik nou doe wat jij zegt krijg ik erro dat er geen default constructor is, kan dat? Moet ik die zelf maken en daarin pages toevoegen?

Maar wat doe ik nou eigenlijk in die functie wat jij zegt? Vervang ik dan niet gewoon het mainform?
Je moet een titel voor de propertysheet meegeven aan de constructor:
code:
1
cMijnSheet MijnSheet(_T("Naam voor in de titelbalk"));


Je vervangt hiermee het dialog wat je standaard had.

  • Klippy
  • Registratie: Oktober 2000
  • Laatst online: 22:10

Klippy

Still Game

Topicstarter
The End schreef op 20 september 2002 @ 12:15:
[...]


Je moet een titel voor de propertysheet meegeven aan de constructor:
code:
1
cMijnSheet MijnSheet(_T("Naam voor in de titelbalk"));


Je vervangt hiermee het dialog wat je standaard had.
Ik wil 't standaard dialog helemaal niet weg :P

Uuhm ik ga wel ff een TabCtrl maken, kom hier totaal niet meer uit 8)7

Merci.

Steam | SXQncyBhbGwgZ29vZCwgbWFuISDwn5iO

Pagina: 1