Change Style At RunTime

Category: Edit/Modify

Date: 03-28-2012

Return to Index


 
'This sample TreeView code shows how to change some of the style
'values at run time.
 
'Primary Code:
 
 
'Compilable Example:
#Compiler PBWin 9, PBWin 10
#Compile EXE
#Dim All
#Include "Win32API.inc"
#Include "commctrl.inc"
%IDC_TreeView = 100 : %IDC_ButtonA = 200 : %IDC_ButtonB = 300
Global hDlg, hTree As DWord
 
Function PBMain() As Long
   Local hItem As DWord, hTemp As DWord, hTemp2 As DWord, hTemp3 As DWord
   Dialog New Pixels, 0, "TreeView",200,200,155,290, %WS_SysMenu, 0 To hDlg
   Control Add TreeView, hDlg, %IDC_TreeView, "", 10,10,130,200
   Control Handle hDlg, %IDC_TreeView To hTree
   Control Add Button,   hDlg, %IDC_ButtonA,"Add Styles", 25,220,95,20
   Control Add Button,   hDlg, %IDC_ButtonB,"Remove Styles", 25,250,95,20
   TreeView Insert Item  hDlg, %IDC_TreeView, 0, %TVI_Last, 0,0,"RootTo hItem
   TreeView Insert Item  hDlg, %IDC_TreeView, hItem, %TVI_Last, 0,0,"MotherTo hTemp
   TreeView Insert Item  hDlg, %IDC_TreeView, hTemp, %TVI_Last, 0,0,"DanTo hTemp2
   TreeView Insert Item  hDlg, %IDC_TreeView, hTemp, %TVI_Last, 0,0,"BobTo hTemp3
   TreeView Set Expanded hDlg, %IDC_TreeView, hTemp, %True
   TreeView Insert Item  hDlg, %IDC_TreeView, hTemp3, %TVI_Last, 0,0,"FootTo hTemp2
   TreeView Insert Item  hDlg, %IDC_TreeView, hTemp3, %TVI_Last, 0,0,"ArmTo hTemp2
   TreeView Set Expanded hDlg, %IDC_TreeView, hTemp3, %True
   TreeView Insert Item  hDlg, %IDC_TreeView, hItem, %TVI_Last, 0,0,"FatherTo hTemp
   TreeView Insert Item  hDlg, %IDC_TreeView, hTemp, %TVI_Last, 0,0,"HelenTo hTemp2
   TreeView Insert Item  hDlg, %IDC_TreeView, hTemp, %TVI_Last, 0,0,"AnyTo hTemp3
   TreeView Set Expanded hDlg, %IDC_TreeView, hTemp, %True
   TreeView Insert Item  hDlg, %IDC_TreeView, hTemp3, %TVI_Last, 0,0,"LegTo hTemp2
   TreeView Insert Item  hDlg, %IDC_TreeView, hTemp3, %TVI_Last, 0,0,"FingerTo hTemp2
   TreeView Set Expanded hDlg, %IDC_TreeView, hTemp3, %True
   TreeView Set Expanded hDlg, %IDC_TreeView, hItem, %True
   Dialog Show Modal     hDlg Call DlgProc
End Function
 
CallBack Function DlgProc() As Long
   Local hNode As DWord, Style&
   If CB.Msg = %WM_Command AND CB.Ctl = %IDC_ButtonA Then
      Style&=GetWindowLong(hTree, %GWL_STYLE)
      Style&=Style& Or %TVS_TrackSelect
      SetWindowLong hTree, %GWL_STYLE, Style&
   End If
   If CB.Msg = %WM_Command AND CB.Ctl = %IDC_ButtonB Then
      Style&=GetWindowLong(hTree, %GWL_STYLE)
      Style&=Style& AND (Not %TVS_TrackSelect)
      SetWindowLong hTree, %GWL_STYLE, Style&
   End If
End Function
 
'gbs_00687
'Date: 03-10-2012


created by gbSnippets
http://www.garybeene.com/sw/gbsnippets.htm