ダイアログのオーナーウィンドウ
Posted on Mon 30 June 2008 in Windows
ダイアログのオーナーウィンドウのハンドルは、
GetWindow()でGW_OWNERを指定することで得られるが、
DialogBox()の第3引数で指定したものが得られるとは限らない。
DialogBox()の第3引数で指定したウィンドウが子ウィンドウの場合、
子ウィンドウはオーナーウィンドウになれないので、子ウィンドウの親を調べて子ウィンドウでなければ、そのウィンドウがオーナーウィンドウになる。
子ウィンドウの親も子ウィンドウだった場合さらにその親を調べる。