注意是WINAPI,不是MFC...
// ... // WIN_WIDTH==640, WIN_HEIGHT==480
RECT rc;
SetRect( &rc, 0, 0, WIN_WIDTH, WIN_HEIGHT );
AdjustWindowRect( &rc, WS_OVERLAPPEDWINDOW & (~WS_SIZEBOX), 0);
g_hwnd = CreateWindowEx(
NULL,
WINDOW_CLASS,
WINDOW_NAME,
// 禁止最大化,且不可调节窗口大小
WS_OVERLAPPEDWINDOW & (~WS_SIZEBOX),
0, 0,
( rc.right - rc.left ), ( rc.bottom - rc.top ),
NULL,
NULL,
h,
NULL
); // ....窗口风格那,只要写上"(~WS_SIZEBOX)",窗口的X坐标最小值就成了65535了,
如果这是必然的话,那有没有其他方法,既禁止改变窗口大小,又能正常显示窗口X坐标的??
// ... // WIN_WIDTH==640, WIN_HEIGHT==480
RECT rc;
SetRect( &rc, 0, 0, WIN_WIDTH, WIN_HEIGHT );
AdjustWindowRect( &rc, WS_OVERLAPPEDWINDOW & (~WS_SIZEBOX), 0);
g_hwnd = CreateWindowEx(
NULL,
WINDOW_CLASS,
WINDOW_NAME,
// 禁止最大化,且不可调节窗口大小
WS_OVERLAPPEDWINDOW & (~WS_SIZEBOX),
0, 0,
( rc.right - rc.left ), ( rc.bottom - rc.top ),
NULL,
NULL,
h,
NULL
); // ....窗口风格那,只要写上"(~WS_SIZEBOX)",窗口的X坐标最小值就成了65535了,
如果这是必然的话,那有没有其他方法,既禁止改变窗口大小,又能正常显示窗口X坐标的??
SetWindowLong(hWnd,GWL_STYLE,GetWindowLong(hWnd,GWL_STYLE) & ~WS_MAXIMIZEBOX & ~WS_THICKFRAME );
WS_OVERLAPPEDWINDOW & (~WS_SIZEBOX),
到底是什么意思吧!!
WS_OVERLAPPEDWINDOW & (~WS_SIZEBOX), 什么意思这里不是写了么??我问为什么屏蔽了调节窗口大小的功能后,当鼠标移动到窗口边框上时,X坐标显示65535常规情况下,假如分辨率是640X480鼠标坐标从客户区开始,应该是从0到639.
但是我这在左右边框上也会显示X坐标,左面显示65535,右面显示641,而且不是640,因为最大值就是639....
非常奇怪...
关键问题是,当屏蔽了调节窗口大小的功能后,在窗口显示XY坐标,就会多出两个边框的值.左边框处X就成了65535,右边框处X坐标显示641这个是否无法避免..???