Winコマンドを沢山登録したら検索が必要(簡単に追加)
このPSHアプリは簡単に機能追加が可能です。このアプリは基本機能部分を最小行数にして追加機能は別ファイルで組込みます(他のアプリへの展開考慮)。追加方法として[起動ファイル名_add.ps1]を作成し機能追加PSH文を登録して実現します。色んな場面での応用利用が可能になると思います。1.今回の追加機能
今回は [検索窓] [元に戻す] [追加機能編集] の機能を追加します。図1 機能追加「検索窓」の表示
今回は[winCmd201.bat]に上記3つの機能を追加します。(約300件登録のファイル)
- [wGuiPsh]フォルダ内に下記[List1.3.1]を使い[winCmd201_add.ps1]ファイルを作成します。(作成手順は「導入編1.1」参照)これで組込み完了です。
- [winCmd201.bat]をダブルクリックし起動します。起動画面で[マウス右釦]押下でメニューに[検索]、[元に戻す]、[追加機能編集]の追加と動作を確認します。
2.補足
この機能追加で導入編は終了です。このアプリは色んな利用方法があるので次の記事にカスタマイズ方法、デバッグ(DBG)方法について紹介します。●コピペ[List1.3.1] [winCmd201_add.ps1]
..[GUI-PSH窓処理の機能追加add.ps1]
##Ver1.01 by ryu ----
##★★コマンド追加 by ryu
##
(ssSetRbtMenu "元に戻す" ).add_Click({ $tBox.Undo(); });
(ssSetRbtMenu "[検索窓]" ).add_Click({ $szSchBox1.Text=$szSetChaText; $global:szfindPos=$tBox.SelectionStart; $szSchForm.Show(); });
(ssSetRbtMenu "追加機能編集").add_Click({ notepad $fladd; });
##★文字検索DLG窓
$szSchFont=New-Object System.Drawing.Font("メイリオ",12); $global:szfindPos=0;
$global:szSchForm=New-Object Form -Pro @{ Text="【検索Box】"; Size="520,108"; MaximizeBox =$False; MinimizeBox=$false; AutoSizeMode="GrowAndShrink";
Topmost=$True; StartPosition="CenterScreen"; }; $szSchForm.Add_Closing({ $_.Cancel =$True; $szSchForm.Visible =$false; });
##★入力BOX ##★釦0 ##★釦1
$global:szSchBox1=New-Object TextBox -Pro @{ Font=$szSchFont; Location="10,2" ; Size="400,16";};
function ssSchBtn($pm0,$pm1,$pm2){ $zob=New-Object Button -Pro @{ Text=$pm0; Location=$pm1; Size=$pm2; Font=$szSchFont; }; return $zob; };
( $szSchBtn0 =ssSchBtn "【Top】" "420,2" "80,30" ).Add_Click({ $aa=ssSchFind(0)});
( $szSchBtn1 =ssSchBtn "【検索】" "420,34" "80,30" ).Add_Click({ $aa=ssSchFind(1)});
$szSchForm.Controls.AddRange(@($szSchBox1, $szSchBtn0, $szSchBtn1));
$szSchForm.Add_Click({ $tBox.Focus() });
##★検索go ##0:Top ##1:継続
function global:ssSchFind($zcmd){ $zcc=$szSchBox1.Text; $global:szSetChaText=$zcc; if($zcmd -eq 0){ $global:szfindPos=0; };
$zPos =($tBox.Text).indexof($zcc,$szfindPos); if($zPos -ge 0 ){;}else{ $tBox.Focus(); return 1; };
$tBox.Select($zPos, $zcc.length); $tBox.ScrollToCaret(); $tBox.Focus(); $global:szfindPos=$zPos+1;
## $tBox.Select($zPos, $zcc.length); $tBox.Focus(); $global:szfindPos=$zPos+1; $tBox.ScrollToCaret();
return 0;
};
$tBox.Add_Click({;});
[winCmd201_add.ps1]