Thread: C++ : WinMain in klasse?
-
20-09-2004, 12:58 #1Member
- Registered
- 22/10/02
- Location
- Brugge & Gent
- Posts
- 657
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/1
C++ : WinMain in klasse?
Mijn vraag, ik zou willen een venster maken binnen een klasse (mijn klasse die de graphics behandeld) zodat je gewoon kan een functie compilen bv
zoiets bevoorbeeld en dan die functie in die klasse maakt je window handle, instance handle, ... zodat deze binnen de klasse kan blijven en makkelijk deze klasse kan gebruiken zonder gebruik te moeten maken van een winMain functie. Ik heb dit geprobeerd maar ik krijg errors en ik zou willen weten als dit wel mogelijk is. Want dit niet mogelijk is was ik al de hele tijd voor niks bezigCode:spelleke() { cGraphs graphs; graphs.Create(1024, 768, 85, 32bit); }
no votes
-
-
20-09-2004, 19:18 #2Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
onlangs voort zelfde probleem gestaan:
-ik heb (in deze toepassing althans
) nog geen enkel prob ivm hinstances gekend, gewoon op NULL zetten dus
.
no votes
-
20-09-2004, 21:02 #3
Winmain kan niet in een klasse zitten (tenzij misschien als je een compiler zou hebben die toelaat static member functions als extern "c" te compileren, maar dat is strikt theoretisch - en bovendien vrij nutteloos).
"If you have a right to respect, that means other people don't have a right to their own opinions."
Thomas Sowellno votes
-
20-09-2004, 22:18 #4Member
- Registered
- 22/10/02
- Location
- Brugge & Gent
- Posts
- 657
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/1
Ik wil niet echt een winMain in een klasse, ik gebruikte dat gewoon om mijn probleem duidelijk te maken, even mijn klasse uploaden.
http://users.pandora.be/daturtle/cGFX.h
zou kunnen zijn dat ik compleet mis ben op deze manier, maar ik weet et niet. Nu wordt teminste mijn probleem duidelijk (hoop ik).
Het probleem is mss ook dat ik het probeer op te roepen binnen een main functie en dat de compiler dit verkeerd interpreteerd.
hetgene niet werkt is het creƫren van het Direct 3D object.Code:main() { cGFX *cGraphs = new cGFX(); cGraphs->initWindow(800, 600, bit32, false, 60); return 0; }
error : "The method call is invalid. For example, a method's parameter may have an invalid value."no votes
-
21-09-2004, 11:36 #5Member
- Registered
- 17/07/02
- Location
- PSPACE
- Posts
- 4,603
- iTrader
- 14 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/18
Kan je niet gewoon doen:
En dan in de constructor van cGFX() ofzo:Code:int WINAPI WinMain(HINSTANCE hinstance,HINSTANCE hprevinstance,LPSTR lpcmdline, int ncmdshow) { cGFX *cGraphs = new cGFX(); cGraphs->initWindow(800,600, bit32, false,60); }
en dan in initWindow:Code:WNDCLASSEX nieuweclass; nieuweclass.lpfnWndProc = WindowProc; nieuweclass.lpszClassName = Mijn_Nieuwe_Win_Class; // vul hier de rest van de struct in // registreren van de class if(!RegisterClassEx(&winclass)) return(0);
Dat zou toch moeten doen wat je wilt denk ik?Code:void initWindow(int width, int height, Class something, BOOL something, int something) { if(!(hwnd=CreateWindowEx(NULL,Mijn_Nieuwe_Win_Class,"titel",WS_OVERLAPPEDWINDOW | WS_VISIBLE,0,0,width,height,NULL,NULL,hinstance,NULL); return(0);Only art and science can and try to change the world, therefore paying millions to useless sportsmen is sheer idiocy.
The man, the legend: Dijkstrano votes
-
22-09-2004, 22:11 #6Member
- Registered
- 22/10/02
- Location
- Brugge & Gent
- Posts
- 657
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/1
*EDIT wie mijn vorige post gelezen had, tis nog niet opgelost, nu heb ik alleen het probleem als er full screen gebruikt wordt.
Last edited by Da Turtle; 22-09-2004 at 22:18.
no votes
-
23-09-2004, 01:27 #7Member
- Registered
- 17/07/02
- Location
- PSPACE
- Posts
- 4,603
- iTrader
- 14 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/18
Welk probleem dus juist?
Only art and science can and try to change the world, therefore paying millions to useless sportsmen is sheer idiocy.
The man, the legend: Dijkstrano votes
-
23-09-2004, 17:54 #8Member
- Registered
- 22/10/02
- Location
- Brugge & Gent
- Posts
- 657
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/1
Mijn D3DPRESENT_PARAMETERS voor full screen waren verkeerd, dit is nu opgelost, dus geen problemen meer, toch thx voor de reply's iederen
.
no votes
