Bagikan melalui


Ukuran Buffer Jendela dan Layar

Ukuran buffer layar dinyatakan dalam hal kisi koordinat berdasarkan sel karakter. Lebar adalah jumlah sel karakter di setiap baris, dan tingginya adalah jumlah baris. Terkait dengan setiap buffer layar adalah jendela yang menentukan ukuran dan lokasi bagian persegi panjang buffer layar konsol yang ditampilkan di jendela konsol. Jendela buffer layar ditentukan dengan menentukan koordinat sel karakter dari sel kiri atas dan kanan bawah persegi panjang jendela.

Catatan

Di dunia urutan terminal virtual, ukuran jendela dan ukuran buffer layar ditetapkan ke nilai yang sama. Terminal menangani wilayah gulir balik apa pun yang akan setara dengan konsol dengan ukuran buffer layar yang lebih besar dari ukuran jendelanya. Konten tersebut milik terminal dan umumnya bukan lagi bagian dari area yang dapat diatasi. Untuk informasi selengkapnya, silakan lihat perbandingan fungsi konsol klasik kami versus urutan terminal virtual.

Buffer layar dapat berukuran apa pun, hanya dibatasi oleh memori yang tersedia. Dimensi jendela buffer layar tidak boleh melebihi dimensi yang sesuai dari buffer layar konsol atau jendela maksimum yang dapat pas pada layar berdasarkan ukuran font saat ini (dikontrol secara eksklusif oleh pengguna).

Fungsi GetConsoleScreenBufferInfo mengembalikan informasi berikut tentang buffer layar dan jendelanya:

  • Ukuran buffer layar konsol saat ini
  • Lokasi jendela saat ini
  • Ukuran maksimum jendela yang diberikan ukuran buffer layar saat ini, ukuran font saat ini, dan ukuran layar

Fungsi GetLargestConsoleWindowSize mengembalikan ukuran maksimum jendela konsol berdasarkan font dan ukuran layar saat ini. Ukuran ini berbeda dari ukuran jendela maksimum yang dikembalikan oleh GetConsoleScreenBufferInfo karena ukuran buffer layar konsol diabaikan.

Untuk mengubah ukuran buffer layar, gunakan fungsi SetConsoleScreenBufferSize. Fungsi ini gagal jika salah satu dimensi dari ukuran yang ditentukan kurang dari dimensi jendela konsol yang sesuai.

Untuk mengubah ukuran atau lokasi jendela buffer layar, gunakan fungsi SetConsoleWindowInfo. Fungsi ini gagal jika koordinat sudut jendela yang ditentukan melebihi batas buffer layar konsol atau layar. Mengubah ukuran jendela buffer layar aktif mengubah ukuran jendela konsol yang ditampilkan di layar.

Proses dapat mengubah mode input konsolnya untuk mengaktifkan input jendela sehingga proses dapat menerima input saat pengguna mengubah ukuran buffer layar konsol. Jika aplikasi mengaktifkan input jendela, aplikasi dapat menggunakan GetConsoleScreenBufferInfo untuk mengambil ukuran buffer jendela dan layar saat startup. Informasi ini kemudian dapat digunakan untuk menentukan cara data ditampilkan di jendela. Jika pengguna mengubah ukuran buffer layar konsol, aplikasi dapat merespons dengan mengubah cara data ditampilkan. Misalnya, aplikasi dapat menyesuaikan cara teks membungkus di akhir baris jika jumlah karakter per baris berubah. Jika aplikasi tidak mengaktifkan input jendela, aplikasi harus menggunakan ukuran buffer layar dan jendela yang diwariskan, atau mengaturnya ke ukuran yang diinginkan selama startup dan memulihkan ukuran yang diwariskan saat keluar. Untuk informasi tambahan tentang mode input jendela, lihat Mode Konsol Tingkat Rendah.