找回密码
 加入
搜索
楼主: h111666b

[AU3基础] 【已解决】GUICtrlCreateListView 标签对齐问题

[复制链接]
发表于 2023-8-14 18:46:52 | 显示全部楼层
本帖最后由 chzj589 于 2023-8-14 18:55 编辑
h111666b 发表于 2023-8-14 18:36
1:1  F1     503T      798  重量   5000      公斤
1:1  F1     470T      798  重量   4730      公 ...

cc.ini文件
1:1 | F1|503T|798 | 重量|5000|公斤
1:1 | F1|470T|798 | 重量|4730|公斤
1:1 | F1|200T|798 | 重量|2555|公斤
1:1 | F1|13T |798 | 重量|1458|公斤
1:1 | F1|805T|798 | 重量|9210|公斤
1:1 | F1|503T|798 | 重量|5000|公斤
1:1 | F1|470T|798 | 重量|4730|公斤
1:1 | F1|200T|798 | 重量|2555|公斤
1:1 | F1|13T |798 | 重量|1458|公斤
1:1 | F1|805T|798 | 重量|9210|公斤
1:1 | F1|503T|798 | 重量|5000|公斤
1:1 | F1|470T|798 | 重量|4730|公斤
1:1 | F1|200T|798 | 重量|2555|公斤
1:1 | F1|13T |798 | 重量|1458|公斤
1:1 | F1|805T|798 | 重量|9210|公斤

#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <file.au3>
Local $txt_array1, $y = 0, $z = 0
; 创建GUI窗口
Local $hGUI = GUICreate("ListView Example", 440, 500)
; 创建ListView控件
Local $hListView = GUICtrlCreateListView("id|比例|出错|TT |数据 |载重|数据 |重量", 10, 10, 420, 480, BitOR($LVS_REPORT, $LVS_SHOWSELALWAYS))
$hListView1 = GUICtrlGetHandle($hListView)
;GUICtrlSetBkColor(-1, $CLR_MONEYGREEN);0xC0C0C0); 背景色
GUICtrlSetBkColor(-1, 0xC0E0FF)
;GUICtrlSetColor(-1, 0x990000)
GUICtrlSetFont(-1, 9, 400, 0, 'Arial');"微软雅黑")
; 设置颜色
_GUICtrlListView_SetBkColor($hListView, 14675183);$CLR_MONEYGREEN)
_GUICtrlListView_RegisterSortCallBack($hListView)
$hImage = _GUIImageList_Create(1, 20)
_GUICtrlListView_SetImageList($hListView1, $hImage, 1)
_GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_INFOTIP))
GUISetState(@SW_SHOW, $hGUI)
_du()
While 1
 Switch GUIGetMsg()
  Case $GUI_EVENT_CLOSE
   ExitLoop
 EndSwitch
WEnd
GUIDelete()
Func _du()
 _FileReadToArray('cc.ini', $txt_array1)
 Local $txt_array[UBound($txt_array1)][8]
 For $i = 0 To UBound($txt_array) - 1
  Local $aInfo = StringSplit($txt_array1[$y], "|")
  For $ii = 1 To $aInfo[0]
   $txt_array[$i][0] = $y
   $txt_array[$i][$ii] = $aInfo[$ii];& "|"
   $z = $i
  Next
  $y += 1
 Next
 _ArrayDelete($txt_array, 0)
 ;_ArrayDisplay($txt_array, "2D 数组") ; 显示当前数组.
 Global $eExcelArray3[$z][8]
 $eExcelArraya = _ArrayTo2D($txt_array, 1)
 For $n = 0 To UBound($eExcelArraya) - 1
  For $i = 0 To UBound($eExcelArraya, 2) - 1
   $eExcelArray3[$n][$i] = $eExcelArraya[$n][$i]
  Next
 Next
 ;_ArrayDisplay($eExcelArray3, "2D 数组");"整行查询   ", "", "64")
 GUICtrlSendMsg($hListView, $LVM_DELETEALLITEMS, 0, 0)
 ; 将分割的项目写入到ListView控件的标签中
 _GUICtrlListView_AddArray($hListView, $eExcelArray3)
 ;_ArrayDisplay($eExcelArray3, "2D 数组", "", "64")
EndFunc   ;==>_du
Func _ArrayTo2D($array, $iNum = 2)
 If Mod(UBound($array), $iNum) Or (Not IsArray($array)) Or UBound($array, 2) Then Return SetError(1, 0, $array)
 Local $aRet[UBound($array) / $iNum][$iNum]
 For $i = 0 To UBound($array) - 1
  $aRet[Int($i / $iNum)][Mod($i, $iNum)] = $array[$i]
 Next
 Return $aRet
EndFunc   ;==>_ArrayTo2D





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2023-8-14 18:55:17 | 显示全部楼层
chzj589 发表于 2023-8-14 18:46
cc.ini文件
1:1 | F1|503T|798 | 重量|5000|公斤
1:1 | F1|470T|798 | 重量|4730|公斤

老大强悍,完美解决了,感谢!
 楼主| 发表于 2023-8-14 20:08:53 | 显示全部楼层
本帖最后由 h111666b 于 2023-8-14 20:11 编辑

老大,我从隔壁论坛下载了一个检测硬盘的插件,得到信息跟我之前需要的信息有点类似,但是不用写入文件,可以直接从数据流读取,能实现之前的格式吗?
 楼主| 发表于 2023-8-14 21:46:10 | 显示全部楼层
已经参考楼上代码完美解决,再次感谢楼上各位老大!
发表于 2023-8-15 14:04:13 | 显示全部楼层
h111666b 发表于 2023-8-14 21:46
已经参考楼上代码完美解决,再次感谢楼上各位老大!



获取数据直接读取,不用写入INI文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2023-8-15 14:30:44 | 显示全部楼层
以上标签内列表项,当点击数据行时鼠标有高亮效果,点击空白行或者标签内其它空白位置时鼠标会失去高亮效果,怎么设置鼠标点击点击空白行或者标签内其它空白位置时鼠标高亮效果不变
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-2 16:36 , Processed in 0.069618 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表