Mesmo não sendo originalmente orientado a objetos,
O C possui diversas bibliotecas gráficas criadas
por terceiros com a finalidade de proporcionar,
maior facilidade no aprendizado da linguagem.
Todos devem entender que é praticamente impossível
criar programas mais complexos para serem exibidos
na tela do dos.
Se o estudante de linguagem C não procurar meios de
usar estas bibliotecas e ficar sempre preso na telinha
preta, pode ter certeza que seus conhecimentos serão
limitados, por não haver meios de progredir.
Minha indicação é começar usando a conio, para formatações
dos textos na saída do vídeo, e depois de um bom conhecimento,
migrar para uma das várias bibliotecas gráficas disponível.
O programa que apresento aqui, faz uso da biblioteca
graphics.h, para utilização do mouse, cores e posicionamento
na janela, esta biblioteca possui muitas outras funções
mas para a criação do nosso menu não se fez necessário.
O C possui diversas bibliotecas gráficas criadas
por terceiros com a finalidade de proporcionar,
maior facilidade no aprendizado da linguagem.
Todos devem entender que é praticamente impossível
criar programas mais complexos para serem exibidos
na tela do dos.
Se o estudante de linguagem C não procurar meios de
usar estas bibliotecas e ficar sempre preso na telinha
preta, pode ter certeza que seus conhecimentos serão
limitados, por não haver meios de progredir.
Minha indicação é começar usando a conio, para formatações
dos textos na saída do vídeo, e depois de um bom conhecimento,
migrar para uma das várias bibliotecas gráficas disponível.
O programa que apresento aqui, faz uso da biblioteca
graphics.h, para utilização do mouse, cores e posicionamento
na janela, esta biblioteca possui muitas outras funções
mas para a criação do nosso menu não se fez necessário.
Veja abaixo algumas imagens do programa em execução:
Veja abaixo o código programa:
#include <graphics.h>
int menu_um;
void imp_jan ( int x, int y, int lin, int col, int n ) {
for ( int i = 0; i <= n; i++ ) {
line ( x + i, y, x + i, y + lin );
line ( x + col + i, y, x + col + i, y + lin );
line ( x, y + i, x + col, y + i );
line ( x, y + i + lin, x + col + n, y + i + lin );
}
}
int main ( );
void menu_1 ( ) {
clearviewport ( );
setcolor ( LIGHTGREEN );
imp_jan ( 1, 96 * 1 - 97, 383, 583, 20 );
settextstyle ( 0, 0, 13 );
settextstyle ( GOTHIC_FONT, 0, 2 );
setcolor ( 12 );
outtextxy ( 110, 40, "MENU CLICKES DO MOUSE");
settextstyle ( SIMPLEX_FONT, 0, 1 );
setcolor ( LIGHTBLUE );
outtextxy ( 130, 70, "BEM VINDO AO
MENU 1");
getch ( );
closegraph ( );
main ( );
}
void menu_2 ( ) {
clearviewport ( );
setcolor ( LIGHTBLUE );
imp_jan ( 1, 96 * 1 - 97, 383, 583, 20 );
settextstyle ( 0, 0, 13 );
settextstyle ( GOTHIC_FONT, 0, 2 );
setcolor ( 12 );
outtextxy ( 110, 40, "MENU CLICKES DO MOUSE");
settextstyle ( SIMPLEX_FONT, 0, 1 );
setcolor ( LIGHTBLUE );
outtextxy ( 130, 70, "BEM VINDO AO
MENU 2");
getch ( );
closegraph ( );
main ( );
}
void menu_3 ( ) {
clearviewport ( );
setcolor ( LIGHTRED );
imp_jan ( 1, 96 * 1 - 97, 383, 583, 20 );
settextstyle ( 0, 0, 13 );
settextstyle ( GOTHIC_FONT, 0, 2 );
setcolor ( 12 );
outtextxy ( 110, 40, "MENU CLICKES DO MOUSE");
settextstyle ( SIMPLEX_FONT, 0, 1 );
setcolor ( LIGHTBLUE );
outtextxy ( 130, 70, "BEM VINDO AO
MENU 3");
getch ( );
closegraph ( );
main ( );
}
void use_mouse ( ) {
if ( ismouseclick ( WM_LBUTTONDOWN ) ) {
int x_clicked, y_clicked;
getmouseclick ( WM_LBUTTONDOWN, x_clicked, y_clicked );
if ( ( 90 <= x_clicked ) && ( x_clicked <= 120 ) ) {
if ( ( 131 <= y_clicked ) && ( y_clicked <= 141 ) )
menu_um= 1;
else if ( ( 161 <= y_clicked ) && ( y_clicked <= 181 ) )
menu_um = 2;
else if ( ( 191 <= y_clicked ) && ( y_clicked <= 211 ) )
menu_um = 3;
else if ( ( 221 <= y_clicked ) && ( y_clicked <= 241 ) )
menu_um = 4;
} else menu_um = -1;
}
if ( ismouseclick ( WM_LBUTTONDBLCLK ) ) {
clearmouseclick ( WM_LBUTTONDBLCLK );
if ( menu_um == 1 ) {
menu_1 ( );
}
if ( menu_um == 2 ) {
menu_2 ( );
}
if ( menu_um == 3 ) {
menu_3 ( );
}
if ( menu_um == 4 ) {
clearviewport ( );
setcolor ( 0 );
imp_jan ( 1, 96 * 1 - 97, 383, 583, 20 );
settextstyle ( 0, 0, 13 );
settextstyle ( GOTHIC_FONT, 0, 2 );
setcolor ( 12 );
outtextxy ( 110, 40, "MENU CLICKES
DO MOUSE");
settextstyle ( SIMPLEX_FONT, 0, 1 );
setcolor ( BROWN );
outtextxy ( 130, 280, "Por: " );
setcolor ( BLACK );
outtextxy ( 180, 280, "Samuel
Lima" );
setcolor ( BLUE );
outtextxy ( 130, 300, "sa_sp10@hotmail.com" );
setcolor ( LIGHTRED );
outtextxy ( 200, 350, "MUITO
OBRIGADO" );
getch ( );
exit ( 1 );
}
}
}
void menu_principal ( ) {
clearviewport ( );
setcolor ( GREEN );
imp_jan ( 1, 96 * 1 - 97, 383, 583, 20 );
settextstyle ( 0, 0, 13 );
settextstyle ( GOTHIC_FONT, 0, 2 );
setcolor ( 12 );
outtextxy ( 110, 40, "MENU CLICKES
DO MOUSE");
settextstyle ( SIMPLEX_FONT, 0, 2 );
setcolor ( LIGHTBLUE );
outtextxy ( 130, 70, "Escolha uma
opção abaixo");
settextstyle ( 0, 0, 13 );
setcolor ( LIGHTMAGENTA );
outtextxy ( 100, 131, "1 - " );
setcolor ( LIGHTBLUE );
outtextxy ( 150, 131, "Menu 1" );
setcolor ( LIGHTMAGENTA );
outtextxy ( 100, 161, "2 - " );
setcolor ( LIGHTBLUE );
outtextxy ( 150, 161, "Menu 2" );
setcolor ( LIGHTMAGENTA );
outtextxy ( 100, 191, "3 - " );
setcolor ( LIGHTBLUE );
outtextxy ( 150, 191, "Menu 3" );
setcolor ( LIGHTMAGENTA );
outtextxy ( 100, 221, "4 - " );
setcolor ( LIGHTBLUE );
outtextxy ( 150, 221, "Sair" );
while ( 1 ) {
if ( !kbhit ( ) )
use_mouse ( );
}
}
int main ( ) {
initwindow ( 603, 403, "MENU CLICKES DO MOUSE");
setbkcolor ( WHITE );
menu_principal ( );
closegraph ( );
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.