我开始学习 WinAPI 的基础知识(嗯,正如我开始的那样,这是大学老师的作业)。锻炼。您需要通过将“&”运算符替换为“==”来使下面的条件起作用。
// Функция обработки сообщений
...
...
case WM_LBUTTONDBLCLK: {
if (GetWindowLong(hWnd, GWL_STYLE) & WS_POPUP) {...}
从作者对我的问题的回答中,我意识到 GetWindowLong 函数返回一个 32 位字,其中的位是标志。当使用“==”运算符而不是“&”时,需要处理GetWindowLong以便只保留我需要的位,这是什么意思?如何执行此操作(如果设置了标志:WS_POPUPWINDOW | WS_CAPTION | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_THICKFRAME | WS_VISIBLE | WS_SYSMENU)?预先感谢您抽出时间。澄清。代码本身是可以工作的,但是用“==”替换“&”运算符的任务是老师开的一个玩笑,需要完成。