home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Hutch / DOWNLOAD / Dbldr.exe / COMBOBOX / COMBO.BAS next >
Encoding:
BASIC Source File  |  1999-08-11  |  3.2 KB  |  127 lines

  1. '######################## Dialog Builder Template #########################
  2.  
  3.     #INCLUDE "combo.inc"
  4.  
  5. '##########################################################################
  6.  
  7. FUNCTION WinMain(ByVal Instance      as LONG, _
  8.                  ByVal hPrevInstance as LONG, _
  9.                  lpszCmdLine         as ASCIIZ PTR, _
  10.                  ByVal nCmdShow      as LONG) AS LONG
  11.  
  12.     hInstance = Instance
  13.  
  14.     DialogBox hInstance,ByVal 100,0,CodePtr(DlgProc1)
  15.  
  16.     FUNCTION = 0
  17.  
  18. END FUNCTION
  19.  
  20. '##########################################################################
  21.  
  22. FUNCTION DlgProc1(ByVal hDlg   as LONG, _
  23.                   ByVal Msg    as LONG, _
  24.                   ByVal wParam as LONG, _
  25.                   ByVal lParam as LONG) EXPORT as LONG
  26.  
  27.   LOCAL Caption as ASCIIZ * 20  ' make larger if needed
  28.  
  29.   Select Case Msg
  30.  
  31.       Case %WM_INITDIALOG
  32.  
  33.         hWnd = hDlg     ' hWnd is global handle
  34.  
  35.         SendMessage hDlg,%WM_SETICON,1, _
  36.                     LoadIcon(hInstance,ByVal 1)
  37.  
  38.         Caption="Your Dialog App"
  39.           SendMessage hDlg,%WM_SETTEXT,0,VarPtr(Caption)
  40.  
  41.         ' ----------------------------
  42.         ' Get handles for dialog items
  43.         ' ----------------------------
  44.           h1ComboBox1    = GetDlgItem(hDlg,101)
  45.           lpComboProc1& =SetWindowLong(h1ComboBox1,%GWL_WNDPROC,_
  46.                                       ByVal CodePtr(ComboProc1))
  47.  
  48.         ' -------------------------------
  49.         ' Put some items in the combo box
  50.         ' -------------------------------
  51.           Data Item 1
  52.           Data Item 2
  53.           Data Item 3
  54.           Data Item 4
  55.           Data Item 5
  56.           Data Item 6
  57.           Data Item 7
  58.           Data Item 8
  59.           Data Item 9
  60.           Data Item 10
  61.           Data Item 11
  62.           Data Item 12
  63.           Data Item 13
  64.           Data Item 14
  65.           Data Item 15
  66.           Data Item 16
  67.           Data Item 17
  68.           Data Item 18
  69.           Data Item 19
  70.           Data Item 20
  71.  
  72.           number& = DATACOUNT
  73.  
  74.           rf& = 1
  75.  
  76.           Do
  77.             x$=read$(rf&)
  78.             SendMessage h1ComboBox1,%CB_ADDSTRING,0,ByVal StrPtr(x$)
  79.             ! inc rf&
  80.             If rf& > number& Then Exit Do
  81.           Loop
  82.  
  83.           SendMessage h1ComboBox1,%CB_SETCURSEL,0,0
  84.  
  85.       Case %WM_COMMAND
  86.         Select Case wParam
  87.  
  88.         End Select
  89.  
  90.       Case %WM_CLOSE
  91.          EndDialog hDlg, 0
  92.  
  93.   END Select
  94.  
  95. END FUNCTION
  96.  
  97. '##########################################################################
  98.  
  99. FUNCTION ComboProc1(BYVAL hCtl   as LONG, _
  100.                     BYVAL Msg    as LONG, _
  101.                     BYVAL wParam as LONG, _
  102.                     BYVAL lParam as LONG) EXPORT AS LONG
  103.  
  104.     Select Case Msg
  105.  
  106.       Case %WM_COMMAND
  107.         Select Case HiWrd(wParam)
  108.           Case %LBN_SELCHANGE
  109.  
  110.             cSel& = SendMessage(hCtl,%CB_GETCURSEL,0,0)
  111.  
  112.             Buffer$ = space$(32)
  113.             SendMessage hCtl,%CB_GETLBTEXT,cSel&,ByVal StrPtr(Buffer$)
  114.  
  115.             SetWindowText hWnd,ByCopy Buffer$
  116.  
  117.       End Select
  118.  
  119.     End Select
  120.  
  121.   FUNCTION=CallWindowProc(ByVal lpComboProc1&,hCtl,Msg,wParam,lParam)
  122.  
  123. END FUNCTION
  124.  
  125. ' ##########################################################################
  126.  
  127.