如何使Win32对话框出现在默认位置(CW_USEDEFAULT)?

Meh*_*dad 4 windows winapi dialog visual-c++

如何使Win32 对话框 显示在默认位置/大小?

(即我如何模拟CW_USEDEFAULTCreateWindow时候就已经被创建的窗口)?

Ray*_*hen 9

创建一个临时隐形窗口,CW_USEDEFAULT并查看它的位置.将对话框移到那里.

  • 严肃地说,有没有更少的hacky解决方案?我觉得创建一个新窗口只是为了查询它的位置/大小是很奇怪的. (4认同)
  • 没有"你在哪里放置一个用CW_USEDEFAULT创建的窗口"功能.查看CW_USEDEFAULT效果的唯一方法是实际创建一个窗口.另一种解决方案是使用CW_USEDEFAULT创建不可见窗口,然后将对话框创建为不可见窗口的拥有窗口.由于对话框相对于其所有者定位,因此将对话框模板位置设置为(0,0).但这确实会影响您的所有者链. (4认同)