ポップアップメニュー文のタブ文字整形No.23532
わっきー@茨城 さん 07/09/10 16:44
 
お世話になっております、わっきーです。

これはおそらく隠し機能かと思うのですが、マクロの menu や mousemenuarray で
メニューの項目にタブ文字を一ついれると自動整形してくれるので大変重宝しており
ます。
ただ、メニューが折り返すと整形してくれなくなるのですが、一列目と同様に整形表
示を
するのは難しいでしょうか?

以下、サンプルです。

// test.mac
#i = 0;
$Str[0] = "サル";
$Str[1] = "ゴリラ";
$Str[2] = "チンパンジー";
while( #i < 100 )

// メニュー項目の作成
{
    $Test[#i] = str( #i + 1 ) + " " + $Str[#Cnt] + "\tメニューテスト";
    #i = #i + 1;
    #Cnt = #Cnt + 1;
    if( 2 < #Cnt ) #Cnt = 0;
}

mousemenuarray $Test , #i; // 配列をコンテキストメニュー化


本件とは関係ありませんが、 menu系でセパレータが実装されると便利(Borland C++
 のように
キャプションにハイフン "-" を設定するとセパレータと認識する等)かと思います
ので、
合わせてご検討よろしくお願いします。

[ ]
RE:23532 ポップアップメニュー文のタブ文No.23533
秀丸担当 さん 07/09/10 17:08
 

>これはおそらく隠し機能かと思うのですが、マクロの menu や mousemenuarray で
>メニューの項目にタブ文字を一ついれると自動整形してくれるので大変重宝しており
>ます。
>ただ、メニューが折り返すと整形してくれなくなるのですが、一列目と同様に整形表
>示を
>するのは難しいでしょうか?

これは秀丸エディタというよりWindowsのメニューの仕様で、「&」をアルファベ
ットの直前に入れるとアンダーバーが付くのと同じで、タブを入れるとこのよう
になるようになっています。
折り返すと表示が異なるのは、Windowsの仕様なのか不具合なのかわかりません。
回避するとしたら、秀丸エディタで全て描画するようにするということになると
思いますが、簡単というわけにはいかないです。

>本件とは関係ありませんが、 menu系でセパレータが実装されると便利(Borland C++
> のように
>キャプションにハイフン "-" を設定するとセパレータと認識する等)かと思います
>ので、
>合わせてご検討よろしくお願いします。

セパレータもできたらいいと思いますが、昔からできないですね。
ハイフンをセパレータにしてしまっていいかどうかは互換性を考えると心配なの
で、何か別の記述方法があるといいですが。"\x01"とするとできるようになると
か。
今後のネタとして参考にさせていただきます。

[ ]
RE:23533 ポップアップメニュー文のタブ文No.23539
わっきー@茨城 さん 07/09/10 18:18
 
> これは秀丸エディタというよりWindowsのメニューの仕様で、「&」をアルファベ
> ットの直前に入れるとアンダーバーが付くのと同じで、タブを入れるとこのよう
> になるようになっています。
> 折り返すと表示が異なるのは、Windowsの仕様なのか不具合なのかわかりません。
> 回避するとしたら、秀丸エディタで全て描画するようにするということになると
> 思いますが、簡単というわけにはいかないです。

失礼いたしました、Windowsの仕様たっだのですね。
当方でも調べてみたところ、元々アクセラレータキーの表示を整形するためのものだ
そうで…。
ご回答ありがとうございました。

[ ]