永发信息网

在 VC++ 中如何知道其它窗口有没有标题栏

答案:2  悬赏:0  手机版
解决时间 2021-01-25 04:26
  • 提问者网友:遮云壑
  • 2021-01-24 15:08
在 VC++ 中如何知道其它窗口有没有标题栏
最佳答案
  • 五星知识达人网友:大漠
  • 2021-01-24 16:00
用GetWindowStyle宏得到目标窗口的样式集合,然后 & WS_CAPTION一下,如果得到的值为真就有,否则就无。如:
DWORD wndstyle=GetWindowStyle(hwnd);
if(wndstyle&WS_CAPTION)
{}//窗口有标题栏
else
{}//窗口没有标题栏
GetWindowStyle宏展开后就是(GetWindowLong(hwnd,GWL_SYTLE))
全部回答
  • 1楼网友:雾月
  • 2021-01-24 17:00
messagebox是系统api,既然它没有提供相关参数,那么也实在无法显示标题栏图标。 另外有一个api函数messageboxindirect,提供更多的参数选择,使用方法为: msgboxparams msgpars; msgpars.cbsize = sizeof(msgpars); msgpars.hwndowner = m_hwnd; msgpars.hinstance = afxgetapp()->m_hinstance; msgpars.lpsztext = "你好!"; msgpars.lpszcaption = "about"; msgpars.dwstyle = mb_ok|mb_usericon; msgpars.lpszicon = makeintresource(idr_mainframe); msgpars.dwcontexthelpid = 0; msgpars.lpfnmsgboxcallback = null; msgpars.dwlanguageid = lang_neutral; messageboxindirect(&msgpars); 不过这里的图标是在对话框内显示的,不是标题栏图标。 如果一定要加标题栏图标,自己写一个窗口类吧。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯