我使用LVCFMT_FIXED_WIDTH样式来防止用户列的大小。
m_ListCtrl.InsertColumn(0, _gszColumnLabel[0], _gnColumnFmt[0], LVCFMT_FIXED_WIDTH, _gnColumnWidth[0], -1);
我仅是通过hasard发现的,这在Unicode中有效,但在NON Unicode应用程序中无效。用户仍然可以调整列的大小。
我认为这与stdafx.h中的默认Windows.Common-Controls清单框架有关
#ifdef _UNICODE
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif
很遗憾,NON Unicode应用程序没有默认设置。
如果我也对非Unicode应用程序使用相同的清单,它将再次起作用。
但是我不确定,这是否是正确的解决方案?我们可以对Unicode和非Unicode应用程序使用相同的Windows.Common-Controls清单吗?
答案 0 :(得分:1)
import cv2
import numpy as np
cap = cv2.VideoCapture('test.mp4')
#cap = cv2.VideoCapture(0) # I tried using webcam and works
count = 0
while cap.isOpened():
ret,frame = cap.read()
cv2.imshow('window-name',frame)
# Below you have to insert the full path of XML file, below is mine
face_cascade = cv2.CascadeClassifier('C:/ProgramData/Anaconda2/pkgs/opencv-3.2.0-np111py27_0/Library/etc/haarcascades/haarcascade_frontalface_default.xml')
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x, y, w, h) in faces:
cv2.imwrite("frame%d.jpg" % count, frame)
count = count + 1
if cv2.waitKey(10) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows() # destroy all the opened windows
需要CommCtrl v6,最容易通过清单启用。但是您发现CommCtrl v6不仅限于Unicode窗口(我在使用ANSI窗口的多个旧版应用程序中使用CommCtrl v6,并且运行良好),因此为什么Microsoft将LVCFMT_FIXED_WIDTH
限制为仅Unicode构建,我不知道。
但是,使用CommCtrl v6并不是锁定列大小的唯一方法。另一种选择是将ListView本身(而不是其父窗口!)子类化以处理HDN_BEGINTRACK
通知,返回TRUE以阻止调整大小。