I'm playing with ProGUI evaluation release in 32 bits mode under Windows XP SP3 and PB 4.51. Great job, really!
ProGUI.res installed on Residents Purebasic directory, ProGUI installed in PureLibraries\UserLibraries PB directory, ProGUI 32 bits DLL installed in my current directory. XP support skin in enabled in Compiler options.
I don't really understand what happens to my snippet, based upon office example.pb, available with some snippets ProGUI examples.
First time you click on Help menu, that's ok, a new window opens. You can close it. Reclick a second time on help menu, error :
Invalid Memory Access (writing error on address 4).
Code: Select all
; Remember to enable XP Skin Support!
; Demonstrates the new #UISTYLE_OFFICE2003 User Interface style
;IncludeFile "ProGUI_PB.pb" ; comment this line out when using the UserLibrary version
StartProGUI("", 0, 0, 0, 0, 0, 0, 0)
;- Window Constants
Enumeration
#Window_0
EndEnumeration
Global logiciel$="SESSAD Manager"
Global version$="0.01."
;- Gadget Constants
Enumeration
#MENU_0
#MENU_1
#MENU_2
#MENU_3
#MENU_4
#MENU_5
#MENU_6
#MENU_7
#MENU_8
#MENU_9
#MENU_10
#MENU_11
#MENU_12
#MENU_13
#MENU_14
#MENU_15
#REBAR_0
#PopupMenu_0
#ContextMenu
#ContextMenu_1
#ContextMenu_2
#TOOLBAR_0
EndEnumeration
; set up structure for easy access to icon images
Structure images
normal.i
hot.i
disabled.i
EndStructure
Global Dim image.images(100)
Global editor
;- load icons
; a more efficient way to load your icon images is to have them
; stored in your exe's resource, in order to load them use the following line:
; image = LoadImage_(GetModuleHandle_(0), "name of icon in resource", #IMAGE_ICON, 16, 16, 0)
; doing this allows you to choose the size of icon stored in the ico file too.
image(0)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00139.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(1)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\01032.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(2)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\05965.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(3)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\01589.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(4)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00178.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(5)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\06547.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(6)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00762.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(7)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\09051.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(8)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\01714.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(9)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00737.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(10)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\07226.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(11)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00287.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(12)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03621.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(13)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00224.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(14)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00285.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(15)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\07392.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(16)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\01707.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(17)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\02039.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(18)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03739.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(19)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\05958.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(20)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\09276.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(21)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\02358.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(22)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\05905.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(23)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03823.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(24)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00018.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(25)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00023.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(26)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00003.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(27)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00004.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(28)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00109.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(29)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00002.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(30)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\07387.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(31)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00021.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(32)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00019.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(33)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00022.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(34)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00108.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(35)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00128.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(36)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00129.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(37)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\01576.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(38)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00916.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(39)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00008.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(40)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00142.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(41)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00009.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(42)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00016.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(43)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00682.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(44)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00931.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(45)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\01764.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(46)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\shapes.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(47)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\01031.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(48)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\04367.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(49)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\06717.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(50)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00253.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(51)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00779.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(52)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00783.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(53)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00782.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(54)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03623.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(55)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00144.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(56)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\05757.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(57)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\06094.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(58)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00791.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(59)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03743.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(60)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\01709.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(61)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\02041.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(62)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00793.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(63)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00790.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(64)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\06111.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(65)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03727.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(66)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\04177.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(67)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00794.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(68)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00186.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(69)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00184.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(70)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\01695.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(71)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03631.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(72)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\02059.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(73)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00798.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(74)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00800.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(75)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00107.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(76)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00210.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(77)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\02626.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(78)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03685.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(79)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03688.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(80)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03681.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(81)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03683.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(82)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00295.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(83)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\02166.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(84)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\02165.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(85)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\02164.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(86)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03907.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(87)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03908.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(88)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\03909.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(89)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\02068.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(90)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\02067.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
image(91)\normal = LoadImage_(GetModuleHandle_(0), "icons\Office Icons\00984.ico", #IMAGE_ICON, 16, 16, #LR_LOADFROMFILE)
ProcedureDLL ScintillaCallBack(gadget, *scinotify.SCNotification)
;
; The ProcedureDLL declaration is important for the callback to work correctly on MacOSX,
; on all other OS it has no effect.
;
EndProcedure
Procedure Open_Window_0()
OpenWindow(#Window_0, 50, 50, 1440, 900, logiciel$, #PB_Window_ScreenCentered | #PB_Window_SizeGadget | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_Invisible)
;- Main Menu
menu = CreateMenu(#MENU_0, WindowID(#Window_0))
;/ Help
MenuTitle("&Help")
MenuItem(205, "&A propos de "+logiciel$ )
;/ create test popupmenu for toolbar drop-down
popupmenu = CreatePopupMenu(#PopupMenu_0)
;- create toolbar
toolbar = CreateToolBar(#TOOLBAR_0, WindowID(#Window_0))
UseGadgetList(WindowID(#Window_0))
EndProcedure
Open_Window_0() ; create window
HideWindow(0, 0) ; show our newly created window
;- enter main event loop
Repeat
Event = WaitWindowEvent()
window = EventWindow()
If Event = #PB_Event_Menu
MenuID = EventMenu()
; handle checkboxes and radiochecks
; context menu
Quit=#False
If MenuID=205
If OpenWindow(MenuID,300,300,300,300,"A propos de ")
EditorGadget(6666,10,10,250,30,#PB_Editor_ReadOnly)
SetGadgetText(6666,"Sessad Manager "+version$+Str(#Pb_Editor_CompileCount))
ButtonGadget(6667,10,200,250,30,"OK")
Repeat
EventID3=WaitWindowEvent();
If EventID3= #PB_Event_CloseWindow
Quit = #True
EndIf
Until Quit=#True
CloseWindow(MenuID)
FreeGadget(6666)
FreeGadget(6667)
EnableWindow_(#Window_0, #True)
SetActiveWindow(#Window_0)
EndIf
EndIf
EndIf
Until Event = #WM_CLOSE