MFC开发个小工具需要启动时隐藏起来,工作时再显示出来。网上找到很多不是效果不好就是太复杂,这里提供一种最简单方式:
在OnInitDialog中添加一下代码:
CRect rt;
GetWindowRect(&rt);
MoveWindow(-rt.Width(), rt.top, rt.Width(), rt.Height());
std::async([&]{CenterWindow(); ShowWindow(SW_HIDE); });
原理就是先把窗口移到桌面外看不到的地方,再打开一个线程把窗口放在中间并立刻隐藏(不会闪烁)。