////////////////////////////////////////////////////////////////////////////////////////////////////////////SpecialSample2 //次にクリックしたWindowのタイトルを取得して表示 ////////////////////////////////////////////////////////////////////////////////////////////////////////////SpecialSample2 void CShareDlg::OnButton141() { MessageBox("このメッセージボックスを閉じた後にクリックしたWindowの名前を表示します。"); //マウスの入力をキャプチャーする SetCapture(); MSG msg; while(TRUE){ //メッセージを全てキャッチする if(::PeekMessage( &msg, NULL, 0, 0, PM_REMOVE )){ //マウスクリックだった if(msg.message == WM_LBUTTONDOWN){ CPoint MousePoint; //現在のマウス位置を取得 GetCursorPos(&MousePoint); //現在のマウス位置のウインドウを取得(CWnd) CWnd *Wnd = WindowFromPoint(MousePoint); //マウスを開放 ReleaseCapture(); if(Wnd){ CString csBuf; //ウインドウの名前を取得して表示 Wnd->GetWindowText(csBuf); //このCWndを色々操作するとそのWindowに対して様々な処理が可能 TRACE("WindowText = [%s]\n", csBuf); //オーナーウインドウを取得 if(Wnd->GetParentOwner()){ //ウインドウの名前を取得して表示 Wnd->GetParentOwner()->GetWindowText(csBuf); //このCWndを色々操作するとそのWindowに対して様々な処理が可能 TRACE("WindowText オーナー= [%s]\n", csBuf); } } break; } } } }