///////////////////////
// TextToSpeech User.h
///////////////////////
//------------------
//ファイル起動用変数
//------------------
bool g_ByFile = FALSE;		//初期値（0−Open要求なし、1−ファイル起動、2−Drag&drop）

//---------------
//グローバル変数
//---------------
//システム関係（iniファイル用）
CSTR g_SourcePath;		//ソースファイルへのパス
CSTR g_SourceFile;		//ソースファイル
CSTR g_HelpFile;		//ヘルプファイルへのパス
//読上用（IDC_SELのチェックによる言語と性別の指定の有効・無効フラグ）
bool g_IsSelUsed = FALSE;

//-----------------------
// 音声オブジェクトクラス
//-----------------------
CVOICE Voice;

//----------------------
// クリップボードクラス
//----------------------
CCLIPBOARD cBoard;

//-------------------------------
// コントロールのサブクラス化関連
//-------------------------------
#define	NUM_CTRL	13		//ダイアログコントロール数
struct SUBCLASS {
	HWND hWnd;				//ウインドウハンドル
	WNDPROC wProc;			//本来のコールバック関数アドレス
};

SUBCLASS g_SubClass[NUM_CTRL];	//コントロールの数だけ用意する

//すべてのコントロールのサブクラス用コールバック関数
LRESULT CALLBACK SubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {

	int i;
	switch (uMsg) {
	case WM_RBUTTONUP:
		SendMessage(TextToSpeech.GetHandle(), WM_RBUTTONUP, wParam, lParam);
		return 0;
	default:
		break;
	}
	for(i = 0; i < NUM_CTRL; i++)	//このコントロールのコールバック関数を探す
		if(hWnd == g_SubClass[i].hWnd) break;
	return CallWindowProc(g_SubClass[i].wProc, hWnd, uMsg, wParam, lParam);
}

