カーソルの非表示

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Lbfuvab

カーソルの非表示

#1

投稿記事 by Lbfuvab » 18年前

Windows XP SP2の環境でエスケープシーケンスを使わずに
コンソール画面のカーソルを非表示にするにはどうすればいいですか?
調べても分かりませんでした。

バグ

Re:カーソルの非表示

#2

投稿記事 by バグ » 18年前

カーソルを非表示にするだけのサンプルを載せておきます。
添付したファイルはコンソールアプリで文字や背景の色を変更したり、Windowのサイズを変更したりといった機能を実装してあるクラスです。このクラスのSetCursorVisibleという関数内で同じ処理を行っています。良かったら、ご覧下さい。
#include	<windows.h>

void main()
{
	HANDLE hOut;
	CONSOLE_CURSOR_INFO cci;

	// 出力用ハンドルの取得
	hOut = GetStdHandle(STD_OUTPUT_HANDLE);

	// CONSOLE_CURSOR_INFO構造体の現在の状態を取得する
	GetConsoleCursorInfo(hOut, &cci);

	// メンバ変数であるbVisibleがカーソルの表示・非表示を制御する変数なので、これをFALSEにする事でカーソルを非表示にできる
	cci.bVisible = FALSE;

	// 変更した構造体情報をコンソールWindowにセットする
	SetConsoleCursorInfo(hOut, &cci);
}

Lbfuvab

Re:カーソルの非表示

#3

投稿記事 by Lbfuvab » 18年前

有難うございました。
探してもCONSOLE_SCREEN_BUFFER_INFOは載ってても
CONSOLE_CURSOR_INFOはなかったんです。

バグ

Re:カーソルの非表示

#4

投稿記事 by バグ » 18年前

確かにコンソール関係って、MSDNでも日本語で解説してない物が多いので、結構調べにくいですよね(^_^;)

もう必要ないかもしれませんが、コンソール関係の構造体のページを載せておきます。

http://msdn2.microsoft.com/en-us/library/ms682101.aspx

閉鎖

“C言語何でも質問掲示板” へ戻る