MyEarth Posted March 30, 2015 Share Posted March 30, 2015 (edited) Maybe i'm miss something, with custom ownerdraw if i want to remove the "selection" of the column and clear all like when you create the listview, how i can do? expandcollapse popup;LarsJ is the author #include <GUIListView.au3> #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> Global $hGUI, $hListView Global $nCurCol = -1 Global $iColDef = 0xFFFFFF Global $iColRow = 0xC0C0C0 Global $iColColumn = 0x0000FF ; <<<<<<<<<<<<< column color, how to reset this to 0xFFFFFF $hGUI = GUICreate('Test', 400, 200) $iListView = GUICtrlCreateListView('Items|SubItems', 10, 10, 280, 180, $LVS_REPORT, $WS_EX_CLIENTEDGE) $hListView = GUICtrlGetHandle($iListView) $iButton = GUICtrlCreateButton("Refresh", 300, 25) For $i = 0 To 100 _GUICtrlListView_InsertItem($hListView, 'Item' & $i) _GUICtrlListView_SetItemText($hListView, $i, 'SubItem' & $i, 1) Next GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY') GUISetState() While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $iListView $nCurCol = GUICtrlGetState($iListView) _GUICtrlListView_RedrawItems($hListView, 0, 100) Case $iButton ; refresh EndSwitch WEnd Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam) Local $tNMHDR = DllStructCreate($tagNMHDR, $lParam) Local $hWndFrom = DllStructGetData($tNMHDR, 'hWndFrom') Local $iCode = DllStructGetData($tNMHDR, 'Code') Switch $hWndFrom Case $hListView Switch $iCode Case $NM_CUSTOMDRAW Local $tNMLVCUSTOMDRAW = DllStructCreate($tagNMLVCUSTOMDRAW, $lParam) Local $dwDrawStage = DllStructGetData($tNMLVCUSTOMDRAW, "dwDrawStage") Switch $dwDrawStage ; Holds a value that specifies the drawing stage Case $CDDS_PREPAINT ; Before the paint cycle begins Return $CDRF_NOTIFYITEMDRAW ; Notify the parent window of any item-related drawing operations Case $CDDS_ITEMPREPAINT ; Before painting an item Return $CDRF_NOTIFYSUBITEMDRAW ; Notify the parent window of any subitem-related drawing operations Case BitOR( $CDDS_ITEMPREPAINT, $CDDS_SUBITEM ) ; Before painting a subitem Local $dwItemSpec = DllStructGetData($tNMLVCUSTOMDRAW, "dwItemSpec") Local $iSubItem = DllStructGetData($tNMLVCUSTOMDRAW, "iSubItem") Switch $iSubItem Case $nCurCol If $dwItemSpec = 5 Then DllStructSetData($tNMLVCUSTOMDRAW, "clrTextBk", $iColRow) Else DllStructSetData($tNMLVCUSTOMDRAW, "clrTextBk", $iColColumn) EndIf Case Else If $dwItemSpec = 5 Then DllStructSetData($tNMLVCUSTOMDRAW, "clrTextBk", $iColRow) Else DllStructSetData($tNMLVCUSTOMDRAW, "clrTextBk", $iColDef) EndIf EndSwitch Return $CDRF_NEWFONT EndSwitch EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_NOTIFY Edited March 30, 2015 by MyEarth Link to comment Share on other sites More sharing options...
Solution MyEarth Posted March 30, 2015 Author Solution Share Posted March 30, 2015 Resetting $nCurCol do the things, thanks anyway but this time i have found the answer by myself Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now