/*! マウスの中ボタンがうpしたときの処理 @param[in] hWnd 親ウインドウハンドル @param[in] x クライアント座標X @param[in] y クライアント座標Y @param[in] keyFlags 押されてる他のボタン @return なし */ VOID Aai_OnMButtonUp( HWND hWnd, INT x, INT y, UINT keyFlags ) { AaItemsDoSelect( hWnd, MAA_SUBDEFAULT, TRUE ); #ifndef _ORRVW if( gbMaaRetFocus ){ ViewFocusSet( ); } #endif return; }
/*! ドラフトボードの内容をファイルに書き出す @param[in] hWnd ウインドウハンドル @param[in] ptPath 未使用 */ HRESULT DraughtItemExport( HWND hWnd, LPTSTR ptPath ) { CONST CHAR cacSplit[] = ("[SPLIT]\r\n"); // 9BYTE UINT_PTR dItems, cbSize; TCHAR atPath[MAX_PATH], atName[MAX_PATH]; BOOLEAN bOpened; OPENFILENAME stOpenFile; MAAM_ITR itItem; HANDLE hFile; DWORD wrote; dItems = gvcDrtItems.size(); if( 0 >= dItems ) return E_NOTIMPL; // 空なら何もしない //ファイル名確定 ZeroMemory( atPath, sizeof(atPath) ); ZeroMemory( atName, sizeof(atName) ); ZeroMemory( &stOpenFile, sizeof(OPENFILENAME) ); stOpenFile.lStructSize = sizeof(OPENFILENAME); stOpenFile.hwndOwner = ghPtWnd; stOpenFile.lpstrFilter = TEXT("複数行テンプレファイル(*.mlt)\0*.mlt\0全ての形式(*.*)\0*.*\0\0"); stOpenFile.nFilterIndex = 1; stOpenFile.lpstrFile = atPath; stOpenFile.nMaxFile = MAX_PATH; stOpenFile.lpstrFileTitle = atName; stOpenFile.nMaxFileTitle = MAX_PATH; stOpenFile.lpstrTitle = TEXT("保存するファイル名を指定してね"); stOpenFile.Flags = OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY; stOpenFile.lpstrDefExt = TEXT("mlt"); //ここで FileOpenDialogue を出す bOpened = GetSaveFileName( &stOpenFile ); wrote = CommDlgExtendedError(); TRACE( TEXT("ファイル保存ダイヤログ通過[%X]"), wrote ); #ifndef _ORRVW ViewFocusSet( ); #endif if( !(bOpened) ){ return E_ABORT; } // キャンセルしてたら何もしない hFile = CreateFile( atPath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); if( INVALID_HANDLE_VALUE == hFile ){ return E_HANDLE; } SetFilePointer( hFile, 0, NULL, FILE_BEGIN ); for( itItem = gvcDrtItems.begin(); gvcDrtItems.end() != itItem; itItem++ ) { StringCchLengthA( itItem->pcItem, STRSAFE_MAX_LENGTH, &cbSize ); WriteFile( hFile, itItem->pcItem, cbSize, &wrote, NULL ); WriteFile( hFile, cacSplit, 9, &wrote, NULL ); // 固定値注意 } CloseHandle( hFile ); MessageBox( hWnd, TEXT("ファイルに保存したよ"), TEXT("お燐からのお知らせ"), MB_OK | MB_ICONINFORMATION ); return S_OK; }