Es kann kein ncurses überschreiben (curscr, savewin) tut richtig, weil ich ripoffline () vor

StackOverflow https://stackoverflow.com/questions/2439064

  •  19-09-2019
  •  | 
  •  

Frage

Ich habe ein C / ncurses Programm, dass ich das Debuggen / aufrechterhalten wird. Dieses Programm macht ripoffline zweimal. Erste, eine Titelleiste zu setzen und das zweite Mal eine Menüleiste am oberen Rand der Seite setzen

Ich brauche ein paar Menüs Dropdown so ich den Bildschirm speichern, bevor ich das Dropdown-Menü. In der InitMenu Funktion, ich habe den folgenden Code:

 savewin = newwin (0, 0, 0, 0);
 overwrite (curscr, savewin);
 wrefresh(savewin)

Das Problem ist, dass savewin mit dem Menü kopiert wird und die Tisch gezogen Linien, aber es wird unter der rippedoff Linie auf den Bildschirm gezeichnet. Diese dupliziert die abgezockt Linien auf dem Bildschirm.

Realisierung Nur wo das Problem mir eine Weile gedauert. Nun, ich habe keine Ahnung, wie man es beheben. Im Idealfall würde Ich mag curscr kopieren, ohne den Tisch gezogen Linien savewin. Irgendwelche Ideen?

War es hilfreich?

Lösung

curscr ist der Inhalt des physischen Bildschirm, so ist es natürlich die abgerissenen Linien enthält.

Sie können stattdessen stdscr verwenden, welche nicht. Sie könnten auch versuchen copywin statt overwrite mit -. Es wird Sie mehr Kontrolle, einschließlich so dass Sie an einer anderen Stelle auf dem Quellfenster Kopieren starten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top