ファイルの圧縮・解凍(LZH)

  オブジェクト

定義
  
LboxUnlha *Unlha;
  

作成
  
Unlha = new LboxUnlha();
  

破棄
  
delete Unlha;
  



  開く



  
// 開く
if ( LOWORD(wParam) == IDM_OPENFILE ) {
	if ( Commdlg->OpenFileName( FilePath ) ) {
		Dlg->EditSetText( IDC_READONLY, FilePath );
		Unlha->TargetPath.operator = (FilePath);
		Dlg->PostCommand( IDC_CHECK1 );
	}
}
  



  リストビューに展開

  
// 再表示
if ( LOWORD(wParam) == IDC_CHECK1 ) {
	if ( !(Unlha->OpenArchive()) ) {
		Dlg->MsgOk( &(Unlha->ErrMessage) );
		break;
	}
	Tool.WaitCursor( true );
	Lview->Hide();
	Unlha->Enum( Lview, "*.*" );
	Lview->Show();
	Tool.WaitCursor( false );
	Unlha->CloseArchive();
}
  



  ドラッグドロップで圧縮

WndProc
  
// ドラッグドロップイベントをダイアログへ転送
case LBOX_DROPFILES:
	Dlg->PostMsg(
		LBOX_DROPFILES,
		wParam,
		lParam
	);
	break;
  

Dialog_01
  
// ドラッグドロップイベント
case LBOX_DROPFILES:
	if ( Lview->IsHandle( (HWND)wParam ) ) {
		if ( Unlha->Freeze( (HDROP)lParam ) ) {
			Dlg->MsgOk( &(Unlha->ErrMessage) );
			break;
		}
		Dlg->PostCommand( IDC_CHECK1 );
	}
	break;
  



  削除

  
// 削除
if ( LOWORD(wParam) == IDC_CHECK2 ) {
	if ( Dlg->MsgOkCancel(
		"選択されたファイルを書庫から削除しますか?"
		) ) {
		if ( Unlha->Delete( Lview ) ) {
			Dlg->MsgOk( &(Unlha->ErrMessage) );
			break;
		}
		Dlg->PostCommand( IDC_CHECK1 );
	}
}
  



  解凍(パス付き)

  
// 解凍
if ( LOWORD(wParam) == IDC_CHECK3 ) {
	if ( Dlg->MsgOkCancel(
		"選択されたファイルを書庫から解凍しますか?"
		) ) {
		if ( Commdlg->GetFolderName( FilePath ) ) {
			Unlha->MeltPath( Lview, FilePath );
		}
	}
}
  










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





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

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ