创建一个ListView,以为就是和一般的控件一样:
m_hLogList = ::CreateWindowEx(LVS_EX_HEADERDRAGDROP|LVS_EX_FULLROWSELECT|LVS_EX_DOUBLEBUFFER, L"SysListView32", NULL,
WS_VISIBLE|WS_CHILD|LVS_REPORT|LVS_SINGLESEL|LVS_SHOWSELALWAYS, //|LVS_SINGLESEL|LVS_SHOWSELALWAYS|LVS_AUTOARRANGE|LVS_SINGLESEL
0, 0, 0, 0, m_hWnd, NULL, m_hInst, NULL);
结果,创建出来的ListView扩展属性都都有表现出来。使用SPY++抓了一下,发现扩展属性变成了WS_EX_ACCEPTFILES。找到这些定义处:
#define WS_EX_ACCEPTFILES 0x00000010L
#define LVS_EX_HEADERDRAGDROP 0x00000010
呵呵,原来数值是一样的,那么修改ListView的扩展属性一定不是通过CreateWindowEx第一个参数来决定的。接着我又想到了,使用SetWindowLong函数来设置窗口的默认属性:
// SetLastError(0);
// LONG lStyleEx = GetWindowLong(m_hLogList, GWL_EXSTYLE);
// DWORD dwCode = GetLast