-
Posts
7,495 -
Joined
-
Last visited
-
Days Won
95
UEZ last won the day on April 2
UEZ had the most liked content!
About UEZ

- Birthday 12/03/2007
Profile Information
-
Member Title
Never say never
-
Location
Germany
-
Interests
Computer, watching movies, football (soccer), being lazy :-)
UEZ's Achievements
-
Danyfirex reacted to a post in a topic:
Testing fullscreen video capturing @ 60 FPS
-
@wakillon thanks for testing. vfw is now replaced with x264 dll. @All: Can you please test: ScreenRecorder.7z It is now GUI driven. Limitations: 2GB AVI file and Windows10+.
-
WildByDesign reacted to a post in a topic:
SampleControls.au3 in Dark Mode
-
Case $WM_ERASEBKGND Return 1 This means you're telling Windows not to delete the background, because we've already done that. May flicker when removed. Case $WM_SETFOCUS, $WM_KILLFOCUS These messages appear when you click in the field or move away from it (e.g., by pressing the Tab key). Case $WM_MOUSEMOVE / $WM_MOUSELEAVE This is the logic behind the hover effect (the frame lights up when the mouse hovers over it). _WinAPI_InvalidateRect is basically the “Redraw, please!” command for Windows. If everything works fine without the Case checks, you can leave them out, but this may vary depending on the operating system. I haven't noticed any negative effects without that parts.
-
WildByDesign reacted to a post in a topic:
ListView how to change color of selected unfocused listview element / row ?
-
1) As a general rule, when you open a resource, you should release it again to avoid a memory leak. For example, if you constantly call _WinAPI_CreateSolidBrush(), you’re reserving memory without freeing it up. Eventually, the memory will run out. Yes, every call to _WinAPI_CreateSolidBrush() / _WinAPI_DeleteObject() takes processing time, which may become noticeable if there are a large number of calls. I don’t think this plays a major role for “normal” applications. 2) At first glance, it appears that no brush is being used, but I assume that Windows creates a brush internally and then deletes it to prevent a memory leak.
-
mLipok reacted to a post in a topic:
ListView how to change color of selected unfocused listview element / row ?
-
argumentum reacted to a post in a topic:
ListView how to change color of selected unfocused listview element / row ?
-
mLipok reacted to a post in a topic:
ListView how to change color of selected unfocused listview element / row ?
-
pixelsearch reacted to a post in a topic:
ListView how to change color of selected unfocused listview element / row ?
-
donnyh13 reacted to a post in a topic:
ListView how to change color of selected unfocused listview element / row ?
-
;Coded by UEZ build 2020-04-21 #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <GuiListView.au3> #include <WinAPISys.au3> Opt("MustDeclareVars", True) Example1() Example2() Func Example1() Local $hGUI = GUICreate("Listview Example", 300, 300) Local $idListview = GUICtrlCreateListView("Col1|Col2|Col3 ", 10, 10, 200, 150) GUICtrlCreateListViewItem("item2|col22|col23", $idListview) GUICtrlCreateListViewItem("item1|col12|col13", $idListview) GUICtrlCreateListViewItem("item3|col32|col33", $idListview) Local $idButton = GUICtrlCreateButton("Test", 75, 170, 70, 20) GUISetState() While True Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIDelete($hGUI) ExitLoop Case $idButton _GUICtrlListView_GetSelectedIndices($idListview) GUICtrlSetState($idListview, $GUI_FOCUS) EndSwitch WEnd EndFunc Func Example2() Local $hGUI = GUICreate("Listview Custom Draw Example", 300, 300) Local $idListview = GUICtrlCreateListView("Col1|Col2|Col3", 10, 10, 200, 150, BitOR($LVS_SHOWSELALWAYS, $LVS_REPORT)) _GUICtrlListView_SetExtendedListViewStyle($idListview, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER)) GUICtrlCreateListViewItem("item2|col22|col23", $idListview) GUICtrlCreateListViewItem("item1|col12|col13", $idListview) GUICtrlCreateListViewItem("item3|col32|col33", $idListview) Local $idButton = GUICtrlCreateButton("Test", 75, 170, 70, 20) GUISetState(@SW_SHOW) GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") While True Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIDelete($hGUI) ExitLoop Case $idButton ConsoleWrite("Button clicked." & @CRLF) EndSwitch WEnd EndFunc ;==>Example Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam) Local $tNMHDR = DllStructCreate($tagNMHDR, $lParam) Local $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom")) Local $iCode = $tNMHDR.Code Switch $iCode Case $NM_CUSTOMDRAW Local $tNMLVCUSTOMDRAW = DllStructCreate($tagNMLVCUSTOMDRAW, $lParam) Local $dwDrawStage = $tNMLVCUSTOMDRAW.dwDrawStage Switch $dwDrawStage Case $CDDS_PREPAINT Return $CDRF_NOTIFYITEMDRAW Case $CDDS_ITEMPREPAINT Local $dwItemSpec = $tNMLVCUSTOMDRAW.dwItemSpec If _GUICtrlListView_GetItemSelected($hWndFrom, $dwItemSpec) Then Local $iState = $tNMLVCUSTOMDRAW.uItemState ;remove SELECTED-State and draw system colors $tNMLVCUSTOMDRAW.uItemState = BitAnd($iState, BitNot($CDIS_SELECTED), BitNot($CDIS_FOCUS)) $tNMLVCUSTOMDRAW.clrTextBk = _WinAPI_GetSysColor($COLOR_HIGHLIGHT) $tNMLVCUSTOMDRAW.clrText = _WinAPI_GetSysColor($COLOR_HIGHLIGHTTEXT) Return $CDRF_NEWFONT EndIf EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_NOTIFY
-
mLipok reacted to a post in a topic:
Simple Circular ProgressBar with smooth edges & gradient color
-
mLipok reacted to a post in a topic:
Simple Circular ProgressBar with smooth edges & gradient color
-
Can you try instead? If _IsBorderedControl($sClass) Then ; Trigger WM_NCPAINT to redraw border with updated focus color ;_WinAPI_SetWindowPos($hWnd, 0, 0, 0, 0, 0, BitOR($SWP_NOMOVE, $SWP_NOSIZE, $SWP_NOZORDER, $SWP_FRAMECHANGED)) _WinAPI_RedrawWindow($hWnd, 0, 0, BitOR($RDW_FRAME, $RDW_INVALIDATE, $RDW_NOERASE)) EndIf
-
I added the exlusion for the up/down control in Case $WM_PAINT (_WinProc() function). ; also exclude the system Up/Down of the TabControl itself Local $hTabUpDown = _WinAPI_FindWindowEx($hWnd, "msctls_updown32") If $hTabUpDown And _WinAPI_IsWindowVisible($hTabUpDown) Then $tCR = _WinAPI_GetWindowRect($hTabUpDown) If Not ($tCR.right < $tPR.left Or $tCR.left > $tPR.right Or _ $tCR.bottom < $tPR.top Or $tCR.top > $tPR.bottom) Then $left = Max($tCR.left, $tPR.left) - $tPR.left $top = Max($tCR.top, $tPR.top) - $tPR.top $right = Min($tCR.right, $tPR.right) - $tPR.left $bottom = Min($tCR.bottom, $tPR.bottom) - $tPR.top DllCall("gdi32.dll", "int", "ExcludeClipRect", "handle", $hMemDC, "int", $left, "int", $top, "int", $right, "int", $bottom) DllCall("gdi32.dll", "int", "ExcludeClipRect", "handle", $hDC, "int", $left, "int", $top, "int", $right, "int", $bottom) EndIf EndIf This works for me. up/down control will be displayed when more tabs are added than it can be displayed.
-
Thank you both for testing. 👍 @AndyG my previous version is ok for x86 because I didn't use threading. With lasted update I changed it to threading, ergo encoding is executed in a separate thread but for some reason it doesn't work for x86. Actually I cannot find the issue - maybe VfW‑Thread‑Affinity‑Problem under x86.
-
Should be fixed now - you may try it again. x64 should work - x86 may have some issues and may crash! Btw, I renamed the GraphicsCaptureWrapper DLLs and record time is now 20 seconds. You don't need Ultrafast, Superfast should be ok, too.
-
I got same message -> need to investigate... Thx
-
@AndyG Were there any problems with the player? @Danyfirex reported problems with VLC Player playing AVI file.
-
UEZ reacted to a post in a topic:
Testing fullscreen video capturing @ 60 FPS
-
UEZ reacted to a post in a topic:
DLL Call Problems
-
Can you please test also ? Thanks.
-
UEZ reacted to a post in a topic:
DLL Call Problems
-
Can someone with a 2K+ monitor test whether screen recording works at 60 fps? The previous version used the GDI API to send frames to the codec, which is too slow at high screen resolutions. Windows build 18362+ required! Link to: ScreenRecorder2_vfw Please unzip the 7-Zip archive and run one of the executable files. Recording will begin on the main screen as soon as the CMD window appears and a yellow rectangle is displayed. Please run “Configure_x264vfw.cmd” (default is the x64 DLL version), adjust the settings according to this screenshot, and then click “OK”: Once the recording is complete, the “Actual Time” should be roughly equal to the “Target Time,” which is 15 seconds (900 frames). Can you please post your screen size and the “actual time”? My result: 1920x1200 Actual time : 15.01514229999849 seconds The closer the actual time is to the recorded time, the more accurate the recording was. Thanks.