mi pregunta es como puedo hacer una ventana en algun lenguaje de programación sin tener que usasr esos programas???
APIS, hay muchas por ejemplo una multi-plataforma que ando yo ocupando es Glut + Glui (Opengl), aun que cada sistema operativo tiene sus propias APIS para crear ventanas y cosas similares, aun que hay alternativas lo mejor es usar las apis de los sistemas operativos.
Por ejemplo: en Glut (OpenGL)
int iWin;
const char szTitle = "BlackZeroX";
iWin = ::glutCreateWindow( szTitle ); // Creamos la ventana y se asignamos un titulo.
::glutSetWindow( iWin ); // Usamos la ventana.
::glutInitWindowSize ( ancho , alto ); // seteamos sus dimensiones.
::glutInitWindowPosition ( x , y ); // Seteamos su posicion.
::glutDestroyWindow ( iWin ); // Destruimos la ventana
en Glui + Glut... esta mas completo... pero incompleto... xP
#include <GL/glut.h>
#include "glui.h"
void myGlutInit();
void myGlutKeyboard(unsigned char Key, int x, int y)
void myGlutMenu( int value )
void myGlutIdle( void )
void myGlutMouse(int button, int button_state, int x, int y )
void myGlutMotion(int x, int y )
void myGlutReshape( int x, int y )
void myGlutDisplay( void );
void control_cb( int ID );
. . .
void main(int argc, char* argv[])
{
int main_window;
/** Initialize GLUT and create window - This **/
/** is all regular GLUT code so far **/
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
glutInitWindowPosition( 50, 50 );
glutInitWindowSize( 300, 300 );
main_window = glutCreateWindow( "GLUI test app" );
glutKeyboardFunc( myGlutKeyboard );
glutDisplayFunc( myGlutDisplay );
glutReshapeFunc( myGlutReshape );
glutMotionFunc( myGlutMotion );
glutMouseFunc( myGlutMouse );
myGlutInit();
/** Now create a GLUI user interface window and add controls **/
GLUI *glui = GLUI_Master.create_glui( "GLUI", 0 );
glui->add_statictext( "Simple GLUI Example" );
glui->add_separator();
glui->add_checkbox( "Wireframe", &wireframe, 1, control_cb );
GLUI_Spinner *segment_spinner =
glui->add_spinner( "Segments:",GLUI_SPINNER_INT, &segments );
segment_spinner->set_int_limits( 3, 60, GLUI_LIMIT_WRAP );
GLUI_EditText *edittext =
glui->add_edittext( "Text:", GLUI_EDITTEXT_TEXT, text );
glui->add_column(true); /** Begin new column - 'true' indicates **/
/* * a vertical bar should be drawn **/
GLUI_Panel *obj_panel = glui->add_panel ( "Object Type" );
GLUI_RadioGroup *group1 =
glui->add_radiogroup_to_panel(obj_panel,&obj,3,control_cb);
glui->add_radiobutton_to_group( group1, "Sphere" );
glui->add_radiobutton_to_group( group1, "Torus" );
glui->add_button( "Quit", 0,(GLUI_Update_CB)exit );
/** Tell GLUI window which other window to recognize as the main gfx window **/
glui->set_main_gfx_window( main_window );
/** Register the Idle callback with GLUI (instead of with GLUT) **/
GLUI_Master.set_glutIdleFunc( myGlutIdle );
/** Now call the regular GLUT main loop **/
glutMainLoop();
}
hpara crear botones paneles y demas esta la libreria Glui que es compatible con la libreria Glut.
Dulces Lunas!¡.