1. Fw: Treeview w/Edit-Labels

BTW, I forgot to mention that sequence tvitem_handle 
must be set to global sequence tvitem_handle
before you try the demo I sent 5 minutes ago.

Euman
euman at bellsouth.net

> include win32lib.ew
> 
> object junk
> 
> constant
>  MainWin =  create( Window, "Treeview Edit Label Demo", 0, 1, 1, 492, 380, {
>  WS_DLGFRAME, WS_SYSMENU})
> ,TV = create(TreeView, "TreeView", MainWin, 10, 22, 464, 310, 
>             
>              or_all({TVS_HASLINES,TVS_LINESATROOT,TVS_HASBUTTONS,TVS_EDITLABELS,
>              TVS_SHOWSELALWAYS}) )
> ,TVPopup = create( Popup, "", TV, 0, 0, 0, 0, 0 )
> ,TVItem1 = create( MenuItem, "Create a New", TVPopup, 0, 0, 0, 0, 0 )
> 
> constant 
>  closefolder = addIcon( extractIcon( "clsdfold.ico" ))
> ,openfolder  = addIcon( extractIcon( "openfold.ico" ))
> 
> procedure TVpopup(integer self, integer event, sequence parms) -- popup mnu
> for TV
>    if parms[1] = WM_RBUTTONDOWN then
>       popup(TVPopup, parms[2], parms[3] )
>    end if
> end procedure
> setHandler(TV, w32HMouse,  routine_id("TVpopup"))
> 
> function TVEdit(integer id, atom hWnd, atom wParam, atom lParam)
> atom Edit_id
>    Edit_id = w32Func( xSendMessage, {getHandle(TV), TVM_GETEDITCONTROL, 0, 0 }
>    )
>    w32Proc( xSetFocus, {Edit_id} ) 
> -- from here there needs to be a trap for end of edit, etc.
> -- so we can save the info or dismiss.
> return 0
> end function
> junk = setNotifyHandler( TVN_BEGINLABELEDIT, routine_id("TVEdit"))     
> 
> sequence folders
>   folders = {}
>   folders &= addTVItem( TV, closefolder, closefolder, "Right Click in Treeview
>   for popup menu" , 0 )
>   folders &= addTVItem( TV, closefolder, closefolder, "Item One" , folders[1]
>   )
>   expandItem( 1 )
>   
> procedure AddFamily(integer self, integer event, sequence parms )
> integer len, index
> 
>    folders &= addTVItem( TV, openfolder, openfolder,  "", folders[1] )
>    len = length(folders)
>    index = folders[len]
>    junk = w32Func( xSendMessage, {getHandle(TV), TVM_EDITLABEL, 0,
>    tvitem_handle[index] } )
> end procedure
> setHandler(TVItem1, w32HClick,  routine_id("AddFamily"))
> 
> WinMain( MainWin,Normal )

new topic     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu