如何创建坐标大于32767的子窗口?例如:
HWND tmp =
CreateWindow(
_T( "BUTTON" ), _T( "Test" ),
WS_CHILD | WS_VISIBLE,
10, 45000, 80, 25,
hWnd, (HMENU)1, (HINSTANCE)GetModuleHandle( NULL ), NULL );这段代码创建坐标为10;32767的按钮。使用MoveWindow或SetWindowPos函数会得到相同的结果。
我需要创建窗口与滚动和它的子控件(简单的形式)。
发布于 2012-04-12 22:49:03
HWND CreateWindowExPatched( DWORD exStyle, LPCTSTR className, LPCTSTR title, DWORD style, int x, int y, int width, int height, HWND parent, HMENU menu, HINSTANCE instance, LPVOID param )
{
HWND hWnd = NULL;
ScrollWindow( parent, -x, -y, NULL, NULL );
hWnd = CreateWindowEx( exStyle, className, title, style, 0, 0, width, height, parent, menu, instance, param );
ScrollWindow( parent, x, y, NULL, NULL );
return hWnd;
}
HWND CreateWindowPatched( LPCTSTR className, LPCTSTR title, DWORD style, int x, int y, int width, int height, HWND parent, HMENU menu, HINSTANCE instance, LPVOID param )
{
return CreateWindowExPatched( 0, className, title, style, x, y, width, height, parent, menu, instance, param );
}发布于 2014-01-04 04:15:25
你使用哪种操作系统来运行你的代码?
在我的项目中,虽然Windows7似乎将坐标截断到16位有符号整数范围(-32768和32767),但Windows XP似乎没有这样做,它允许定位从-2147483648到2147483647,整个32位有符号整数范围。
https://stackoverflow.com/questions/9466422
复制相似问题