Ir ao conteúdo
  • Cadastre-se

s4lezardv1A

Membro Pleno
  • Posts

    75
  • Cadastrado em

  • Última visita

Tudo que s4lezardv1A postou

  1. http://www.cplusplus.com/forum/windows/65182/ tem uma explicação aqui em C++ mas não sei passar para C.
  2. Quando eu escolho uma das opções da caixa de mensagens ela executa o que foi pedido e aparece novamente ,só depois que eu escolho essa segunda vez que ela não aparece mais... resultado=MessageBox(NULL," \n\n teste texto texto texto","teste titulo",MB_ICONINFORMATION | MB_YESNO); if(resultado==IDYES){ printf("teste SIM"); }else if(resultado==IDNO){ printf("teste NAO"); }
  3. Bom dia, estou tentando criar uma condição para que uma caixa de opções apareça e para que ela desapareça. Caso eu passe o mouse em cima só, a opção principal muda de cor, se eu tiro o mouse ela volta para a cor normal, isso eu fiz. Agora se o mouse passar em cima e clicar, aparecera um submenu , isso eu fiz, mas só que a opção principal tem que mudar de cor e ficar com essa cor fixa. E caso se eu clicar novamente com o mouse em cima o menu desaparece, isso ja sei como fazer, e a cor da opção principal volta ao normal. Ou ainda, ela so vai mudar para a cor normal caso eu clicar de novo na opção principal ou escolher uma das opções do submenu. Gostaria de saber como permanecer com a cor alterada ate que eu clicasse de novo ou ate que eu escolhesse uma das opções do submenu. if ( (ir_Evento->Event.MouseEvent.dwMousePosition.X >=66 ) && (ir_Evento->Event.MouseEvent.dwMousePosition.X <=68 ) && ( ir_Evento->Event.MouseEvent.dwMousePosition.Y == 23 ) ) { gotoxy(66,23); SetConsoleTextAttribute(hConsole, BACKGROUND_INTENSE_BLUE); printf(" %c ",16); SetConsoleTextAttribute(hConsole, saved_attributes); if ( (ir_Evento->Event.MouseEvent.dwMousePosition.X >=66 ) && (ir_Evento->Event.MouseEvent.dwMousePosition.X <=68 ) && ( ir_Evento->Event.MouseEvent.dwMousePosition.Y == 23 ) ) { if (MOUSE_EVENT == ir_func.EventType && ir_func.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED) { gotoxy(66,23); SetConsoleTextAttribute(hConsole, BACKGROUND_INTENSE_BLUE); printf(" %c ",16); SetConsoleTextAttribute(hConsole, saved_attributes); SetConsoleTextAttribute(hConsole, BACKGROUND_WHITE); gotoxy(77,22); printf(" ALUNO "); gotoxy(77,24); printf(" COLABORADOR "); SetConsoleTextAttribute(hConsole, saved_attributes); cont = 2; } } else if ( cont == 1) { gotoxy(66,23); SetConsoleTextAttribute(hConsole, BACKGROUND_BLUE); printf(" %c ",16); SetConsoleTextAttribute(hConsole, saved_attributes); } } ATUALIZADO Acredito que o que acontece é que quando posiciono o mouse e clico para fazer uma coisa, entra em conflito quando eu só posiciono e tiro da posição. Não consigo resolver isso.
  4. nossa, muito bonito esse codigo. Tipo isso que eu queria, so que ao invés de poder digitar eu quero poder selecionar uma posição e poder clicar. Vou pesquisar a função peekconsoleinput e readconsoleinput final de semana. Eu to bem no começo na parte de programação então não sei nada de nada. Mergulhei sem saber na parte de api do windows. Mas imagino que eu tenha que ao invés de usar o kbhit seria talvez. while(readinput != mouse event) algo assim talvez... n sei ...
  5. Aqui tem um prototipo de uma parte do programa: #include <windows.h> int main{ if ( ( ir_Evento->Event.MouseEvent.dwMousePosition.X == 40) && ( ir_Evento->Event.MouseEvent.dwMousePosition.Y == 50){ //here if the mouse is on position, the text change color. SetConsoleTextAttribute(hConsole, BACKGROUND_RED); if (MOUSE_EVENT == ir_func.EventType && ir_func.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED){ //here if the mouse is on position and after press the left button on mouse,it starts the MENU function. menu(); }} while(1){ gotoxy(10,20); printf("testing animation"); gotoxy(10,20); printf("animation testing"); } return 0; } É uma animação de texto, ainda estou pensando no que vou fazer, mas ela vai ficar em um loop infinito la embaixo da tela. Com isso, todas as outras funções do mouse não recebem comandos infelizmente. Estou usando o header windows.h e para controlar o mouse uso a Winapi. É novo pra mim tambem. O kbhit espera um comando no teclado, para o mouse não da certo, então to buscando formas de funcionar. adicionado 0 minutos depois Entaõ, não queria ir por esse caminho, acredito que tenha alguma forma assim como existe o KBHIT para o teclado, deve existir algo para o movimento do mouse.
  6. Não da. O que acontece é o seguinte: no meu programa , quando posiciono o mouse em cima de um ponto(40,50) a letra que está lá muda de cor, e quando clico nesse mesmo ponto, o programa inicia um evento que eu determinei. Mas...... quando eu coloco essa animação em um loop, não acontece mais isso... se eu for por exemplo no ponto(40,50) a letra nem muda de cor nem quando eu clico inicia o evento, eu tenho que obrigatoriamente esperar o loop da animação acabar para poder usar essas outras funcoes. Li sobre uma função chamada ReadConsoleNput e outra chamada peekconsoleinput, eu não poderia usar alguma dessas para caso a animação estiver rodando , o programa ler que eu posicionei o console em cima da letra, ela ainda vai mudar de cor enquanto a animação roda e quando eu clicar também, tanto a função de clicar quanto a animação continuem funcionando ?
  7. por enquanto estou só no prototipo da animação. Mas é bem simples, só para aparecer rodando um texto. E caso eu queria que a animação rodando junto com funçoes do mouse? Por exemplo , se posiciono em uma posição da tela, o texto daquela posição fica de outra cor, e se eu clicar ele vai para um evento. Como posso utilizar a função kbhit para ficar rodando enquanto eu vou posicionando o mouse em varias posições,etc?
  8. Gostaria de encontrar um jeito para deixar 2 eventos acontecerem ao mesmo tempo na tela. Quero fazer uma animação em loop e abaixo dela quero deixar algumas informações para receber valores: while(x<10){ Animação x++; } printf("Digite o nome: "); gets(nome); mas só consigo digitar alguma coisa quando a animação acabar. Tem algum jeito de deixar rodar a animação indefinidamente e enquanto isso eu possa digitar embaixo sem ter que esperar a animação acabar?
  9. Poste o codigo para podermos ajudar. Você poderia seguir a logica para a diagonal principal (você não especificou qual diagonal que é), que se a linha for igual a coluna, imprima o * nessa posição da matriz.
  10. Eu estou na função MENU, e na posição 50x40 tem um evento que vou pra função COMPRA. Na função CONTATO na mesma posição 50x40 tem um outro tipo de evento que vai para função INICIAL. Para não ocorrer conflito quando eu clicar no mesmo ponto , eu usei uma variavel que recebe 1,2,3,etc.. e dependendo da tela que eu estou a variavel muda, entao na função MENU fica por exemplo : if( aux==1 && pos(x,y)==50,40) {evento COMPRA}, e na função CONTATO fica: if( aux==2 && pos(x,y)==50,40)(evento INICIAL). Para as outras funções esta dando certo, só para essas duas funções que ta dando conflito. Por enquanto eu mudei a posição do botão de uma das funções para contornar esse problema.
  11. Consegui usando seu codigo,mudei conforme o que estava no meu: if (MOUSE_EVENT == ir_func.EventType && ir_func.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED) ele estava assim antes: if ( ir_Evento->Event.MouseEvent.dwEventFlags == SINGLE_CLICK ) ATUALIZADO: adicionado 33 minutos depois Ansic, estou tendo um outro conflito, por exemplo , em uma tela menu eu coloco uma condição que se eu clicar na posição = 48,50, eu vou pra função compra();, em outra tela, por exemplo venda, se eu clicar na posição = 48,50, ou eu vou para a função ainda da compra, ou entao fica bugado o cursor. Eu coloquei uma variavel pra contar em que tela estou pra nao dar esse conflito, mas parece q ta dando ainda assim, mas a variavel confere q estou na tela certa.
  12. Ansic, desculpe a ignorância mesmo, é uma area nova pra mim, estou perdido. No corpo do meu programa esta: DWORD dw_func; BOOL bl_func; INPUT_RECORD ir_func; e na blblioteca wincon.h so achei esse dwbuttonstate que te mostrei anteriormente, alem disso achei uma constante chamada FROM_LEFT_1ST_BUTTON_PRESSED , mas ela nao funciona, quando uso ela assim que passo com o mouse, ja é iniciado a condição.
  13. sim, isso que eu ia te perguntar. Sou bem iniciante em linguagem de programação, comecei com visualg semestre passado e agora estou em c, entao ainda estou perdido. Esse status em dwbuttonstate você encontra onde? aqui nao achei, o q achei foi: typedef struct _MOUSE_EVENT_RECORD { COORD dwMousePosition; DWORD dwButtonState; DWORD dwControlKeyState; DWORD dwEventFlags; onde acho ele e o que devo colocar la?
  14. Obrigado Ansic: Tinha achado essa daqui e resolvi testar: void SetWindow(int Width, int Height) { _COORD coord; coord.X = Width; coord.Y = Height; _SMALL_RECT Rect; Rect.Top = 0; Rect.Left = 0; Rect.Bottom = Height - 1; Rect.Right = Width - 1; HANDLE Handle = GetStdHandle(STD_OUTPUT_HANDLE); // Get Handle SetConsoleScreenBufferSize(Handle, coord); // Set Buffer Size SetConsoleWindowInfo(Handle, TRUE, &Rect); // Set Window Size } Deu certinho. Estava batendo a cabeça. Agora estou com outra duvida. Estou usando uma api que tem uma função desse tipo: ( ir_Evento->Event.MouseEvent.dwEventFlags == DOUBLE_CLICK ) Com ela eu faço uma condição casso eu pressiono duas vezes qualquer um dos dois botões do mouse. Sabe dizer como posso que ele prossiga somente caso eu apertar um botão do mouse, ou mais alem, se caso eu apertar somente um botão do lado esquerdo do mouse? ATUALIZADO: Consegui resolver Ansic, veja se o que eu fiz foi o certo. Li que quando o valor para uma variavel sobre o estado do mouse, é 0 significa que ela esta pressionada. Na definição de double click estava 2, criei #define SINGLE_CLICK 0 ,troquei a variavel de lugar e deu certo. Foi o mais correto ou ja tinha algum modo para fazer isso?
  15. Boa noite pessoal. Estou com um problema de conflito. Estou usando uma função para pegar o estado do mouse, e junto com ela estou usando uma função system para mudar o tamanho da janela do prompt . Não quero maximizar quero colocar 120x40, entao uso a função: system("MODE con cols=119 lines=40 "); Mas reparei que quando uso ela, o codigo para pegar o estado do mouse nao funciona. So funciona sem, Tem alguma outra função para mudar o tamanho da tela do prompt sem essa system?
  16. Sem sucesso mesmo, não vale a pena nao kk. Deixei a primeira função dentro da segunda mesmo. valeu Ansic
  17. Meio que consegui. Quando eu terminar de implementar eu envio o codigo aqui. Eu tenho que ler o evento do mouse. Faço um IF tambem caso ele esteja na posição certa, e caso eu dou 2 clicks no mouse. To tentando fazer um menu.
  18. sim sim, pensando em um modo de responder a questão poderia ser assim mesmo. Por enquanto eu deixei a questão desse modo, função dentro de função. Mas sera que não existe algum modo de eu chamar uma função sem retorno e sem parametro para eu imprimir ponteiro?Tentei declarar o ponteiro dentro dessa função sem sucesso...
  19. você diz de não poder usar variavel global e nem return na função que mostra os nomes? Não sei..., o exercicio pede isso n sei por qual motivo. Tem algum jeito de mostrar o resultado sem parametro?? Como você faria esse exercicio? Eu fiz certo o uso de ponteiros?
  20. Boa tarde estou criando um site em C (tem que ser só em C), e estou usando o prompt para rodar. Gostaria de saber como posso fazer para usar o mouse na tela do prompt para saber em que posição eu estou . Gostaria que quando eu colocasse o cursor do mouse em uma opção como um menu, quando eu clicar com o botão direito do mouse, ele va para onde eu quero ou execute o que eu quero. Vi um pessoal comentando da windows.h. Gostaria de fazer sem ter que usar bibliotecas graficas.Tem alguns topicos aqui no forum mas são bem antigos, gostaria de trocar ideia de como implementar conforme vou fazendo tambem.
  21. Ate que parte você fez o codigo, ou qual ideia inicial você tem?
  22. Boa tarde, estou fazendo um exercicio e ele pede pra usar passagem de parametro por referencia. Eu tenho que utilizar ponteiro, isso?Se não como posso fazer? Fiz uma parte do codigo, gostaria que vissem se ate esse ponto esta certo. O exercico é esse: 04 – Primeiramente crie uma função que receba dois parâmetros do tipo caractere, um chamado nome e o segundo chamado sobrenome. Essa função, após receber os parâmetros, deve atribuir o nome ao sobrenome e o sobrenome ao nome. Os parâmetros devem ser passados por referência. Crie uma segunda função para mostrar na tela o valor da variável nome e da variável sobrenome. Importante: Essa função não deve receber parâmetro algum. Se caso ate onde eu fiz esta certo, gostaria de saber como posso printar o resultado dentro de uma função, que não pode usar parametro, nem retorno, nem variavel global.... #include <stdio.h> #include <stdlib.h> #include <string.h> void concatena(char *nome,char *sobrenome){ char auxiliar[10]; strcpy(auxiliar,nome); strcat(nome,sobrenome); strcat(sobrenome,auxiliar); } void resultado(){ //Como dar printf nessa função// } int main(){ char nome[20],sobrenome[20]; printf("Digite um nome: "); gets(nome); printf("\nDigite um sobrenome: "); gets(sobrenome); concatena(nome,sobrenome); resultado(); system("pause"); return 0; }
  23. Obrigado Ciroboy, desculpe n responder antes, n tinha recebido a notificação. Optei por usar texto em ascii para fazer o nome da empresa. E desisti por enquanto de colocar imagem. Ainda assim vou dar uma olhada com calma nessa biblioteca que você passou. valeu.
  24. Pessoal só pra atualizar aqui, obrigado a todos que me ajudaram no processo de entender a logica, consegui avançar mais e finalizei o projeto de jogo da velha em visual g: https://www.youtube.com/watch?v=SnM6FP4omAE&t=1s
  25. Bom dia pessoal, estou com uma duvida, tenho um projeto para criar um site em linguagem C. Ja fiz o esboço das telas e agora quero tentar recriar o mais fiel possível em linguagem C. Vou usar o prompt de comando e code blocks. Comecei a materia em C nesse semestre, então só vi ate strings. Gostaria de inserir uma imagem no prompt de comando,como só aceita ascii a imagem não ficou legal pois tem muitos detalhes e quero deixar ela la em cima no menu. Vi que tem bibliotecas gráficas como allegro 4(isso?). Gostaria de saber o seguinte: Quero colocar duas imagens no menu, uma do lado esquerdo com o nome da faculdade e outra do lado direito com o logo da minha empresa, embaixo terá as opções do menu e o corpo do site.Como fazer? Ficaria estranho eu colocar só as imagens com a ajuda da biblioteca gráfica e o resto do site manter em estrutura de DOS?? Qual a biblioteca gráfica mais fácil para aprender?Gostaria de fazer um site legal mas não sei se vou dispor do tempo necessário para assimilar todos os comandos. OBS: Fiz um jogo da velha no semestre passado em visualg e ficou assim : https://www.youtube.com/watch?v=SnM6FP4omAE&t=1s Consigo fazer assim em linguagem C, mas gostaria de evoluir um pouco mais com as bibliotecas gráficas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!