マンガでよめる痔のこと・薬のこと

現在、VC++、MFCでSDIでアプリ作成中です。
アイコン上にファイル(txtファイル)をドラッグ&ドロップしてメモ帳を起動したいです。
ただ、ドロップされたファイルはうまく読み込めるのですが、そのファイルを開く(表示)することができません。

ドロップされたファイルは、C○○View.cppで

int C○○View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;

// TODO: この位置に固有の作成用コードを追加してください
CStringArrayargv;
if( IsDropOnIcon( &argv, TRUE ) ){
inti;
for( i = 0; i < argv.GetCount(); i++ ){
MessageBox( argv[ i ], "ドロップされたファイルは", MB_OK );
Read(argv[i]);
}
}
}

BOOL C○○View::IsDropOnIcon( CStringArray* argv, BOOL acceptFolder )
{
CStringcmdlin = "";
CStringresToken;
char*p;
intstartnum = 0;

p = AfxGetApp()->m_lpCmdLine;
if( strlen( p ) == 0 || p[ 0 ] == '-')
return FALSE;

cmdlin = p;

resToken= cmdlin.Tokenize( "\"", startnum );
while( resToken != "" ){
if( resToken != " " && IsExist( resToken, acceptFolder ) )
argv->Add( resToken );
resToken= cmdlin.Tokenize( "\"", startnum );
};
return TRUE;
}

/* 引数で貰った文字列がファイルかどうかをチェック */
BOOL C○○View::IsExist( CString filepath, BOOL acceptFolder)
{
CFilefp;

if( fp.Open( filepath, CFile::modeRead ) ){
fp.Close();
return TRUE;
}
return FALSE;
}

のargv[i]で取得しています。

これが、Read(arg[i])でうまく読み込めません。
ちなみにRead(CString filename)は正しく動くことは確認済みです。
Read(arg[i])を入れる場所がOnCreateがいけないとは思うのですが、どのタイミングで
読み込めばいいかがわかりません。
どなたか教えて頂けないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

InitInstance SDI コマンドライン


でググってみてはいかがでしょうか
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング