Page 1 of 1

combogadget correct event handling with ESC key

Posted: Sun Jul 14, 2002 12:13 pm
by BackupUser
Code updated for 5.20+

Restored from previous forum. Originally posted by cor.

Below is a changed version for combobox event handling even if ESC is pressed after select the combobox. (no item selection will be executed)

Based on Franco's template

It's working for me:

Code: Select all

; Combobox event changed so that pressing ESC key after pressing the combobox doesn't effect
; the selection
; lines with comment '; added'  are added
;
; based on Franco's temlate

; (c) 2002 - Franco's template - absolutely freeware
; Little example for the right use of the ComboBox Event
;

Global gadgetsetting.b   ; added
gadgetsetting =-1         ; added

OpenWindow(1,200, 200, 320,240,"Window",#PB_Window_SystemMenu|#PB_Window_SizeGadget)

CreateMenu(1, WindowID(1))
MenuTitle("File")
MenuItem(1,"New")
MenuItem(2,"Open")
MenuItem(3,"Save")

CreateToolBar(1, WindowID(1))
ToolBarStandardButton(4,#PB_ToolBarIcon_New)
ToolBarStandardButton(5,#PB_ToolBarIcon_Open)
ToolBarStandardButton(6,#PB_ToolBarIcon_Save)

ButtonGadget(1, 10, 30, 100, 25,"Button 1")

ComboBoxGadget(2, 10, 120, 150, 25)
AddGadgetItem(2, -1, "ComboBox Item 1")
AddGadgetItem(2, -1, "ComboBox Item 2")
AddGadgetItem(2, -1, "ComboBox Item 3")
AddGadgetItem(2, -1, "ComboBox Item 4")

Repeat
  EventID = WaitWindowEvent()
  
  Select EventID
      ; Menu/ToolBarEvent
    Case #PB_Event_Menu
      MessageRequester("Menu or Toolbar","Item #: "+Str(EventMenu()),0)
      
      ; GadgetsEvents
    Case #PB_Event_Gadget
      
      Select EventGadget()
          
          ; ButtonGadget
        Case 1
          Select EventType()
            Case #PB_EventType_LeftClick
              MessageRequester("Gadget","Button",0)
          EndSelect
          
          ; ComboBoxGadget
        Case 2
          Select EventType()
            Case #PB_EventType_RightClick
              If gadgetsetting <> GetGadgetState(2)     ;added
                MessageRequester("Gadget","ComboBox",0)
                gadgetsetting=GetGadgetState(2)           ;added
              EndIf                                    ;added
          EndSelect
          
      EndSelect
      
  EndSelect
  
Until EventID = #PB_Event_CloseWindow

End
 
Using Windows 98 SE
Registered PB version : 3.2 (Windows)
--------------------------
C. de Visser
Author of Super Guitar Chord Finder
http://www.ready4music.com