Jump to content

mLipok

MVPs
  • Posts

    11,605
  • Joined

  • Last visited

  • Days Won

    61

mLipok last won the day on September 13 2025

mLipok had the most liked content!

About mLipok

  • Birthday 07/19/1978

Profile Information

  • Member Title
    I'm nitpicky sometimes.
  • Location
    Europe, Poland, Upper Silesia, Zabrze
  • Interests
    ¯\_(ツ)_/¯

Recent Profile Visitors

28,538 profile views

mLipok's Achievements

  1. After some additionall work at: Here is my finall EXAMPLE proposal: #include <GUIConstants.au3> #include <GuiListView.au3> Global $_hGUI = 0, $_hListView = 00 Example() Func Example() $_hGUI = GUICreate("Example") Local $idListview = GUICtrlCreateListView("", 10, 10, 350, 200) $_hListView = ControlGetHandle($_hGUI, '', $idListview) GUISetState() GUIRegisterMsg($WM_NOTIFY, WM_NOTIFY) _GUICtrlListView_AddColumn($idListview, "Column 0", 100) _GUICtrlListView_AddColumn($idListview, "Column 1", 100) _GUICtrlListView_AddItem($idListview, "Row 0: Col 0", 0) _GUICtrlListView_AddSubItem($idListview, 0, "Row 0: Col 1", 1) _GUICtrlListView_AddItem($idListview, "Row 1: Col 0", 1) _GUICtrlListView_AddSubItem($idListview, 1, "Row 1: Col 1", 1) _GUICtrlListView_AddItem($idListview, "Row 2: Col 0", 2) _GUICtrlListView_EnableGroupView($idListview) _GUICtrlListView_InsertGroup($idListview, -1, 1, "Test 1") _GUICtrlListView_InsertGroup($idListview, -1, 2, "Test 2") _GUICtrlListView_SetItemGroupID($idListview, 0, 1) _GUICtrlListView_SetItemGroupID($idListview, 1, 1) _GUICtrlListView_SetItemGroupID($idListview, 2, 2) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE EndFunc ;==>Example Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam) #forceref $iMsg, $wParam If $hWnd = $_hGUI Then ; check if Our GUI - in case you create multiple GUI - Window Local $tItem = DllStructCreate($tagNMLVCUSTOMDRAW, $lParam) If $tItem.hWndFrom = $_hListView Then ; check if our ListView - in case you have few ListView on the same GUI - Window Local $iItemSpec = $tItem.dwItemSpec ; ItemIndex for "RowElement", GroupID for "GroupElement" If $iItemSpec >= 0 And $tItem.Code = $NM_CUSTOMDRAW And $tItem.dwItemType = $LVCDI_GROUP And $tItem.dwDrawStage = $CDDS_PREPAINT Then Local $tRect = DllStructCreate($tagRECT, DllStructGetPtr($tItem, "left")) $tRect.bottom = $tRect.top + 18 Local $hBrush = _WinAPI_CreateSolidBrush(0) _WinAPI_FillRect($tItem.HDC, $tRect, $hBrush) _WinAPI_DeleteObject($hBrush) Local $hPen = _WinAPI_CreatePen($PS_SOLID, 1, _WinAPI_SwitchColor(0xFF0000)) ; RGB to BGR Local $oOrig = _WinAPI_SelectObject($tItem.HDC, $hPen) _WinAPI_DrawLine($tItem.HDC, $tRect.left + 5, $tRect.top + 8, $tRect.right - 5, $tRect.top + 8) _WinAPI_SelectObject($tItem.HDC, $oOrig) _WinAPI_DeleteObject($hPen) Local $aGroup = _GUICtrlListView_GetGroupInfo($tItem.hWndFrom, $iItemSpec) _WinAPI_SetBkColor($tItem.HDC, _WinAPI_SwitchColor(0x55AAFF)) ; RGB to BGR _WinAPI_SetBkMode($tItem.HDC, $OPAQUE) _WinAPI_SetTextColor($tItem.HDC, _WinAPI_SwitchColor(0x0000FF)) ; RGB to BGR $tRect.left += 20 _WinAPI_DrawText($tItem.HDC, " " & $aGroup[0] & " ", $tRect, $DT_LEFT) Return $CDRF_SKIPDEFAULT EndIf EndIf EndIf EndFunc ;==>WM_NOTIFY
  2. Exactly. And here is finally working script. ;~ https://www.autoitscript.com/forum/topic/213384-_guictrllistview_insertgroup-a-question-about-iindex-and-igroupid-paramater/#findComment-1548917 #include <Color.au3> #include <GUIConstants.au3> #include <GuiListView.au3> Global $b_TEST = False Example() Func Example() GUICreate("Example") Local $idListview = GUICtrlCreateListView("", 10, 10, 350, 200) GUISetState() GUIRegisterMsg($WM_NOTIFY, WM_NOTIFY) _GUICtrlListView_AddColumn($idListview, "Column 0", 100) _GUICtrlListView_AddColumn($idListview, "Column 1", 100) _GUICtrlListView_AddItem($idListview, "Row 0: Col 0", 0) _GUICtrlListView_AddSubItem($idListview, 0, "Row 0: Col 1", 1) _GUICtrlListView_AddItem($idListview, "Row 1: Col 0", 1) _GUICtrlListView_AddSubItem($idListview, 1, "Row 1: Col 1", 1) _GUICtrlListView_AddItem($idListview, "Row 2: Col 0", 2) _GUICtrlListView_EnableGroupView($idListview) $b_TEST = False _GUICtrlListView_InsertGroup($idListview, -1, 0, "$iGroupID=0") _GUICtrlListView_InsertGroup($idListview, -1, 1, "$iGroupID=1") _GUICtrlListView_InsertGroup($idListview, -1, 2, "$iGroupID=2") _GUICtrlListView_SetItemGroupID($idListview, 0, 0) _GUICtrlListView_SetItemGroupID($idListview, 1, 1) _GUICtrlListView_SetItemGroupID($idListview, 2, 2) Sleep(100) ConsoleWrite(@ScriptLineNumber & ' GroupID of first ROW = ' & _GUICtrlListView_GetItemGroupID($idListview, 0) & @CRLF) ConsoleWrite('CASE 1 END' & @CRLF & @CRLF) MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'CASE 1 : ' & $b_TEST) _GUICtrlListView_RemoveAllGroups($idListview) ConsoleWrite('CASE 2 AFTER REMOVE' & @CRLF) $b_TEST = True _GUICtrlListView_InsertGroup($idListview, -1, 0, "$iGroupID=0") _GUICtrlListView_InsertGroup($idListview, -1, 1, "$iGroupID=1") _GUICtrlListView_InsertGroup($idListview, -1, 2, "$iGroupID=2") _GUICtrlListView_SetItemGroupID($idListview, 0, 0) _GUICtrlListView_SetItemGroupID($idListview, 1, 1) _GUICtrlListView_SetItemGroupID($idListview, 2, 2) Sleep(100) ConsoleWrite(@ScriptLineNumber & ' GroupID of first ROW = ' & _GUICtrlListView_GetItemGroupID($idListview, 0) & @CRLF) ConsoleWrite('CASE 2 END' & @CRLF & @CRLF) MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'CASE 2 : ' & $b_TEST) _GUICtrlListView_RemoveAllGroups($idListview) ConsoleWrite('CASE 3 AFTER REMOVE' & @CRLF) $b_TEST = True _GUICtrlListView_InsertGroup($idListview, -1, 1, "$iGroupID=0") _GUICtrlListView_InsertGroup($idListview, -1, 2, "$iGroupID=1") _GUICtrlListView_InsertGroup($idListview, -1, 3, "$iGroupID=2") _GUICtrlListView_SetItemGroupID($idListview, 0, 1) _GUICtrlListView_SetItemGroupID($idListview, 1, 2) _GUICtrlListView_SetItemGroupID($idListview, 2, 3) Sleep(100) ConsoleWrite(@ScriptLineNumber & ' GroupID of first ROW = ' & _GUICtrlListView_GetItemGroupID($idListview, 0) & @CRLF) ConsoleWrite('CASE 3 END' & @CRLF & @CRLF) MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'CASE 3 : ' & $b_TEST) _GUICtrlListView_RemoveAllGroups($idListview) ConsoleWrite(@ScriptLineNumber & ' GroupID of first ROW = ' & _GUICtrlListView_GetItemGroupID($idListview, 0) & @CRLF) EndFunc ;==>Example Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $wParam Local $tItem = DllStructCreate($tagNMLVCUSTOMDRAW, $lParam) Local $iItemSpec = $tItem.dwItemSpec ; Item index for Row element but GroupID for Group element If $b_TEST And $iItemSpec >= 0 And _WinAPI_GetClassName($tItem.hWndFrom) = "SysListView32" And $tItem.Code = $NM_CUSTOMDRAW And $tItem.dwItemType = $LVCDI_GROUP And $tItem.dwDrawStage = $CDDS_PREPAINT Then ConsoleWrite('$iItemSpec = ' & $iItemSpec & @CRLF) Local $aGroup = _GUICtrlListView_GetGroupInfo($tItem.hWndFrom, $iItemSpec) _WinAPI_SetBkColor($tItem.HDC, _WinAPI_SwitchColor(0xAAAAA0)) _WinAPI_SetBkMode($tItem.HDC, $OPAQUE) _WinAPI_SetTextColor($tItem.HDC, _WinAPI_SwitchColor(0xAA0000)) Local $tRect = DllStructCreate($tagRECT, DllStructGetPtr($tItem, "left")) _WinAPI_DrawText($tItem.HDC, $aGroup[0], $tRect, $DT_LEFT) Return $CDRF_SKIPDEFAULT EndIf EndFunc ;==>WM_NOTIFY
  3. So far I have this repro for testing: ;~ https://www.autoitscript.com/forum/topic/213384-_guictrllistview_insertgroup-a-question-about-iindex-and-igroupid-paramater/#findComment-1548917 #include <Color.au3> #include <GUIConstants.au3> #include <GuiListView.au3> Global $b_TEST = False Example() Func Example() GUICreate("Example") Local $idListview = GUICtrlCreateListView("", 10, 10, 350, 200) GUISetState() GUIRegisterMsg($WM_NOTIFY, WM_NOTIFY) _GUICtrlListView_AddColumn($idListview, "Column 0", 100) _GUICtrlListView_AddColumn($idListview, "Column 1", 100) _GUICtrlListView_AddItem($idListview, "Row 0: Col 0", 0) _GUICtrlListView_AddSubItem($idListview, 0, "Row 0: Col 1", 1) _GUICtrlListView_AddItem($idListview, "Row 1: Col 0", 1) _GUICtrlListView_AddSubItem($idListview, 1, "Row 1: Col 1", 1) _GUICtrlListView_AddItem($idListview, "Row 2: Col 0", 2) _GUICtrlListView_EnableGroupView($idListview) $b_TEST = False _GUICtrlListView_InsertGroup($idListview, -1, 0, "$iGroupID=0") _GUICtrlListView_InsertGroup($idListview, -1, 1, "$iGroupID=1") _GUICtrlListView_InsertGroup($idListview, -1, 2, "$iGroupID=2") _GUICtrlListView_SetItemGroupID($idListview, 0, 0) _GUICtrlListView_SetItemGroupID($idListview, 1, 1) _GUICtrlListView_SetItemGroupID($idListview, 2, 2) Sleep(100) ConsoleWrite(@ScriptLineNumber & ' GroupID of first ROW = ' & _GUICtrlListView_GetItemGroupID($idListview, 0) & @CRLF) ConsoleWrite('CASE 1 END' & @CRLF & @CRLF) MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'CASE 1 : ' & $b_TEST) _GUICtrlListView_RemoveAllGroups($idListview) ConsoleWrite('CASE 2 AFTER REMOVE' & @CRLF) $b_TEST = True _GUICtrlListView_InsertGroup($idListview, -1, 0, "$iGroupID=0") _GUICtrlListView_InsertGroup($idListview, -1, 1, "$iGroupID=1") _GUICtrlListView_InsertGroup($idListview, -1, 2, "$iGroupID=2") _GUICtrlListView_SetItemGroupID($idListview, 0, 0) _GUICtrlListView_SetItemGroupID($idListview, 1, 1) _GUICtrlListView_SetItemGroupID($idListview, 2, 2) Sleep(100) ConsoleWrite(@ScriptLineNumber & ' GroupID of first ROW = ' & _GUICtrlListView_GetItemGroupID($idListview, 0) & @CRLF) ConsoleWrite('CASE 2 END' & @CRLF & @CRLF) MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'CASE 2 : ' & $b_TEST) _GUICtrlListView_RemoveAllGroups($idListview) ConsoleWrite('CASE 3 AFTER REMOVE' & @CRLF) $b_TEST = True _GUICtrlListView_InsertGroup($idListview, -1, 1, "$iGroupID=0") _GUICtrlListView_InsertGroup($idListview, -1, 2, "$iGroupID=1") _GUICtrlListView_InsertGroup($idListview, -1, 3, "$iGroupID=2") _GUICtrlListView_SetItemGroupID($idListview, 0, 1) _GUICtrlListView_SetItemGroupID($idListview, 1, 2) _GUICtrlListView_SetItemGroupID($idListview, 2, 3) Sleep(100) ConsoleWrite(@ScriptLineNumber & ' GroupID of first ROW = ' & _GUICtrlListView_GetItemGroupID($idListview, 0) & @CRLF) ConsoleWrite('CASE 3 END' & @CRLF & @CRLF) MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'CASE 3 : ' & $b_TEST) _GUICtrlListView_RemoveAllGroups($idListview) ConsoleWrite(@ScriptLineNumber & ' GroupID of first ROW = ' & _GUICtrlListView_GetItemGroupID($idListview, 0) & @CRLF) EndFunc ;==>Example Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $wParam Local $tItem = DllStructCreate($tagNMLVCUSTOMDRAW, $lParam) Local $iItem = $tItem.dwItemSpec - 1 ; Item index If $b_TEST And $iItem >= 0 And _WinAPI_GetClassName($tItem.hWndFrom) = "SysListView32" And $tItem.Code = $NM_CUSTOMDRAW And $tItem.dwItemType = $LVCDI_GROUP And $tItem.dwDrawStage = $CDDS_PREPAINT Then ConsoleWrite('$iItem = ' & $iItem & @CRLF) Local $aGroup = _GUICtrlListView_GetGroupInfoByIndex($tItem.hWndFrom, $iItem) _WinAPI_SetBkColor($tItem.HDC, _WinAPI_SwitchColor(0xAAAAA0)) _WinAPI_SetBkMode($tItem.HDC, $OPAQUE) _WinAPI_SetTextColor($tItem.HDC, _WinAPI_SwitchColor(0xAA0000)) Local $tRect = DllStructCreate($tagRECT, DllStructGetPtr($tItem, "left")) _WinAPI_DrawText($tItem.HDC, $aGroup[0], $tRect, $DT_LEFT) Return $CDRF_SKIPDEFAULT EndIf EndFunc ;==>WM_NOTIFY Will keep diging.
  4. oops mistake, there is mask $LVIF_STATE: DllStructSetData($tItem, "Mask", $LVIF_STATE) DllStructSetData($tItem, "Item", 1) DllStructSetData($tItem, "StateMask", -1) _GUICtrlListView_GetItemEx($idListview, $tItem) MsgBox($MB_SYSTEMMODAL, "Information", "Item 1 GroupID: " & DllStructGetData($tItem, "GroupID")) Thus I get 0
  5. I just tried _GUICtrlListView_GetItemEx.au3 with little mod: #include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <MsgBoxConstants.au3> #include <StructureConstants.au3> Example() Func Example() GUICreate("ListView Get/Set Item Ex (v" & @AutoItVersion & ")S", 400, 300) Local $idListview = GUICtrlCreateListView("", 2, 2, 394, 268) GUISetState(@SW_SHOW) ; Set ANSI format ;~ _GUICtrlListView_SetUnicodeFormat($idListview, False) ; Add columns _GUICtrlListView_AddColumn($idListview, "Items", 100) ; Add items GUICtrlCreateListViewItem("Item 0", $idListview) GUICtrlCreateListViewItem("Item 1", $idListview) GUICtrlCreateListViewItem("Item 2", $idListview) ; Show item 1 raw state Local $tItem = DllStructCreate($tagLVITEM) DllStructSetData($tItem, "Mask", $LVIF_STATE) DllStructSetData($tItem, "Item", 1) DllStructSetData($tItem, "StateMask", -1) _GUICtrlListView_GetItemEx($idListview, $tItem) MsgBox($MB_SYSTEMMODAL, "Information", "Item 1 GroupID: " & DllStructGetData($tItem, "GroupID")) ; Change item 1 MsgBox($MB_SYSTEMMODAL, "Information", "Changing item 1") Local $tText If _GUICtrlListView_GetUnicodeFormat($idListview) Then $tText = DllStructCreate("wchar Text[11]") Else $tText = DllStructCreate("char Text[11]") EndIf $tItem = DllStructCreate($tagLVITEM) DllStructSetData($tText, "Text", "New Item 1") DllStructSetData($tItem, "Mask", $LVIF_TEXT) DllStructSetData($tItem, "Item", 1) DllStructSetData($tItem, "Text", DllStructGetPtr($tText)) _GUICtrlListView_SetItemEx($idListview, $tItem) ; Loop until the user exits. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example just changed: ; from MsgBox($MB_SYSTEMMODAL, "Information", "Item 1 State: " & DllStructGetData($tItem, "State")) ; to MsgBox($MB_SYSTEMMODAL, "Information", "Item 1 GroupID: " & DllStructGetData($tItem, "GroupID")) and you know what GroupID if UNSET it is =0 So GroupID is 1-based btw. just as a reference uses: LVM_GETGROUPINFOBYINDEX uses: LVM_GETGROUPINFO
  6. @Jos I've been noticing issue with CTRL + J for a long time, today I noticed the cause. Description: Using CTRL+J multiple times for the same function always opens a new document window, instead of switching to the window that was already open. STEP BY STEP PROCEDURE: open FileWrite.au3 example move cursor to _WinAPI_GetTempFileName() use CTRL + J switch back to FileWrite.au3 use CTRL + J on focused _WinAPI_GetTempFileName() it open a new window instance in SciTE editor instead using that one which was opened after first CTRL + J usage.
  7. I start to wonder also what $iGroupID parameter is. Also why in some cases $iGroupID =0 is wrong choices as I hit some issues with using @Nine awesome code : Here is my repro for the issue : #include <Color.au3> #include <GUIConstants.au3> #include <GuiListView.au3> Global $b_TEST = False Example() Func Example() GUICreate("Example") Local $idListview = GUICtrlCreateListView("", 10, 10, 350, 200) GUISetState() GUIRegisterMsg($WM_NOTIFY, WM_NOTIFY) _GUICtrlListView_AddColumn($idListview, "Column 0", 100) _GUICtrlListView_AddColumn($idListview, "Column 1", 100) _GUICtrlListView_AddItem($idListview, "Row 0: Col 0", 0) _GUICtrlListView_AddSubItem($idListview, 0, "Row 0: Col 1", 1) _GUICtrlListView_AddItem($idListview, "Row 1: Col 0", 1) _GUICtrlListView_AddSubItem($idListview, 1, "Row 1: Col 1", 1) _GUICtrlListView_AddItem($idListview, "Row 2: Col 0", 2) _GUICtrlListView_EnableGroupView($idListview) $b_TEST = False _GUICtrlListView_InsertGroup($idListview, -1, 0, "$iGroupID=0") _GUICtrlListView_InsertGroup($idListview, -1, 1, "$iGroupID=1") _GUICtrlListView_InsertGroup($idListview, -1, 2, "$iGroupID=2") _GUICtrlListView_SetItemGroupID($idListview, 0, 0) _GUICtrlListView_SetItemGroupID($idListview, 1, 1) _GUICtrlListView_SetItemGroupID($idListview, 2, 2) MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'CASE 1 : ' & $b_TEST) _GUICtrlListView_RemoveAllGroups($idListview) $b_TEST = True _GUICtrlListView_InsertGroup($idListview, -1, 0, "$iGroupID=0") _GUICtrlListView_InsertGroup($idListview, -1, 1, "$iGroupID=1") _GUICtrlListView_InsertGroup($idListview, -1, 2, "$iGroupID=2") _GUICtrlListView_SetItemGroupID($idListview, 0, 0) _GUICtrlListView_SetItemGroupID($idListview, 1, 1) _GUICtrlListView_SetItemGroupID($idListview, 2, 2) MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'CASE 2 : ' & $b_TEST) _GUICtrlListView_RemoveAllGroups($idListview) $b_TEST = True _GUICtrlListView_InsertGroup($idListview, -1, 1, "$iGroupID=0") _GUICtrlListView_InsertGroup($idListview, -1, 2, "$iGroupID=1") _GUICtrlListView_InsertGroup($idListview, -1, 3, "$iGroupID=2") _GUICtrlListView_SetItemGroupID($idListview, 0, 1) _GUICtrlListView_SetItemGroupID($idListview, 1, 2) _GUICtrlListView_SetItemGroupID($idListview, 2, 3) MsgBox($MB_TOPMOST, "TEST #" & @ScriptLineNumber, 'CASE 3 : ' & $b_TEST) EndFunc ;==>Example Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $wParam Local $tItem = DllStructCreate($tagNMLVCUSTOMDRAW, $lParam) Local $iItem = $tItem.dwItemSpec - 1 ; Item index If $b_TEST And $iItem >= 0 And _WinAPI_GetClassName($tItem.hWndFrom) = "SysListView32" And $tItem.Code = $NM_CUSTOMDRAW And $tItem.dwItemType = $LVCDI_GROUP And $tItem.dwDrawStage = $CDDS_PREPAINT Then ConsoleWrite($iItem & @CRLF) Local $aGroup = _GUICtrlListView_GetGroupInfoByIndex($tItem.hWndFrom, $iItem) _WinAPI_SetBkColor($tItem.HDC, _WinAPI_SwitchColor(0xAAAAA0)) _WinAPI_SetBkMode($tItem.HDC, $OPAQUE) _WinAPI_SetTextColor($tItem.HDC, _WinAPI_SwitchColor(0xAA0000)) Local $tRect = DllStructCreate($tagRECT, DllStructGetPtr($tItem, "left")) _WinAPI_DrawText($tItem.HDC, $aGroup[0], $tRect, $DT_LEFT) Return $CDRF_SKIPDEFAULT EndIf EndFunc ;==>WM_NOTIFY And the question is: Why "CASE 2" doesn't show the group header "$iGroupID=2" ?
  8. You should take a look for UIA :
  9. @Nine your code works well. I stick with: If _WinAPI_GetClassName($tItem.hWndFrom) = "SysListView32" And $tItem.Code = $NM_CUSTOMDRAW And $tItem.dwItemType = $LVCDI_GROUP And $tItem.dwDrawStage = $CDDS_PREPAINT Then $tRect = DllStructCreate($tagRECT, DllStructGetPtr($tItem, "left")) Local $aGroup2 = _GUICtrlListView_GetGroupInfoByIndex($tItem.hWndFrom, $tItem.dwItemSpec - 1) _WinAPI_SetBkColor($tItem.HDC, 0x0AAAA0) _WinAPI_SetBkMode($tItem.HDC, $OPAQUE) ;~ _WinAPI_SetTextColor($tItem.HDC, 0xB40000) _WinAPI_SetTextColor($tItem.HDC, 0x0) _WinAPI_DrawText($tItem.HDC, " " & $aGroup2[0] & " ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────", $tRect, $DT_LEFT) Return $CDRF_SKIPDEFAULT EndIf but the color on listview differs from MsPaint colors. Why is there a difference?
  10. I was planning to work on it a bit and propose something more tailored to HelpFile's needs, but I wanted to use your code as a base, and that's what I was asking about. I apologize for not being as specific as possible earlier.
  11. oh I see it is here: @prutser try this: Func _PPT_SlideNotesTextFrameSetText(ByRef $obj_pres, $amount, $obj_slide, $Text)     If IsObj($obj_pres) <> 1 Then         SetError(1)         Return 0     Else         $ShapeCount = _PPT_SlideShapeCount($obj_pres, $amount)         _Debugprint("Shapes: " & $Shapecount & ". SlideNote op dia " & $amount & " " & $Text)         Local $oSlides = $obj_pres.Slides($amount) If @error Then Return SetError(@error, @extended, 0) Local $oNotesPage = $oSlides.NotesPage If @error Then Return SetError(@error, @extended, 0) Local $oShape2 = $oNotesPage.Shapes(2) If @error Then Return SetError(@error, @extended, 0) Local $oTextFrame = $oShape2.TextFrame If @error Then Return SetError(@error, @extended, 0) Local Local $oTextRange = $oTextFrame.TextRange If @error Then Return SetError(@error, @extended, 0) $oTextRange.Text = $Text If @error Then Return SetError(@error, @extended, 0)     Endif EndFunc
  12. Today I notice this awesome UDF and example from: https://www.autoitscript.com/forum/topic/139260-autoit-snippets/page/28/#findComment-1548852 @UEZ Is there new version or topic link ? https://autoit.de/thread/45155-direct2d-udf/
  13. @water do you mean this ? if so then I'm confused because of this: I start wondering: am I blind or just tired ? I just did a fresh download and I do not see such line: $obj_pres.Slides($amount).NotesPage.Shapes(2).TextFrame.TextRange.Text = $Text in PowerPoint.au3
  14. @UEZ Do you have any link to a list of supported emoji ? Could you extend this example by making mask for this emoji which will act as a clickable area ? Thank you in advance
  15. Could this also include the current changelog? It might not be important to me because I can see it directly in SVN, but I think people without direct access to SVN would be interested in this.
×
×
  • Create New...