📄 list.asm
字号:
;**************Play List functions*******************
AddPlayList proc
invoke SysAllocString,addr Buffer
mov ecx,iIndex
lea edi,PlayList
mov [edi+ecx*4],eax
inc iIndex
ret
AddPlayList endp
InitPlayList proc
invoke SendMessage,hListBox,LB_GETCOUNT,0,0
.while eax<iIndex
MOV ecx,PlayList[eax*4]
invoke SendMessage,hListBox,LB_ADDSTRING,0,ecx
inc eax
.endw
ret
InitPlayList endp
DeletePlayList proc
local index:dword
invoke SendMessage,hListBox,LB_GETCURSEL,0,0
.if eax!=LB_ERR
mov index,eax
invoke SendMessage,hListBox,LB_DELETESTRING,EAX,0
mov eax,index
dec eax
invoke SendMessage,hListBox,LB_SETCURSEL,eax,0
mov ecx,index
mov eax,PlayList[ecx*4]
invoke SysFreeString,eax
dec iIndex
.ELSE
.ENDIF
ret
DeletePlayList endp
UpPlayList proc
invoke SendMessage,hListBox,LB_GETCURSEL,0,0
.IF EAX!=LB_ERR
.if eax==0
jmp upover
.endif
push eax
push eax
push eax
push eax
invoke SendMessage,hListBox,LB_GETTEXT,EAX,ADDR Buffer
pop eax
invoke SendMessage,hListBox,LB_DELETESTRING,EAX,0
pop eax
push eax
pop eax
dec eax
.if eax>=0
invoke SendMessage,hListBox,LB_INSERTSTRING,eax,addr Buffer
.else
invoke SendMessage,hListBox,LB_GETCOUNT,0,0
invoke SendMessage,hListBox,LB_INSERTSTRING,EAX,ADDR Buffer
.endif
pop ecx
mov eax,PlayList[ecx*4]
mov ebx,PlayList[ecx*4-4]
mov PlayList[ecx*4],ebx
mov PlayList[ecx*4-4],eax
POP EAX
upover: .if eax!=0
DEC EAX
invoke SendMessage,hListBox,LB_SETCURSEL,eax,0
.ELSE
INVOKE SendMessage,hListBox,LB_SETCURSEL,EAX,0
.endif
.ELSE
.ENDIF
ret
UpPlayList endp
DownPlayList proc
local count:dword
invoke SendMessage,hListBox,LB_GETCOUNT,0,0
MOV count,eax
invoke SendMessage,hListBox,LB_GETCURSEL,0,0
.IF EAX!=LB_ERR
mov ebx,count
dec ebx
.if eax==ebx
jmp downover
.endif
push eax
push eax
push eax
push eax
invoke SendMessage,hListBox,LB_GETTEXT,EAX,ADDR Buffer
pop eax
invoke SendMessage,hListBox,LB_DELETESTRING,EAX,0
pop eax
push eax
pop eax
inc eax
.if eax<=count
invoke SendMessage,hListBox,LB_INSERTSTRING,eax,addr Buffer
.else
invoke SendMessage,hListBox,LB_GETCOUNT,0,0
invoke SendMessage,hListBox,LB_INSERTSTRING,EAX,ADDR Buffer
.endif
pop ecx
mov eax,PlayList[ecx*4]
mov ebx,PlayList[ecx*4+4]
mov PlayList[ecx*4],ebx
mov PlayList[ecx*4+4],eax
pop eax
downover:
.if eax< count
inc eax
invoke SendMessage,hListBox,LB_SETCURSEL,eax,0
.else
dec count
invoke SendMessage,hListBox,LB_SETCURSEL,count,0
.endif
.ELSE
.ENDIF
ret
DownPlayList endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -