表示データよりエディタを起動

  リストビューのダブルクリックイベントを実装



  
LboxWin *Win;
LboxListview *Lview;
LboxListview *Lview2 = NULL;
LboxThread Thread;
#define THREAD_END	LBOX_USER + 1
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	int wmId, wmEvent;

	switch( message ) 
	{
		case WM_NOTIFY:
			if ( Lview2 != NULL ) {
				Lview2->Notify( hWnd, lParam );
			}
			break;

		case LBOX_LV_DBLCLK:
			if ( Lview2->IsHandle( (HWND)wParam ) ) {
				// 行が選択されている
				if ( LVROW(lParam) != -1 ) {
					LboxString TargetFile;
					Lview2->SetCurrentRow( LVROW(lParam) );
					Lview2->GetColumnText( 2, &TargetFile );
					Win->MsgOk( &TargetFile );
				}
			}
			break;

		case THREAD_END:
			Thread.Close();
			break;

  



  TeraPad.exe を使用して対象行を表示



TeraPad の仕様
  
■行指定パラメータ

  コマンドラインパラメータに「/j=**」「/jl=**」とファイルが指定
  されている場合は**行へジャンプします。

    /j=**   折り返し行をカウントする
    /jl=**  折り返し行をカウントしない(論理行)

  例) C:\Program Files\TeraPad\TeraPad.exe /j=10 D:\Readme.txt
  

  
		case LBOX_LV_DBLCLK:
			if ( Lview2->IsHandle( (HWND)wParam ) ) {
				// 行が選択されている
				if ( LVROW(lParam) != -1 ) {
					LboxString TargetFile;
					LboxString TargetRow;
					Lview2->SetCurrentRow( LVROW(lParam) );
					Lview2->GetColumnText( 2, &TargetFile );
					Lview2->GetColumnText( 0, &TargetRow );

					LboxTool Tool;
					LboxString Command;
					Command.Printf( "\"%s\" /jl=%s \"%s\"",
					   "C:\\Program Files\\tpad\\TeraPad.exe",
					   TargetRow.szLboxString,
					   TargetFile.szLboxString
					);
					Tool.Execute( &Command, NULL );
				}
			}
			break;
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ