在 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))
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);
不过这里的图标是在对话框内显示的,不是标题栏图标。
如果一定要加标题栏图标,自己写一个窗口类吧。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯