Custom Query

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (274 - 276 of 3893)

Ticket Resolution Summary Owner Reporter
#3001 Works For Me Added AutoIt3x_64.dll to Excel Add-in list loads it as initial spreadsheet. mvptest whittamr@…
Description

Added AutoIt3x_64.dll to Excel Add-in list. Now the DLL loads as initial spreadsheet. Uncheck the Add-in and it doesn't load it as the initial spreadsheet.

Running OFFICE 2013 32bit on Windows 7 64bit

Opening a spreadsheet with the macros using AutoIT3x work fine. The initial opening of the DLL (read-only) in the Excel workbook is very annoying.

Ron Whittam Programmer Analyst St Luke's Health System, Integrated Healthcare Technology Dept whittamr@…

#532 Rejected Adding Icons to Tray Menu playzoneuk
Description

Is there a possibility of having the ability to add icons to Tray Menus in a future release?

Sorry if this has been requested before I’m still a newbie when it comes to AutoIT.

#2927 Works For Me Adding Items with GUICtrlCreateListViewItem will cause GUI freeze if a subitem is empty Trolleule
Description

When i add listview items with GUICtrlCreateListViewItem to an ownerdraw listview control and there is a empty subitem in the subitem chain and WM_NOTIFY is present, the LV control freezes. Adding items with UDF works.

I noticed that even when the display of the LV is frozen, the WM_NOTIFY function is still active and responding. I put a consolewrite in the WM_NOTIFY function and could see writing after the listview display froze. Surprisingly, minimizing the GUI unfreezes the listview and all controls on the GUI.

#include <GuiListView.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ColorConstants.au3>


Global Const $ODT_LISTVIEW = 102
Global Const $ODA_DRAWENTIRE = 0x1
Global Const $ODA_SELECT = 0x2
Global Const $ODA_FOCUS = 0x4
Global Const $ODS_SELECTED = 0x0001


Global $GUI_main = GUICreate("", 300, 300, -1, -1)
Global $hGUI_tab_listview[2][10]


$hGUI_tab_listview[0][0] = GUICtrlCreateListView("A|B|C", 15, 10, 250, 280, _
  BitOR($LVS_REPORT, $LVS_SHOWSELALWAYS, $LVS_OWNERDRAWFIXED, $WS_BORDER, $WS_CLIPCHILDREN), 0) ; + $LVS_EX_CHECKBOXES + $LVS_SINGLESEL
_GUICtrlListView_SetExtendedListViewStyle($hGUI_tab_listview[0][0], $LVS_EX_DOUBLEBUFFER)


For $i = 0 To 50
;~  _GUICtrlListView_AddItem(-1, "test " & $i)
;~  _GUICtrlListView_AddSubItem(-1, $i, $i, 1)
    If $i = 5 Then
        GUICtrlCreateListViewItem("|" & "sdfdsfs" & "|" & "", $hGUI_tab_listview[0][0]) ; if empty slot is present, gui gets freezed ; comment this lines out for check
        ContinueLoop
    EndIf
    GUICtrlCreateListViewItem("|" & "sdfdsfs" & "|" & $i, $hGUI_tab_listview[0][0])
Next

GUIRegisterMsg($WM_DRAWITEM, "WM_DRAWITEM")
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUISetState(@SW_SHOW)


; Loop until the user exits.
While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE, $idOK
            ExitLoop
    EndSwitch
WEnd


Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Return $GUI_RUNDEFMSG
EndFunc     ;==>WM_NOTIFY


Func WM_DRAWITEM($hWnd, $Msg, $wParam, $lParam)
    Local $tagDRAWITEMSTRUCT, $iBrushColor, $cID, $itmID, $itmAction, $itmState, $hItm, $hDC, $bSelected
    $tagDRAWITEMSTRUCT = DllStructCreate( _
       "uint cType;" & _
       "uint cID;" & _
       "uint itmID;" & _
       "uint itmAction;" & _
       "uint itmState;" & _
       "hwnd hItm;" & _
       "handle hDC;" & _
       "long itmRect[4];" & _
       "ulong_ptr itmData" _
       , $lParam)
    If DllStructGetData($tagDRAWITEMSTRUCT, "cType") <> $ODT_LISTVIEW Then Return $GUI_RUNDEFMSG
    $cID = DllStructGetData($tagDRAWITEMSTRUCT, "cID")
    $itmID = DllStructGetData($tagDRAWITEMSTRUCT, "itmID")
    $itmAction = DllStructGetData($tagDRAWITEMSTRUCT, "itmAction")
    $itmState = DllStructGetData($tagDRAWITEMSTRUCT, "itmState")
    $hItm = DllStructGetData($tagDRAWITEMSTRUCT, "hItm")
    $hDC = DllStructGetData($tagDRAWITEMSTRUCT, "hDC")
    $bSelected = BitAND($itmState, $ODS_SELECTED)
    Switch $cID ; will look for ControlID, not window handle.
      Case $hGUI_tab_listview[0][0]
       Switch $itmAction
        Case $ODA_DRAWENTIRE
         ; don't forget, this is BGR, not RGB
         If $itmState = $bSelected Then ; item is not selected
          $iBrushColor = 0xEEDDBB
         Else ; item is selected
          $iBrushColor = $COLOR_RED
         EndIf
         Local $aBrush = _WinAPI_CreateSolidBrush($iBrushColor)
         Local $aBrushOld = _WinAPI_SelectObject($hDC, $aBrush)
         Local $iLeft = DllStructGetData($tagDRAWITEMSTRUCT, "itmRect", 1)
         DllStructSetData($tagDRAWITEMSTRUCT, "itmRect", $iLeft + 1, 1) ; rectangle coordinates for coloring
         ; +1 is the left margin
         _WinAPI_FillRect($hDC, DllStructGetPtr($tagDRAWITEMSTRUCT, "itmRect"), $aBrush)
         _WinAPI_SelectObject($hDC, $aBrushOld)
         _WinAPI_DeleteObject($aBrush)

         ; for all columns of the row:
         $local_alignment = $DT_LEFT
         For $i = 0 To _GUICtrlListView_GetColumnCount($hGUI_tab_listview[0][0]) - 1
          ; 1. get subitem text:
          Local $iSubItmText = _GUICtrlListView_GetItemText($hGUI_tab_listview[0][0], $itmID, $i)
          ; If $iSubItmText = "" Then ContinueLoop ;ConsoleWrite("hier")
          ; 2. get subitem coordinates for drawing its respective text
          Local $aSubItmRect = _GUICtrlListView_GetSubItemRect($hGUI_tab_listview[0][0], $itmID, $i)
          ; the function above accepts not only subitems (one-based index), but also main item (index=0)
          ; 3. pass the coordinates to a DLL struct
          Local $iSubItmRect = DllStructCreate("long[4]")
          DllStructSetData($iSubItmRect, 1, $aSubItmRect[0] + 6, 1) ; +6 is left margin (X)
          DllStructSetData($iSubItmRect, 1, $aSubItmRect[1] + (-2), 2) ; + (-2) is upper margin (Y)
          DllStructSetData($iSubItmRect, 1, $aSubItmRect[2], 3)
          DllStructSetData($iSubItmRect, 1, $aSubItmRect[3], 4)
          _WinAPI_SetTextColor($hDC, $COLOR_RED)

          DllCall("user32.dll", "int", "DrawTextW", "hwnd", $hDC, "wstr", $iSubItmText, "int", StringLen($iSubItmText), _
            "ptr", DllStructGetPtr($iSubItmRect), "int", $local_alignment)
         Next
         ;#ce
       EndSwitch
    EndSwitch
Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_DRAWITEM
Note: See TracQuery for help on using queries.