win32汇编环境,对话框中使用树形视图示例二

;运行效果

;win32汇编环境,对话框中使用树形视图示例二
;得到树形视图控件Treeview的全路径字符串,这里的方法是由子项向父项挨个找的算法找齐路径
;直接抄进RadAsm可编译运行。重要部分加备注。
;下面为asm文件
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.386 
.model flat,stdcall 
option casemap:none 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
include    windows.inc 
include    user32.inc 
include    kernel32.inc 
include    comctl32.inc     ;加上所需头文件

includelib user32.lib 
includelib kernel32.lib
includelib comctl32.lib     ;加上所需库文件 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 自定义函数声明
DlgProc proto :DWORD,:DWORD,:DWORD,:DWORD   ;对话框窗口函数
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
.data 
DlgName         db "MyDialog",0 
szMsg           db "提示",0
szFuHao01       db "\",0

szShow1         db "魏国",0
  szShow11        db "武将",0
    szShow111       db "张辽",0
    szShow112       db "曹仁",0
    szShow113       db "夏侯渊",0
  szShow12        db "文臣",0
    szShow121        db "荀彧",0
    szShow122        db "司马懿",0
    szShow123        db "郭嘉",0

szShow2         db "蜀国",0

szShow3         db "吴国",0
.data? 
hInstance       HINSTANCE   ? 
h_Trv01         dd          ?     ;树形视图控件句柄
h_IconList01    dd          ?     ;图像列表控件句柄
h_icon01        dd          ?
h_icon02        dd          ?

;h_01            HTREEITEM           ?
.const 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;Equ 等值定义

ICO_MAIN    equ 1000    ;图标 
IDC_TRV1    equ 1001    ;树形视图控件标识符

IDB         equ 10      ;按钮控件标识符
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code 
start:     
        invoke GetModuleHandle, NULL     
        mov    hInstance,eax     
        invoke DialogBoxParam, hInstance, ADDR DlgName,NULL, addr DlgProc, NULL     
        invoke ExitProcess,eax 
DlgProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM  
        LOCAL   @tvs01:TV_INSERTSTRUCT     ;根项的结构
        LOCAL   @h01:HTREEITEM             ;根项的句柄
        
        LOCAL   @tvs011:TV_INSERTSTRUCT
        LOCAL   @h011:HTREEITEM
        LOCAL   @tvs0111:TV_INSERTSTRUCT
        LOCAL   @tvs0112:TV_INSERTSTRUCT
        LOCAL   @tvs0113:TV_INSERTSTRUCT
        
        LOCAL   @tvs012:TV_INSERTSTRUCT
        LOCAL   @h012:HTREEITEM
        LOCAL   @tvs0121:TV_INSERTSTRUCT
        LOCAL   @tvs0122:TV_INSERTSTRUCT
        LOCAL   @tvs0123:TV_INSERTSTRUCT
        
        LOCAL   @tvs02:TV_INSERTSTRUCT 
        LOCAL   @tvs03:TV_INSERTSTRUCT 
        
        LOCAL   @GetTvs:TVITEM              ;定义一个要保存的当前选定项的 TVITEM 结构
        LOCAL   @szBuffer[256]:byte
        LOCAL   @szCurrentBuffer[256]:byte  ;当前项字符串用的数组
        LOCAL   @szPareBuffer[256]:byte     ;父项字符串用的数组
        LOCAL   @szAllBuffer[256]:byte      ;要显示全部路径字符串的数组 
        LOCA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一品人家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值