xtd 0.2.0
console_cursor_visible.cpp

Shows how to use xtd::console::cursor_visible property.

#include <xtd/console>
using namespace xtd;
auto main() -> int {
auto m1 = "\nThe cursor is {0}.\nType any text then press Enter. "
"Type '+' in the first column to show \n"
"the cursor, '-' to hide the cursor, "
"or lowercase 'x' to quit:"_s;
auto s = string::empty_string;
auto save_cursor_visibile = console::cursor_visible();
auto save_cursor_size = console::cursor_size();
console::cursor_visible(true); // Initialize the cursor to visible.
console::cursor_size(100); // Emphasize the cursor.
while (true) {
console::write_line(m1, ((console::cursor_visible() == true) ? "VISIBLE" : "HIDDEN"));
if (string::is_empty(s) == false) {
if (s[0] == '+')
else if (s[0] == '-')
else if (s[0] == 'x')
break;
}
}
console::cursor_visible(save_cursor_visibile);
console::cursor_size(save_cursor_size);
}
// This code produces the following output. Note that these results
// cannot depict cursor visibility. You must run the example to see the
// cursor behavior:
//
// The cursor is VISIBLE.
// Type any text then press Enter. Type '+' in the first column to show
// the cursor, '-' to hide the cursor, or lowercase 'x' to quit:
// The quick brown fox
//
// The cursor is VISIBLE.
// Type any text then press Enter. Type '+' in the first column to show
// the cursor, '-' to hide the cursor, or lowercase 'x' to quit:
// -
//
// The cursor is HIDDEN.
// Type any text then press Enter. Type '+' in the first column to show
// the cursor, '-' to hide the cursor, or lowercase 'x' to quit:
// jumps over
//
// The cursor is HIDDEN.
// Type any text then press Enter. Type '+' in the first column to show
// the cursor, '-' to hide the cursor, or lowercase 'x' to quit:
// +
//
// The cursor is VISIBLE.
// Type any text then press Enter. Type '+' in the first column to show
// the cursor, '-' to hide the cursor, or lowercase 'x' to quit:
// the lazy dog.
//
// The cursor is VISIBLE.
// Type any text then press Enter. Type '+' in the first column to show
// the cursor, '-' to hide the cursor, or lowercase 'x' to quit:
// x
bool is_empty() const noexcept
Definition basic_string.hpp:1471
static xtd::string read_line()
Reads the next line of characters from the standard input stream.
static int32 cursor_size()
Gets or sets the height of the cursor within a character cell.
static void write_line()
Writes the current line terminator to the standard output stream using the specified format informati...
static bool cursor_visible()
Gets a value indicating whether the cursor is visible.
@ s
The S key.
Definition console_key.hpp:124
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8