Pour créé facilement des fenêtre en OpenGl et y ajouter des contrôles comme dans Windows.
Cest bien pratique davoir de fenêtre en OpenGL pour la configuration de jeu par exemple.
Avec quelques commande cest simple
Source / Exemple :
Vous créé un objet _HUD et (ex : _HUD HUD ;):
//=========================Création=======================
HUD.Inis(char* BMP,bool font); Pour initialiser le tout
(ex :HUD.Inis("hui.bmp",true);)
HUD::AddWindows(char *Caption,char *Name,_iPoint2D Pos,_iPoint2D Tail,bool CloseB,bool RedB,float Blend);
Pour ajouter une fenêtre
Caption : Titre
Name : Nom (pour ensuite lappeler)
Pos : Position
Tail : Taille
CloseB : Si il y a un le bouton fermée
RedB: Si il y a un le bouton réduire
Blend: Transparence (1 non, 0.5 oui)
Exemple :
HUD.AddWindows("Fenetre1","Win1",Point2D(100,100),Point2D(300,200),false,true,1.0f);
HUD::AddObjetToWindows(char *wName,char *Caption,char *Name,_iPoint2D Pos,_iPoint2D Tail,int type,void(*OnClick)());
Ajouter un objet à une fenêtre
WName : Nom de la fenètre
Caption : Nom de lobjet a ajouter
Pos : Position
Tail : Taille
Type : Type (TYPE_LABEL, TYPE_BUTTON, TYPE_TEXT)
OnClick : Fonction appelée quand on clique dessus ou le modifie (peu être NULL)
Exemple :
HUD.AddObjetToWindows("Win1","Boutton 1","Button1",Point2D(50,50),Point2D(60,20),TYPE_BUTTON,ClickButton);
//=========================Mise en oeuvre=============
HUD.Draw();
A mettre dans la boucle daffichage (Afficher les fenêtre).
HUD.SetHUDSize(width,height);
Pour redimensionner la taille de lécran (a mettre dans le Reshape)
HUD.MouseMove(x,y);
A appeler quand la souris bouge ;
HUD.MouseClick(button,state,x,y);
A appeler quand on clique;
HUD.Key(key);
A appeler quand appuie sur une touche du clavier;
//=========================Modification=============
HUD::SetObjetCaption(char* Win,char* Objet,char* Caption)
Change le titre dun control
Exemple :
HUD.SetObjetCaption("Win1","Label1","Click 1");
HUD::SetWindowsCaption(char* Win,char* Caption);
Change le titre dune fenêtre
Exemple :
HUD. SetWindowsCaption ("Win1,Fenetre 1);
HUD::GetObjetCaption(char* Win,char* Objet,char* Caption)
Regarde le titre dun control et le met dans Caption
Exemple :
char tText[255];
HUD.GetObjetCaption("Win1","Text1",tText);
HUD::KillWindow(char* Win);
Pour fermer une fenêtre
Exemple :
HUD.KillWindow("Win1");
HUD::ReduceWindow(char* Win);
Pour reduire une fenêtre
Exemple :
HUD. ReduceWindow ("Win1");
HUD:: ExpendWindow (char* Win);
Pour agrandire une fenêtre
Exemple :
HUD. ExpendWindow ("Win1");
HUD::SetWindowPos(char* Win,int x, int y);
Pour changer la position dune fenêtre
HUD. SetWindowPos(Win1,10,10);
_HUD::SetWindowBlend(char* Win,float Blend);
Pour modifier la transparente dune fenêtre
HUD. SetWindowBlendWin1,0.5);
//=============================================
Conclusion :
Voila.
Cette librairie débute, jessaierai de la mettre a jour souvent.
Vous avez le Zip pour clarifier le tout
Merci a Senos2013 pour didée.
Si vous avez des commentaire voir des amélioration nhésitez pas.
Un peu de pub :-)
Achoum
www.achoum.fr.st
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.