Muchas gracias Ximo, para mi pregunta anda perfecto, pero ahora tengo un efecto no deseado ^^. Vamos por parte.
Cito:
Código: Seleccionar todo
Y resulta que "SysListView321" es a piñón fijo el primer Listview del GUI, pero resulta que ese es $Listview_Pueblos, que no tiene nada seleccionado, así que te sacará una cadena vacía
1) Con respecto a esto, ¿Como me iba a imaginar q "SysListView321" es el primer listview?
2) Me decis que q esto "SysListView321" corresponde al primer listview del GUI, ¿primer listview que se crea o el primero de arriba para abajo? Porque "$Listview_Pueblos" se crea ultimo, pero es el primero de los dos.
Ahora resulta que tengo un problema, te paso el code de nuevo.
Fijate lo q pasa con el _Arraydisplay desp que hago 2 clic en un item del listview.
Código: Seleccionar todo
#include <IE.au3>
#include <String.au3>
#include <Array.au3>
#include <GuiRichEdit.au3>
#include <GDIPlus.au3>
#include <GuiConstantsEx.au3>
#include <File.au3>
#include <ListviewConstants.au3>
#include <GuiListView.au3>
#include <GUIConstantsEx.au3>
#include <GuiTab.au3>
#include <WindowsConstants.au3>
Global $GUI, $Listview, $Dir_TXT = @ScriptDir & "\Archivo.txt"
_GUI()
Func _Crear_ListView()
$Styles = $LVS_SINGLESEL
$exStyles = $LVS_EX_CHECKBOXES + $LVS_EX_FULLROWSELECT + $LVS_EX_GRIDLINES
; ====== Agregar ====== ;
$Listview = GUICtrlCreateListView("Columna 1|Columna 2|Columna 3|Columna 4|Columna 5", 25, 280, 310, 225, -1, $exStyles)
_GUICtrlListView_JustifyColumn($Listview, 0, 2)
_GUICtrlListView_JustifyColumn($Listview, 1, 2)
_GUICtrlListView_JustifyColumn($Listview, 2, 2)
_GUICtrlListView_JustifyColumn($Listview, 3, 2)
_GUICtrlListView_JustifyColumn($Listview, 4, 2)
; ====== ;
; ====== ;
$Listview_Pueblos = GUICtrlCreateListView("Columna 1|Columna 2|Columna 3|Columna 4|Columna 5|Columna 6", 25, 45, 310, 225, -1, $LVS_EX_FULLROWSELECT + $LVS_EX_GRIDLINES)
_GUICtrlListView_JustifyColumn($Listview_Pueblos, 0, 2)
_GUICtrlListView_JustifyColumn($Listview_Pueblos, 1, 2)
_GUICtrlListView_JustifyColumn($Listview_Pueblos, 2, 2)
_GUICtrlListView_JustifyColumn($Listview_Pueblos, 3, 2)
_GUICtrlListView_JustifyColumn($Listview_Pueblos, 4, 2)
_GUICtrlListView_JustifyColumn($Listview_Pueblos, 5, 2)
; ====== ;
EndFunc ;==>_Crear_ListView
Func _GUI()
$Ancho_GUI = 800
$Alto_GUI = 600
$GUI = GUICreate("Probando ...", $Ancho_GUI, $Alto_GUI)
GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY")
$Tab = GUICtrlCreateTab(10, 10, $Ancho_GUI - 20, $Alto_GUI - 80)
GUICtrlCreateTabItem("Web")
_GUICtrlTab_SetBkColor($GUI, $Tab, 0xc3d7fb)
$oIE = _IECreateEmbedded()
$GUIActiveX = GUICtrlCreateObj($oIE, 20, 40, $Ancho_GUI - 40, $Alto_GUI - 120)
$Tab_AP = GUICtrlCreateTabItem("Agregar")
_Crear_ListView()
GUICtrlCreateTabItem("")
_Cargar()
GUISetState()
While 1
Sleep(10)
Switch GUIGetMsg()
Case -3
Exit
EndSwitch
WEnd
EndFunc ;==>_GUI
Func _GUICtrlTab_SetBkColor($hWnd, $hSysTab32, $sBkColor)
Local $aTabPos = ControlGetPos($hWnd, "", $hSysTab32)
Local $aTab_Rect = _GUICtrlTab_GetItemRect($hSysTab32, -1)
GUICtrlCreateLabel("", $aTabPos[0] + 2, $aTabPos[1] + $aTab_Rect[3] + 4, $aTabPos[2] - 6, $aTabPos[3] - $aTab_Rect[3] - 7)
GUICtrlSetBkColor(-1, $sBkColor)
GUICtrlSetState(-1, $GUI_DISABLE)
EndFunc ;==>_GUICtrlTab_SetBkColor
Func _WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)
#forceref $hWndGUI, $MsgID, $wParam
$tNMHDR = DllStructCreate($tagNMHDR, $lParam)
$hwndFrom = DllStructGetData($tNMHDR, "hWndFrom")
$idFrom = DllStructGetData($tNMHDR, "IDFrom")
$code = DllStructGetData($tNMHDR, "Code")
If Not IsHWnd($Listview) Then $hWndListView = GUICtrlGetHandle($Listview)
Switch $hwndFrom
Case $hWndListView
Switch $code
Case $NM_DBLCLK
;~ $ID = ControlListView($GUI, "", $hWndListView, "GetSelected", "")
$ID = _GUICtrlListView_GetNextItem($Listview)
;~ $ID = ControlListView($GUI, "", $hWndListView, "GetSelected", "")
$Item = _GUICtrlListView_GetItemTextString($Listview, $ID)
$Item = StringSplit($Item, "|", 2)
_ArrayDisplay($Item)
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_NOTIFY
Func _Cargar()
; El Archivo de texto que abre aca tiene en cada linea ciertos datos, separados por la barra "|"
_GUICtrlListView_DeleteAllItems($Listview)
$Cantidad_lineas = _FileCountLines($Dir_TXT)
$TXT = FileOpen($Dir_TXT)
For $a = 1 To $Cantidad_lineas
$Linea = FileReadLine($TXT)
GUICtrlCreateListViewItem($a & "|" & $Linea, $Listview)
Next
FileClose($TXT)
_GUICtrlListView_SetColumnWidth($Listview, 0, $LVSCW_AUTOSIZE_USEHEADER)
_GUICtrlListView_SetColumnWidth($Listview, 1, $LVSCW_AUTOSIZE_USEHEADER)
_GUICtrlListView_SetColumnWidth($Listview, 2, $LVSCW_AUTOSIZE_USEHEADER)
_GUICtrlListView_SetColumnWidth($Listview, 3, $LVSCW_AUTOSIZE_USEHEADER)
_GUICtrlListView_SetColumnWidth($Listview, 4, $LVSCW_AUTOSIZE_USEHEADER)
EndFunc ;==>_Cargar