Is anyone know how to not resize the column of listview?

daixinhou 2006-01-24 12:24:09
Like title.
...全文
172 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
daixinhou 2006-01-24
  • 打赏
  • 举报
回复
Everybody,I help a peregrin friend,he don't know Chinese,can anyone solve this question?

Write in english if you can,thanks.
zyl910 2006-01-24
  • 打赏
  • 举报
回复
好像没有办法(挂子类后拦截鼠标消息那种办法不算)

其实可以将ListView的表头设为不可见(设置HideColumnHeaders属性),这样别人就能不能改变大小了
zyl910 2006-01-24
  • 打赏
  • 举报
回复
我MSDN上的英文都看得懂,可就是4级老过不了

楼主的意思是:如何使ListView的表头不能改变大小
proer9988 2006-01-24
  • 打赏
  • 举报
回复
是中国人的话在中文社区还是讲中文比较好。

现在的学生教育天天4,6级,中文都写不好了。。。
feiyun0112 2006-01-24
  • 打赏
  • 举报
回复
use HOOK

'form1
Private Sub Form_Load()
Dim li As ListItem
Dim lCount As Long

With ListView1.ListItems
For lCount = 1 To 100
Set li = .Add(, , lCount)
li.SubItems(1) = lCount
li.SubItems(2) = lCount
Next
End With

glLVDefWindowProc = SetWindowLong(ListView1.hwnd, GWL_WNDPROC, AddressOf LVWindowProc)

End Sub
Private Sub Form_Unload(Cancel As Integer)
If glLVDefWindowProc Then
SetWindowLong ListView1.hwnd, GWL_WNDPROC, glLVDefWindowProc
glLVDefWindowProc = 0
End If
End Sub

'Module1
Option Explicit
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function DefWindowProc Lib "user32.dll" Alias "DefWindowProcA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const GWL_WNDPROC = (-4)
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSource As Any, ByVal dwLength As Long)
Public Type NMHDR
hwndFrom As Long ' Window handle of control sending message
idFrom As Long ' Identifier of control sending message
code As Long ' Specifies the notification code
End Type
Public Type NMHEADER
hdr As NMHDR
iItem As Long
iButton As Long
pitem As Long
End Type
Public Const WM_NOTIFY& = &H4E
Public Const HDN_FIRST = -300&
Public Const HDN_LAST = -399&
Public Const HDN_ITEMCHANGINGA As Long = HDN_FIRST - 0
Public Const HDN_ITEMCHANGINGW As Long = HDN_FIRST - 20
Public Const HDN_ITEMCHANGEDA As Long = HDN_FIRST - 1
Public Const HDN_ITEMCHANGEDW As Long = HDN_FIRST - 21
Public Const HDN_ITEMCLICKA As Long = HDN_FIRST - 2
Public Const HDN_ITEMCLICKW As Long = HDN_FIRST - 22
Public Const HDN_ITEMDBLCLICKA As Long = HDN_FIRST - 3
Public Const HDN_ITEMDBLCLICKW As Long = HDN_FIRST - 23
Public Const HDN_DIVIDERDBLCLICKA As Long = HDN_FIRST - 5
Public Const HDN_DIVIDERDBLCLICKW As Long = HDN_FIRST - 25
Public Const HDN_BEGINTRACKA As Long = HDN_FIRST - 6
Public Const HDN_BEGINTRACKW As Long = HDN_FIRST - 26
Public Const HDN_ENDTRACKA As Long = HDN_FIRST - 7
Public Const HDN_ENDTRACKW As Long = HDN_FIRST - 27
Public Const HDN_TRACKA As Long = HDN_FIRST - 8
Public Const HDN_TRACKW As Long = HDN_FIRST - 28
Public Const HDN_GETDISPINFOA As Long = HDN_FIRST - 9
Public Const HDN_GETDISPINFOW As Long = HDN_FIRST - 29
Public Const HDN_BEGINDRAG As Long = HDN_FIRST - 10
Public Const HDN_ENDDRAG As Long = HDN_FIRST - 11
Public Const HDN_FILTERCHANGE As Long = HDN_FIRST - 12
Public Const HDN_FILTERBTNCLICK As Long = HDN_FIRST - 13
Public glLVDefWindowProc As Long
Public Function LVWindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Select Case uMsg
Case WM_NOTIFY
Dim tHD As NMHDR
CopyMemory tHD, ByVal lParam, Len(tHD)
Select Case tHD.code
Case HDN_BEGINTRACKA, HDN_DIVIDERDBLCLICKA, HDN_BEGINDRAG, HDN_TRACKA
Debug.Print "1"
LVWindowProc = 1
Exit Function
End Select
End Select
LVWindowProc = CallWindowProc(glLVDefWindowProc, hwnd, uMsg, wParam, lParam)
End Function




vansoft 2006-01-24
  • 打赏
  • 举报
回复
昨天才看到VC寫的代碼,不過忘了網址了。
qkaibo 2006-01-24
  • 打赏
  • 举报
回复
another Method

Hide Header Column

using Lable insted of Header Column

put lable to the top of the listView
qkaibo 2006-01-24
  • 打赏
  • 举报
回复
HOOK ListView column change Size Message

内容概要:本文档围绕“风储VSG-基于虚拟同步发电机的风储并网系统Simulink仿真”展开,系统介绍了采用虚拟同步发电机(VSG)控制策略的风电与储能联合并网系统的建模与仿真方法。通过Simulink平台构建完整的电力系统动态模型,重点实现VSG的关键控制逻辑,以提升新能源并网的稳定性、惯性响应与频率支撑能力。文档不仅涵盖核心仿真模型,还整合了大量相关前沿研究内容,如混合储能调频、微电网优化、电动汽车可调能力评估、智能算法在电力系统中的应用等,并提供丰富的Matlab/Simulink代码实例,具有较强的科研复现价值和技术参考意义。; 适合人群:具备电力系统基础理论知识和Matlab/Simulink仿真能力的研究生、科研人员及从事新能源发电、储能控制、智能电网等领域工作的工程技术人员;特别适用于正在开展风储协同控制、虚拟同步机、构网型变流器等相关课题研究的高校师生。; 使用场景及目标:① 深入理解虚拟同步发电机(VSG)在风储并网系统中的控制原理与技术优势;② 借助提供的仿真模型与代码完成科研论文复现、算法验证与系统性能测试;③ 探索新能源高渗透背景下提升电网稳定性的关键技术路径,包括惯量模拟、一次频率响应、储能协同控制等。; 阅读建议:建议读者按照文档结构循序渐进地学习,优先下载并运行配套的Simulink模型与Matlab代码,结合VSG控制策略的设计细节进行调试与分析,同时可关注公众号“荔枝科研社”获取完整资源包及持续的技术支持,以提升科研效率与创新能力。

7,787

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧