smooth 发表于 2022-4-2 13:59:11

[已解决]Listview标题栏和第一行之间没有线,好难看,有什么办法解决么?

本帖最后由 smooth 于 2022-4-7 15:50 编辑

Listview标题栏和第一行之间没有线,如图。设置背景色插入列后,标题栏没有颜色。有什么办法让网格线画满,并且标题栏也涂上背景色呢?
样式、扩展样式和相关函数,都没有找到有关的设置。


chzj589 发表于 2022-4-2 15:13:38

是这种效果?


smooth 发表于 2022-4-2 15:40:22

本帖最后由 smooth 于 2022-4-2 15:43 编辑

chzj589 发表于 2022-4-2 15:13
是这种效果?
是的,你这个界面,很给力,如果没有用第三方插件,那真太强大了。源码能看一下吗?大佬。

smooth 发表于 2022-4-2 17:20:48

chzj589 发表于 2022-4-2 15:13
是这种效果?

我不是要你所有的源码,我想看看你这个Listview的表头怎么弄的,我的太丑了。

chishingchan 发表于 2022-4-2 17:37:19

模彷的不错!

邪恶海盗 发表于 2022-4-2 17:52:22

chzj589 发表于 2022-4-2 15:13
是这种效果?

这是个啥玩意, 看起来很牛屁的样子...

chzj589 发表于 2022-4-2 18:06:12

smooth 发表于 2022-4-2 17:20
我不是要你所有的源码,我想看看你这个Listview的表头怎么弄的,我的太丑了。



#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIListView.au3>
#NoTrayIcon
;#RequireAdmin
Opt("GUIOnEventMode", 1) ;开启事件模式
Opt("GUICloseOnESC", 0) ;关闭“按ESC”退出脚本的功能
Global $hGui = GUICreate("V2.9", 420, 416)
GUISetBkColor(0xE9E7E9);0xfbfcfd);0x007180);GUISetBkColor(0x008099)
Dim $hGui2 = GUICreate("", 410, 148, 4, 218, $WS_POPUP, 0x00000010 + 0x00000040 + 0x00000300, $hGui)
GUISetBkColor(0x008099)
DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)
Global $hMyGuiList = GUICtrlCreateListView("", 4, 5, 400, 136, BitOR($LVS_REPORT, $LVS_SHOWSELALWAYS))
GUICtrlSetBkColor(-1, 0xC0E0FF)
_GUICtrlListView_SetBkColor($hMyGuiList, 14675183)
_GUICtrlListView_AddColumn($hMyGuiList, "值", 60)
_GUICtrlListView_AddColumn($hMyGuiList, "域", 335)
$iStyle = BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $WS_EX_CLIENTEDGE, $LVS_EX_INFOTIP, $LVS_EX_SUBITEMIMAGES)
_GUICtrlListView_SetExtendedListViewStyle($hMyGuiList, $iStyle)
DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 7)
GUISetState(@SW_SHOW, $hGui2)
GUISetState(@SW_SHOW, $hGui)
GUISetOnEvent(-3, "_Exit")
_Key_GuiSetData()
While 1 ;主循环
        Sleep(10)
WEnd
Func _Key_GuiSetData()
        Global $aArrayList = [["状态", "$iDateCalc"], ["序列号", "StringStripWS($aArray, 8)"], ["持有者", "$aArray"], ["指纹", "StringStripWS(StringLower($aArray), 8)"], ["有效期", "从 2020/1/1至 2022/3/31"]]
        _GUICtrlListView_AddArray($hMyGuiList, $aArrayList)
EndFunc   ;==>_Key_GuiSetData
Func _Exit()
        Exit
EndFunc   ;==>_Exit


smooth 发表于 2022-4-2 19:32:52

chzj589 发表于 2022-4-2 18:06


谢谢大佬分享的资源

破帽遮颜 发表于 2022-4-3 16:46:04

赞,非常的漂亮,谢谢分享

skysmile 发表于 2022-4-5 10:39:23

DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)
也就这个dll改的
这个可以引申使用,比如Group标签,可以设置字体颜色,基本很多东西你感觉设置不成功的样式,可以用这个测试下

skysmile 发表于 2022-4-5 11:20:08

你也可以试试这个,也可以设置样式
_WinAPI_SetThemeAppProperties()

smooth 发表于 2022-4-5 17:48:57

skysmile 发表于 2022-4-5 10:39
DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)
也就这个dll改的
这个可以引申使用 ...

不知道具体的参数,咋设置呢

chzj589 发表于 2022-4-5 18:58:08

skysmile 发表于 2022-4-5 11:20
你也可以试试这个,也可以设置样式
_WinAPI_SetThemeAppProperties()

贊!又学了一招!

skysmile 发表于 2022-4-5 20:11:45

smooth 发表于 2022-4-5 17:48
不知道具体的参数,咋设置呢

_WinAPI_SetThemeAppProperties(0)
_WinAPI_SetThemeAppProperties(2)
可以反复使用,同一个窗口,可以设置不同的样式

chzj589 发表于 2022-4-5 20:34:02

本帖最后由 chzj589 于 2022-4-5 20:39 编辑

skysmile 发表于 2022-4-5 20:11
_WinAPI_SetThemeAppProperties(0)
_WinAPI_SetThemeAppProperties(2)
可以反复使用,同一个窗口,可以 ...
刚试了一下,
用_WinAPI_SetThemeAppProperties(0)或用_WinAPI_SetThemeAppProperties(0)
再用_WinAPI_SetThemeAppProperties(2)后,
下面的MsgBox(0, "消息", "点击:   " & $hA2)不能返回标准模式

页: [1] 2
查看完整版本: [已解决]Listview标题栏和第一行之间没有线,好难看,有什么办法解决么?