UsrListCombYSize = 210
macro mUsrBtns { }
macro replcSlash0 v { local .ll,.l0,.kk
        mov eax,v
        dec eax
.ll:    inc eax
        cmp byte [eax],'~'
        jnz .kk
        mov byte [eax],9
        jmp .ll
.kk:
        cmp byte [eax],0
        jz  .l0
        cmp byte [eax],'\'
        jnz .ll
        mov byte [eax],13
        jmp .ll
.l0:
        }
macro AllUsrBtns22 {local .w3b,.ll,.l0,.l3,.l3b,.l3c
	cmp     [wparam],IDC_UserCombo2+9
	jnz     .w3b
	invoke SendMessage,dword [ComboUser],WM_GETTEXT,4+1,RichTxt 	
	call GetCurFolder_
     ret
.w3b:   cmp     [wparam],IDC_UserCombo2+40
	jnz     .w3w	 		
	xor 	byte [usrOknoInoe],1
	movzx   eax,byte [usrOknoInoe]
	invoke SetWindowText,[ChangingKudaPaste],[.ut+eax*4]
     ret
	.ut  dd .ut1,.ut2
	.ut1 db '>Fasm  ',0
	.ut2 db '>Notpad',0
.w3w: 

	cmp     [wparam],IDC_UserCombo2+5
	jnz     .l3
	invoke SendMessage,dword [ComboUserChastoPasteHistory],WM_GETTEXT,64*4-4,ComboText 
	replcSlash ComboText 
     mov    esi,ComboText
     call   CopyToWinClipboard
     PasteTxtTo
     ret
.l3: cmp     [wparam],IDC_UserCombo2+6
	jnz     .l3b
	invoke SendMessage,dword [ComboUserChastoPasteHistory],WM_GETTEXT,64*4-4,ComboText 
	mov word [ComboText+64*4-2],0
	invoke SendMessage,[ComboUserChastoPasteHistory],dword CB_ADDSTRING,dword 0,ComboText
     ret
.l3b: cmp     [wparam],IDC_UserCombo2+7
	jnz     .l3c
	invoke SendMessage,[ComboUserChastoPasteHistory],dword CB_GETCURSEL,dword 0,0
	invoke SendMessage,[ComboUserChastoPasteHistory],dword CB_DELETESTRING,dword eax,0
     ret
.l3c: cmp     [wparam],IDC_UserCombo2+8
	jnz     .l3j
	invoke SendMessage,[ComboUserChastoPasteHistory],dword CB_RESETCONTENT,dword 0,0	
     ret
.l3j:
      xor     ecx,ecx
.ll:  mov     eax,ecx
      add     eax,IDC_UserCombo2+10
      cmp     [wparam],eax
      jnz     .l0
        mov byte [UsrUsrTxt+7],'1'
        add byte [UsrUsrTxt+7],cl
        call    LoadBtnUsrUsr
        call ReloadUsrUsr
      ret
.l0:  inc     ecx
      cmp     ecx,6+3
      jnz     .ll
      }
IDC_UserCombo2 = 11000
        jmp @f
	ChangingKudaPaste dd 0
	ComboUserChastoPasteHistory dd 0
        ComboUser  dd 0
        UsrUsrTxt  db 'usr\usr1.txt',0 ;+7
        usrBtnTtxt db 'usr1',0

        pUsrFile2  dd UsrUsrTxt
ReloadUsrUsr:   
        mov ebx,txtusr1
.vv:    mov dword [ebx],usrEmptyTxt
        add ebx,4
        cmp ebx,txtusr1+4*25
        jbe .vv
        
        mov eax,UsrUsrTxt
        mov edx,UserAllTxt
        call LoadFile
        cmp  dword [rbait],0
        jz   .jj
        mov esi,UserAllTxt
        add esi,[rbait]
        mov edi,UserAllTxt-1
        mov ebx,txtusr1
.1:     inc edi
        cmp edi,esi
        jae  .jj
        cmp dword [edi],'#usr'
        jnz .1
        add edi,5+1
        mov [ebx],edi
        add ebx,4
.2:     inc edi
        cmp dword [edi],'....'
        jnz .2
        mov dword [edi],0
        cmp edi,esi
        jb  .1
.jj:    ret
LoadBtnUsrUsr:
        mov eax,UsrUsrTxt
        mov edx,UserAllTxt
        call LoadFile
        cmp  dword [rbait],0
        jz   .jj
        invoke SendMessage,[ComboUser], CB_RESETCONTENT, 0, 0
        mov  esi,UserAllTxt-1
        mov  ebx,esi
        add  ebx,[rbait]
.gg:    mov  ecx,tmptxt
.nn:    inc  esi
        cmp  esi,ebx
        jae  .jj
        cmp  dword [esi],'#usr'
        jnz  .nn
.ii:    mov  al,[esi]
        cmp  dword [esi],'....'
        jz   .hh
        cmp  esi,ebx
        jae  .jj
        mov  [ecx],al
        inc  ecx
        inc  esi
        cmp  al,13
        ja   .ii
.hh:    mov  word [ecx-1],0
        inc  esi
        invoke SendMessage,[ComboUser],dword CB_ADDSTRING,dword 0,tmptxt
        jmp  .gg
.jj:    ret

@@:
invoke CreateWindowEx,0,'combobox',0,dword CBS_AUTOHSCROLL+WS_VISIBLE+13+WS_VSCROLL+WS_CHILD+CBS_HASSTRINGS,\
          dword 360,dword 695,dword 240,dword 180,[DLL_hwnd],dword IDC_UserCombo2+1,0,NULL
mov  [ComboUserChastoPasteHistory],eax
invoke CreateWindowEx,0,'button','Send',dword WS_VISIBLE+WS_CHILD,dword 520,dword 670,dword 38,dword 22,[DLL_hwnd],dword IDC_UserCombo2+5,0,0
invoke CreateWindowEx,0,'button','ToLst',dword WS_VISIBLE+WS_CHILD,dword 520+40,dword 870,dword 38,dword 22,[DLL_hwnd],dword IDC_UserCombo2+6,0,0
invoke CreateWindowEx,0,'button','Delt',dword WS_VISIBLE+WS_CHILD,dword 520-40,dword 870,dword 38,dword 22,[DLL_hwnd],dword IDC_UserCombo2+7,0,0
invoke CreateWindowEx,0,'button','Clear',dword WS_VISIBLE+WS_CHILD,dword 520,dword 870,dword 38,dword 22,[DLL_hwnd],dword IDC_UserCombo2+8,0,0

invoke CreateWindowEx,0,'button','Folder',dword WS_VISIBLE+WS_CHILD,dword 360,dword 414,dword 48,dword 22,[DLL_hwnd],dword IDC_UserCombo2+9,0,0
invoke CreateWindowEx,0,'button','>Notpad',dword WS_VISIBLE+WS_CHILD,dword 360+52,dword 414,dword 58,dword 22,[DLL_hwnd],dword IDC_UserCombo2+40,0,0
mov    [ChangingKudaPaste],eax
invoke CreateWindowEx,0,'combobox',0,dword WS_VISIBLE+13+WS_VSCROLL+WS_CHILD+CBS_HASSTRINGS,\
          dword 360,dword 440,dword 240,dword UsrListCombYSize,[DLL_hwnd],dword IDC_UserCombo2,0,NULL
mov  [ComboUser],eax
vYOfstSizezz = 435+UsrListCombYSize
rept 6 n:0 {        
invoke CreateWindowEx,0,'button',usrBtnTtxt,dword WS_VISIBLE+WS_CHILD,dword 360+n*40,dword vYOfstSizezz,dword 38,dword 22,[DLL_hwnd],dword IDC_UserCombo2+10+n,0,0
inc byte [usrBtnTtxt+3] }
rept 3 n:0 {        
invoke CreateWindowEx,0,'button',usrBtnTtxt,dword WS_VISIBLE+WS_CHILD,dword 360+n*40,dword 25+vYOfstSizezz,dword 38,dword 22,[DLL_hwnd],dword IDC_UserCombo2+16+n,0,0
inc byte [usrBtnTtxt+3] }
;invoke CreateWindowEx,0,'button','Send',dword WS_VISIBLE+WS_CHILD,dword 340,dword 4,dword 50,dword 22,[DLL_hwnd],dword IDC_UserCombo+19,0,0
;invoke CreateWindowEx,0,'button','Enter',dword WS_VISIBLE+WS_CHILD,dword 340,dword 26,dword 50,dword 22,[DLL_hwnd],dword IDC_UserCombo+18,0,0
        call LoadBtnUsrUsr
        jmp  @f
@@:

