首页
论坛
专栏
课程

[原创]一个汇编的多列控件示例

2010-7-19 03:27 3254

[原创]一个汇编的多列控件示例

2010-7-19 03:27
3254
   ; 第一步 invoke CreateClass,parent,_x,_y,_w,_h    ;初始控件的大小

   ;返回exe为一个结构,根据自己需要可以对控件重构事件,不需要就不要理它了,呵呵
  ;base struct
  ; hXTree dd ?
  ; hTv dd   ?
  ; hList dd ?
  ; Header dd ?
  ; XTreeProc dd ?
  ; TvProc dd ?
  ; ListProc dd ?
  ; HeaderProc dd ?
  ; NewListProc dd ?
  ; NewTvProc dd ?
  ;base ends
  
  
;第二步 ;invoke InsertColumn,@lx,@pText ;添加Header列大小及名称

    ;invoke InsertColumn,50,CADD("PID")
   ;invoke InsertColumn,80,CADD("PPID")
   ;invoke InsertColumn,80,CADD("Handles")
   ;invoke InsertColumn,80,CADD("Threads")
   
   
  ;第三步 ;invoke TreeAddItem,offset ClassName ,0  ;添加Tree节点
   

    ;invoke TreeAddItem,offset ClassName ,edx
    ; eax 为一个双向链表数据结构
    ; ecx 返回总的行数
    ; edx 返回一个TREE节点句柄
  
  
;第四步 ;invoke ListAddItem,edx,1,offset ClassName;添加对应节点的多列数据

   

   ;invoke ListAddItem,edx,FALSE,1,offset ClassName

    ;tree节点句柄,LIST列,设置或获取一个节点,添加到LIST字符串
    ;invoke ListAddItem,edx,TRUE,2,offset ClassName
  
;至此收功完毕,以下是LIB类导出函数的使用说明(^_^以后再完善)

;初始创建并指定父窗口及大小

CreateClass    PROTO    :DWORD, :DWORD, DWORD,:DWORD

;初始一个Header。列宽度,列标题

InsertColumn  PROTO    :DWORD,:DWORD

;插入一个Tree节点。字符缓冲区指定一个节点名,父节点

TreeAddItem   PROTO    :DWORD,:DWORD

;设置或获得一个节点的数据项。 Tree节点句柄,(FLASE为添加一个数据项/TRUE为设置一个数据项),要获得或设置数据的列索引,字符缓冲区

ListAddItem    PROTO    :DWORD, :DWORD, DWORD,:DWORD

;获得附加额外的数据项(最多256个DWORD)每一个节点。节点句柄,返回缓冲区
GetData_L             PROTO    :DWORD, :DWORD
  

;删除所有节点
Deleteallitems       PROTO
  

;枚举所有节点.                       Tree节点句柄,一个回调函数接受句柄

EnuemAllNodes      PROTO    :DWORD, :DWORD
  

;枚举节点。Tree节点句柄,搜索类型(TVGN_XXX),搜索方式(TVGN_NEXT/PREVIOUS)

;是否深度搜索(FALSE/TRUE),要搜索的节点句柄,一个回调函数接受句柄


EnuemChildNodes   PROTO  :DWORD,:DWORD,DWORD,:DWORD,DWORD,:DWORD

;弹出一个窗口分离当前节点的子节点数据《见图右边》。是否深度
@@PopWindow PROTO :DWORD

  
;以下是举例,例出当前进程

   invoke CreateClass,hWin,10,10,500,300
  
   invoke InsertColumn,170,CADD("Process")
   invoke InsertColumn,50,CADD("PID")
   invoke InsertColumn,80,CADD("PPID")
   invoke InsertColumn,80,CADD("Threads")
      
   invoke R3_ProcessSnapshot ;PS:这里不关心枚举进程的方式呵呵



2020安全开发者峰会(2020 SDC)议题征集 中国.北京 7月!

上传的附件:
最新回复 (1)
victoryf 2010-7-19 22:10
2
0
谢谢分享,学习了
游客
登录 | 注册 方可回帖
返回