jtwc 发表于 2023-5-31 19:40

C++中如何对子窗口操作?

本帖最后由 jtwc 于 2023-5-31 19:44 编辑

C++中如何对子窗口操作?已知父窗口类名“000”,子窗口类名“001”,下面是激活父窗口源码,激活子窗口源码该如何写呢?谢谢了
激活父窗口源码:
HWND hWnd = ::FindWindow("000", NULL);
      if (hWnd != NULL)
      {
                //      printf("%d", GetClientRect(hWnd, &rect));
      }
      
      ShowWindow(hWnd, SW_RESTORE);//如果界面最小化,将其激活

激活子窗口源码:(该如何写呢?)

seawaycao 发表于 2023-5-31 20:33

子窗体是怎么定义的?

txj66 发表于 2023-5-31 21:00

子窗口源码呢??

xlhwxyh 发表于 2023-5-31 21:05

子窗口不需要激活,只需要将父窗口设置到z次序的顶层,就能激活!

HWND hWnd = Parent;   //将要激活的父窗口
HWND hForeWnd = ::GetForegroundWindow();
DWORD dwForeID = ::GetWindowThreadProcessId(hForeWnd,NULL);
DWORD dwCurID = ::GetCurrentThreadId();
::AttachThreadInput(dwCurID,dwForeID,TRUE);
::ShowWindow(hWnd,SW_SHOWNORMAL);
::SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);
::SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0, SWP_NOSIZE|SWP_NOMOVE);
::SetForegroundWindow(hWnd);
::AttachThreadInput(dwCurID,dwForeID,FALSE);

土鸡炖蘑菇 发表于 2023-6-1 08:35

https://www.52pojie.cn/thread-1792152-1-1.html
刚好有人发了个帖子 你可以参考一下

jtwc 发表于 2023-6-1 16:19

土鸡炖蘑菇 发表于 2023-6-1 08:35
https://www.52pojie.cn/thread-1792152-1-1.html
刚好有人发了个帖子 你可以参考一下

谢谢老师了

jtwc 发表于 2023-6-2 11:59

谢谢各位老师,已解决。
页: [1]
查看完整版本: C++中如何对子窗口操作?