Avatar billede xiol Nybegynder
30. april 2005 - 14:49 Der er 10 kommentarer og
1 løsning

Undgå flicker i Consolen

jeg er ved at skrive en concole applikation med noget menu styring.
det virker ved at man vælger et menu punkt ved at trykker på pil ned eller pil op og der efter taster Enter. når man trykker  pil op eller ned skal skærmen updater sig selv det sker ved at jeg clear  screen med system("cls") og der efter udskriver hele menuen igen.
når det sker flimre skærmen en smule.

nu er det jeg vil hvide om det er mulig undgå det filmmer

håber i forstår mit spørsmål

påforhånd tak XIOL
Avatar billede xiol Nybegynder
30. april 2005 - 14:49 #1
det skal lige siges at jeg skriver den i c++
Avatar billede bertelbrander Novice
30. april 2005 - 14:55 #2
Du bør undgå at bruge system til at slette skærmen.
Istedet bør du blot tegne oveni, evt med blot mellemrum.
Det kræver at du kan flytte cursoren op og ned på skærmen.
Hvilken kompiler bruger du.
Avatar billede xiol Nybegynder
30. april 2005 - 14:55 #3
visual studio 2003
Avatar billede bertelbrander Novice
30. april 2005 - 14:58 #4
Du bruger SetConsoleCursorPosition til at flytte cursoren:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/setconsolecursorposition.asp

Du skal hente en HANDLE med GetStdHandle
Avatar billede xiol Nybegynder
30. april 2005 - 15:07 #5
Det virker bare perfekt tak for det du.
Hvis du lige smider et svar, så sender jeg en stakfuld point i din retning.
Avatar billede xiol Nybegynder
30. april 2005 - 15:09 #6
nu jeg lige har dig ved du så om der er en måde at starte consolen i fullscreen mode.
Avatar billede bertelbrander Novice
30. april 2005 - 16:34 #7
Jeg har aldrig fundet en metode til at få et program til at starte i full-screen mode.

Jeg samler ikke på point, lav selv et svar og accepter det, så får du dine point tilbage, og spørgsmålet bliver lukket.
Avatar billede thomas_nj Nybegynder
30. april 2005 - 17:03 #8
Havde følgende eksempel liggende. Tror nok jeg i sin tid har lånt koden fra et spørgsmål herinde.

#include <iostream>
#include <cstdlib>
#include <windows.h>
using namespace std;

void fullScreen(void)
{
    keybd_event(VK_MENU, 56, 0, 0);
    keybd_event(VK_RETURN, 28, 0, 0);
    keybd_event(VK_MENU, 56, KEYEVENTF_KEYUP, 0);
    keybd_event(VK_RETURN, 28, KEYEVENTF_KEYUP, 0);
}

int main()
{
  system("pause");
  return 0;
}
Avatar billede xiol Nybegynder
30. april 2005 - 17:13 #9
ok tak for det
Avatar billede xiol Nybegynder
30. april 2005 - 17:16 #10
jeg lader spørsmålet stå åben hvis nogen skulle have en bedder ide.
Avatar billede bertelbrander Novice
30. april 2005 - 20:58 #11
Du kunne prøve denne:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/getconsoledisplaymode.asp

Desværre er der ikke nogen af mine kompilere der har den og den virker vist også kun XP og Win2003
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I går 17:10 Joomla artikler Af rmadsen80 i CMS-systemer
I går 16:54 Printervalg til kontor Af tumben i Printere
I går 15:08 Http client med X509Certificate2 Af joki i C#
I går 13:02 Hjemmenetværk Af Andfer i LAN/WAN
I går 11:17 Chrombook Af lurup i Andre styresystemer