Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

TeraTermマクロのlistboxウィンドウの横幅を広げる方法

More than 1 year has passed since last update.

問題点 : listboxで長い文字列が見切れてしまう

TeraTermのマクロのlistboxの不便な点として「ウィンドウサイズを変更することができず、選択対象として長い文字列を表示すると見切れてしまうため、文字列全体を読むためにはマウスで横スクロールするしかない」という点が挙げられます。

見切れてしまうコードの例

; リストボックスの中身を定義
strdim LISTITEM 6
LISTITEM[0] = "192.168.0.1 - some_descriptions_about_this_host"
LISTITEM[1] = "192.168.0.2 - some_descriptions_about_this_host"
LISTITEM[2] = "192.168.0.3 - some_descriptions_about_this_host"
LISTITEM[3] = "192.168.0.4 - some_descriptions_about_this_host"
LISTITEM[4] = "192.168.0.5 - some_descriptions_about_this_host"
LISTITEM[5] = "192.168.0.6 - some_descriptions_about_this_host"

; リストボックス表示
listbox "Select login server" "Select server" LISTITEM

実行結果
image.png

意外とストレスフルなこの問題点については改善要望のチケットも上がっているものの、開発状況的に改善される見込みはなさそうなのが現状です。

解決策 : <messages> 引数に長文を入れてウィンドウサイズを引き伸ばす

アドホックな解決策ですが、listboxの第一引数である<messages>を長文にすることでウィンドウサイズが横に引き伸ばされるため、リスト部分の横幅を広げることができます。

見切れてしまうコードの例

; リストボックスの中身を定義
strdim LISTITEM 6
LISTITEM[0] = "192.168.0.1 - some_descriptions_about_this_host"
LISTITEM[1] = "192.168.0.2 - some_descriptions_about_this_host"
LISTITEM[2] = "192.168.0.3 - some_descriptions_about_this_host"
LISTITEM[3] = "192.168.0.4 - some_descriptions_about_this_host"
LISTITEM[4] = "192.168.0.5 - some_descriptions_about_this_host"
LISTITEM[5] = "192.168.0.6 - some_descriptions_about_this_host"

; リストボックス表示
listbox "Select login server----------------------------------------------------" "Select server" LISTITEM

実行結果
image.png

malbare932
SIer死亡遊戯 / インフラエンジニア見習い / 競プロ入門編
https://twitter.com/malbare932
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away