HDR*PowerBuilder0600Ý?÷6Custom Toolbar ControlFRE*˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙üNOD*Ü  ŔENT*0600śQÇ8÷6 toolbar.praENT*0600¸†Ç8÷6 toolbar.sraENT*0600Şš íœô6 toolbar.aplENT*0600źw \?÷6 w_popup.srwENT*0600  ˜?÷6)m_toolbar_sample.srmENT*0600Čż îœô6 w_popup.winENT*0600jB3îœô6m_toolbar_sample.menENT*0600ęhU>÷6w_toolbar.srwENT*0600TP?÷6m_toolbar_buttons.srmENT*0600ô1îœô6w_toolbar.winENT*0600RBíœô6m_toolbar_buttons.menENT*0600  Ź?÷6w_toolbar2.srwENT*0600x îœô6w_toolbar2.winDAT*örŽ@?÷6íœô6Ž@Ž@Ž@€‰n@n@&9@9@68@8@C^@^@Mh@h@[i@i@gj@j@{k@k@‡}@}@—‹@‹@¤@@ąŽ@Ž@Ŕ\@\@€Tč m_toolbar_buttonsmenuwindowmenumergeoptionmenuitemtypestructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobject€ `$€ PAiDAT*ö€ `$€ PAi€ `$€ PAi€ `$€ PAi€ `$€ PAi€ `$€ PAi€ `$€ PAi€ DAT*ö`$€ PAi€ `$€ PAi€ `$€ PAi€ `$€ PAi€ `$€ PAi€ `$€ PAi€ `$DAT*ö€ PAi€ `$ĚôDl”źä 4\„ŹÔü$LtœÄě<dŒ´Ü,2 m_toolbar_buttons˙˙ €" +create+destroy+clicked Q x7 _initsrcmenum_toolbar_buttonswindowDAT*ömenumergeoptionmenuitemtypestructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjectm_toolbarm_closem_savem_printm_newm_editm_deletem_addm_-m_firstm_previousm_nextm_lastD˙˙˙˙@˙˙˙˙(@˙˙/@˙˙?@˙˙L@˙˙V@˙˙d@˙˙p@˙˙„ @˙˙ DAT*ö@˙˙  @˙˙­ @˙˙ş @˙˙É@˙˙Ő˙˙ß˙˙ç˙˙î˙˙ö˙˙ü˙˙˙˙  ˙˙ ˙˙ ˙˙ ˙˙) ˙˙0đ …€€€€€€€€€DAT*ö€€€ €€€€€Ŕ˙˙€€˙˙!€€˙˙€€˙˙€€˙˙€€˙˙€€˙˙€€˙˙€€˙˙€€˙˙€€˙˙€€˙˙€€DAT* ö˙˙€€˙˙J‡*‡,4$˛€ |  d < m_toolbar€€˙˙item$Ž@€ , 4 $d  m_toolbarit€ €€2  +create+destroy(˙˙Ŕ1€˙˙Ŕ2  m_toolbarDAT*"ö˙˙ €]  @$€1€ € @   €€ €˙˙˙˙€˙˙˙˙˙˙5€˙˙Đ80…(*0‡@*H‡X*`‡p*x‡ˆ*‡¤*ʇź*ćĐ*؇DAT*$öč*đ‡* ‡*$‡4*<‡LT$\$d$l$t$|$„$Œ$”$œ$¤$Ź$˛€ |0F\rˆ ž ´ Ę ŕ ö "d ´0 textToolbarm_close € €˙˙m_save8€8€˙˙m_printP€P€˙˙m_newh€h€˙˙m_edit€€€€DAT*&ö˙˙m_delete˜€˜€˙˙m_add´€´€˙˙m_-̀̀˙˙m_firstŕ€ŕ€˙˙m_previousř€ř€˙˙m_next€€˙˙m_last, €,€˙˙itemDŽ@ €8€P€h€€€˜€´€Ě€ŕ€ř€€, € ( 0@ HX `p xˆ ¤ Źź ÄĐ Řč đ   $4 <L T DAT*(ö\ d l t | „ Œ ” œ ¤ Ź Ž $ $0$@$P$d$t$€$$¤$´$Ä$*8FT b p ~ Œ šd Ě` m_close€m_save€m_print(€m_new8€m_editH€m_delete*X€m_add- l€m_-|€m_firstˆ€m_DAT**öpreviousn˜€m_nextaŹ€m_lasttź €  0 @ P d t €  ¤ ´ Ä €€2  +create+destroy(˙˙Ŕ˙˙Ŕ2 ` m_closem_savem_printm_newm_editm_deletem_addm_-m_firstm_previousm_nextm_lastđ ˙˙ €1˙˙ €#˙˙ €˙˙ €#˙˙% €ą˙˙, €˙˙5 €˙˙;DAT*,ö €˙˙? €˙˙G €˙˙R €˙˙Y €]  @L€1€ € @   €€ € € € € € € € € € € € €˙˙˙˙€˙˙˙˙˙˙5€˙˙n80…0880DAT*.ö…P80…l1‹}4Nd t textClosetoolbaritemname Exit!toolbaritemtext> toolbaritemspaceX 0 P l B$8 010$›)D8d L parentwindown@ue_toolbartext+posteventŔ8 0 D €€2  DAT*0ö+create+clicked(˙˙Ŕ˙˙Ŕ2  ]  @t€1€ € @   €€˙˙˙˙€˙˙˙˙˙˙5€˙˙T80…0880…P80…4d X textDAT*2öSavetoolbaritemname Save!toolbaritemtext>  0 P B$8 010$›)D8d L parentwindown@ue_toolbartext+posteventŔ8 0 D €€2  +create+clicked(˙˙Ŕ˙˙Ŕ2  ]  @œ€1€ € DAT*4ö@   €€˙˙˙˙€˙˙˙˙˙˙5€˙˙T80…0880…P80…4d X textPrinttoolbaritemname Print!toolbaritemtext?  0 P B$8 010$›)D8DAT*6öd L parentwindown@ue_toolbartext+posteventŔ8 0 D €€2  +create+clicked(˙˙Ŕ˙˙Ŕ2  ]  @Ä€1€ € @   €€˙˙˙˙€˙˙˙˙˙˙5€˙˙DAT*8öT80…,840…P80…4d X textNewtoolbaritemname ScriptNo!toolbaritemtext>  , P B$8 010$›)D8d L parentwindown@ue_toolbartext+posteventŔ8 0 D €€2  DAT*:ö +create+clicked(˙˙Ŕ˙˙Ŕ2  ]  @ě€1€ € @   €€˙˙˙˙€˙˙˙˙˙˙5€˙˙T80…0880…T80…4d \ textDAT*<öEdittoolbaritemname Custom072!toolbaritemtextC  0 T B$8 010$›)D8d L parentwindown@ue_toolbartext+posteventŔ8 0 D €€2  +create+clicked(˙˙Ŕ˙˙Ŕ2  ]  @€1€ € DAT*>ö@   €€˙˙˙˙€˙˙˙˙˙˙5€˙˙T80…0880…T80…4d \ textDeletetoolbaritemname Custom009!toolbaritemtextC  0 T B$8 010$›)D8DAT*@öd L parentwindown@ue_toolbartext+posteventŔ8 0 D €€2  +create+clicked(˙˙Ŕ˙˙Ŕ2  ]  @<€1€ € @   €€˙˙˙˙€˙˙˙˙˙˙5€DAT*Bö˙˙T80…,840…P80…4d X textAddtoolbaritemname Compile!toolbaritemtext=  , P B$8 010$›)D8d L parentwindown@ue_toolbartext+posteventŔ8 0 D €€2 DAT*Dö +create+clicked(˙˙Ŕ˙˙Ŕ2  ]  @d€1€ € @   €€˙˙˙˙€˙˙˙˙˙˙5€˙˙ 80…d  text- €2  +createDAT*Fö˙˙Ŕ2  ]  @Œ€1€ € @   €€˙˙˙˙€˙˙‚80…0880…T80…p9}Œ1‹}4Nbd ”( textFirsttoolbaritemnameDAT*Hö VCRFirst!toolbaritemtextB toolbaritemvisible\ toolbaritemspacex 0 T p Œ B$8 010$›)D8d L parentwindown@ue_toolbartext+posteventŔ8 0 D €€2  +create+clicked(˙˙Ŕ˙˙Ŕ2  ]  @DAT*Jö´€1€ € @   €€˙˙˙˙€˙˙˙˙˙˙5€˙˙h80…0880…T80…p9}4Nd x textPriortoolbaritemname VCRPrior!toolbaritemtextB toolbaritemvisible\DAT*Lö  0 T p B$8 010$›)D8d L parentwindown@ue_toolbartext+posteventŔ8 0 D €€2  +create+clicked(˙˙Ŕ˙˙Ŕ2  ]  @Ü€1€ € @   DAT*Nö€€˙˙˙˙€˙˙˙˙˙˙5€˙˙h80…0880…T80…p9}4Nd x textNexttoolbaritemname VCRNext!toolbaritemtextA toolbaritemvisible@\  0 T p B$8 010$›)D8DAT*Pöd L parentwindown@ue_toolbartext+posteventŔ8 0 D €€2  +create+clicked(˙˙Ŕ˙˙Ŕ2  ]  @€1€ € @   €€˙˙˙˙€˙˙˙˙˙˙5€DAT*Rö˙˙h80…0880…T80…p9}4Nd x textLasttoolbaritemname VCRLast!toolbaritemtextA toolbaritemvisible\  0 T p B$8 010$›)D8d L parentwindown@ue_toolbartext+posteDAT*œventŔ8 0 D €€2  +create+clicked(˙˙Ŕ˙˙Ŕ2  ]  @,€1€ € @   €€˙˙˙˙€˙˙˙˙˙˙5€˙˙DAT*Vöforward global type m_toolbar_buttons from menu end type type m_toolbar from menu within m_toolbar_buttons end type type m_close from menu within m_toolbar end type type m_save from menu within m_toolbar end type type m_print from menu within m_toolbar end type type m_new from menu within m_toolbar end type type m_edit from menu within m_toolbar end type type m_delete from menu within m_toolbar end type type m_add from menu within m_toolbar end type type m_- from menu within m_tDAT*Xöoolbar end type type m_first from menu within m_toolbar end type type m_previous from menu within m_toolbar end type type m_next from menu within m_toolbar end type type m_last from menu within m_toolbar end type type m_toolbar from menu within m_toolbar_buttons m_close m_close m_save m_save m_print m_print m_new m_new m_edit m_edit m_delete m_delete m_add m_add m_- m_- m_first m_first m_previous m_previous m_next m_next m_last m_last end type end forward global type m_tDAT*Zöoolbar_buttons from menu m_toolbar m_toolbar end type global m_toolbar_buttons m_toolbar_buttons on m_toolbar_buttons.create m_toolbar_buttons=this this.m_toolbar=create m_toolbar this.Item[]={this.m_toolbar} end on on m_toolbar_buttons.destroy destroy(this.m_toolbar) end on type m_toolbar from menu within m_toolbar_buttons m_close m_close m_save m_save m_print m_print m_new m_new m_edit m_edit m_delete m_delete m_add m_add m_- m_- m_first m_first m_previous m_previouDAT*\ös m_next m_next m_last m_last end type on m_toolbar.create this.Text="Toolbar" this.m_close=create m_close this.m_save=create m_save this.m_print=create m_print this.m_new=create m_new this.m_edit=create m_edit this.m_delete=create m_delete this.m_add=create m_add this.m_-=create m_- this.m_first=create m_first this.m_previous=create m_previous this.m_next=create m_next this.m_last=create m_last this.Item[]={this.m_close, & this.m_save, & this.m_print, & this.m_new, & this.DAT*^öm_edit, & this.m_delete, & this.m_add, & this.m_-, & this.m_first, & this.m_previous, & this.m_next, & this.m_last} end on on m_toolbar.destroy destroy(this.m_close) destroy(this.m_save) destroy(this.m_print) destroy(this.m_new) destroy(this.m_edit) destroy(this.m_delete) destroy(this.m_add) destroy(this.m_-) destroy(this.m_first) destroy(this.m_previous) destroy(this.m_next) destroy(this.m_last) end on type m_close from menu within m_toolbar end type on m_close.crDAT*`öeate this.Text="Close" this.ToolBarItemName="Exit!" this.ToolBarItemText="Close" this.ToolBarItemSpace=2 end on event clicked;parentwindow.PostEvent("ue_toolbar", 0, lower(this.text)) end event type m_save from menu within m_toolbar end type on m_save.create this.Text="Save" this.ToolBarItemName="Save!" this.ToolBarItemText="Save" end on event clicked;parentwindow.PostEvent("ue_toolbar", 0, lower(this.text)) end event type m_print from menu within m_toolbar end typeDAT*bö on m_print.create this.Text="Print" this.ToolBarItemName="Print!" this.ToolBarItemText="Print" end on event clicked;parentwindow.PostEvent("ue_toolbar", 0, lower(this.text)) end event type m_new from menu within m_toolbar end type on m_new.create this.Text="New" this.ToolBarItemName="ScriptNo!" this.ToolBarItemText="New" end on event clicked;parentwindow.PostEvent("ue_toolbar", 0, lower(this.text)) end event type m_edit from menu within m_toolbar end type on mDAT*dö_edit.create this.Text="Edit" this.ToolBarItemName="Custom072!" this.ToolBarItemText="Edit" end on event clicked;parentwindow.PostEvent("ue_toolbar", 0, lower(this.text)) end event type m_delete from menu within m_toolbar end type on m_delete.create this.Text="Delete" this.ToolBarItemName="Custom009!" this.ToolBarItemText="Delete" end on event clicked;parentwindow.PostEvent("ue_toolbar", 0, lower(this.text)) end event type m_add from menu within m_toolbar end type DAT*fö on m_add.create this.Text="Add" this.ToolBarItemName="Compile!" this.ToolBarItemText="Add" end on event clicked;parentwindow.PostEvent("ue_toolbar", 0, lower(this.text)) end event type m_- from menu within m_toolbar end type on m_-.create this.Text="-" end on type m_first from menu within m_toolbar end type on m_first.create this.Text="First" this.ToolBarItemName="VCRFirst!" this.ToolBarItemText="First" this.ToolBarItemVisible=false this.ToolBarItemSpace=2 end onDAT*hö event clicked;parentwindow.PostEvent("ue_toolbar", 0, lower(this.text)) end event type m_previous from menu within m_toolbar end type on m_previous.create this.Text="Prior" this.ToolBarItemName="VCRPrior!" this.ToolBarItemText="Prior" this.ToolBarItemVisible=false end on event clicked;parentwindow.PostEvent("ue_toolbar", 0, lower(this.text)) end event type m_next from menu within m_toolbar end type on m_next.create this.Text="Next" this.ToolBarItemName="VCRNext!" DAT*´ this.ToolBarItemText="Next" this.ToolBarItemVisible=false end on event clicked;parentwindow.PostEvent("ue_toolbar", 0, lower(this.text)) end event type m_last from menu within m_toolbar end type on m_last.create this.Text="Last" this.ToolBarItemName="VCRLast!" this.ToolBarItemText="Last" this.ToolBarItemVisible=false end on event clicked;parentwindow.PostEvent("ue_toolbar", 0, lower(this.text)) end event DAT*lörŽ@˜?÷6îœô6Ž@€Ž@€‰+Ž@Ž@0n@n@79@9@G8@8@T\@\@^@^@šh@h@¨i@i@´j@j@Čk@k@Ô}@}@ä‹@‹@ń@@ţŽ@Ž@€P° m_toolbar_samplem_toolbar_buttonsmenuwindowmenumergeoptionmenuitemtypepowerobject€ PAi€ `$€ PAi€ `$€ DAT*nöPAi€ `$€ PAi€ `$€ PAi€ `$€ PAi€ `$€ PAi€ `$structuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemDAT*pöconnectioninfo€ PAi€ `$€ PAi€ `$€ PAi€ `$€ PAi€ `$`ˆ°Ř(Px Čđ@h8`ˆ°ŘDAT*rö(2 m_toolbar_sample˙˙ €" +create+destroy+clicked Q x° _initsrcm_toolbar_buttonsm_toolbar_samplemenuwindowmenumergeoptionmenuitemtypem_toolbar_buttons`m_toolbarm_toolbarm_toolbar_buttons`m_closem_closepowerobjectm_toolbar_buttons`m_savem_savem_toolbar_buttons`m_printm_printm_toolbar_buttons`m_newm_newm_toolbar_buttons`m_editm_editm_toolbar_buttons`m_deletem_deletem_toolbar_DAT*töbuttons`m_addm_addm_toolbar_buttons`m_-m_-m_toolbar_buttons`m_firstm_firstm_toolbar_buttons`m_previousm_previousm_toolbar_buttons`m_nextm_nextm_toolbar_buttons`m_lastm_lastm_-11structuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfom_listviewm_treeview˜˙˙˙˙@˙˙#˙˙4@˙˙9@˙˙@@˙˙P@˙˙]€DAT*vö˙˙y˙˙ƒ€˙˙˙˙Ľ@˙˙ą€˙˙Ę˙˙Ń€˙˙ë ˙˙ó €˙˙  ˙˙ €˙˙* ˙˙1€˙˙L˙˙U€˙˙m˙˙s€˙˙‰˙˙€˙˙§˙˙Ż€˙˙Ě˙˙×€˙˙đ˙˙÷€˙DAT*xö˙˙˙˙˙@˙˙'@˙˙5 @˙˙A @˙˙U @˙˙a @˙˙q @˙˙~@˙˙‹@˙˙š˙˙Ľđ …€€ €€€€ €€€ € €€€ € €€€€ €€€€ €€€€DAT*zö €€€€ €€€€ €€€€ €€€€ €€€€ €€€€ €€€!€"€,€-€ŕ€Ŕ˙˙€€˙˙$ €€˙˙ €€˙˙€€˙˙€€˙˙€€˙˙€€DAT*|ö˙˙€€˙˙€€˙˙€€˙˙€€˙˙€€˙˙ €€˙˙€€˙˙€€˙˙€€˙˙"‡€8 d  create€8d  destroyDAT*~ö€€2  +create+destroy(˙˙Ŕ ˙˙Ŕ2  ]  @ˆ€1€ € @   €€ €˙˙˙˙€˙˙˙˙˙˙5€˙˙€8* ‡4*<‡P*X‡h$p$DAT*€öš1RŻ x$‡€$ˆ$š1RŻ $‡˜$ $š1RŻ ¨$‡(>TŒÄd °x createm_-11!"€"€˙˙m_listview(",€(,€˙˙m_treeviewD#-€D-€˙˙item `Ž@`Ž@!"€`Ž@`Ž@(",€`Ž@`Ž@D#-€  4 <P Xh p x € ˆ  ˜   ¨DAT*‚ö B€8$,$@$ .d H destroym_-11!"€m_listview ",€m_treeview4#-€ , @ €€2  +create+destroy(˙˙Ŕ˙˙Ŕ2 $ m_-11m_listviewm_treeview<˙˙ "€˙˙ ,€˙˙ -€]  @°€1€ €DAT*„ö @   €€ € € € € € € € € € € € !€ "€ ,€ -€˙˙˙˙€˙˙˙˙˙˙5€˙˙2  2  ]  @`€1€ € @   DAT*†ö€€2  2  ]  @ˆ€1€ € @   €€,€8$9}d , createtoolbaritemvisible $ €2  +create˙˙Ŕ2  ]  @DAT*ˆö°€1€ € @   €€˙˙˙˙€˙˙,€8$9}d , createtoolbaritemvisible $ €2  +create˙˙Ŕ2  ]  @؀1€ € @ DAT*Šö  €€˙˙˙˙€˙˙,€8$9}d , createtoolbaritemvisible $ €2  +create˙˙Ŕ2  ]  @€1€ € @   DAT*Œö€€˙˙˙˙€˙˙,€8$9}d , createtoolbaritemvisible11 $ €2  +create˙˙Ŕ2  ]  @(€1€ € @   €€˙˙˙˙€˙˙DAT*Žö,€8$9}d , createtoolbaritemvisible $ €2  +create˙˙Ŕ2  ]  @P€1€ € @   €€˙˙˙˙€˙˙2  2  ] DAT*ö @x€1€ € @   €€,€8$9}d , createtoolbaritemvisible $ €2  +create˙˙Ŕ2  ]  @ €1€ € @   DAT*’ö€€˙˙˙˙€˙˙,€8$9}d , createtoolbaritemvisible $ €2  +create˙˙Ŕ2  ]  @Č€1€ € @   €€˙˙DAT*”ö˙˙€˙˙,€8$9}d , createtoolbaritemvisible $ €2  +create˙˙Ŕ2  ]  @đ€1€ € @   €€˙˙˙˙€˙˙, €8DAT*–ö$9}d , createtoolbaritemvisible $ !€2  +create˙˙Ŕ2  ]  @€1€ € @   €€˙˙˙˙€˙˙ 80…d  DAT*˜ö text- "€2  +create˙˙Ŕ2  ]  @Ř€1€ € @   €€˙˙˙˙€˙˙n80…48<0…X80…t1‹}4Nd | DAT*šö textListViewtoolbaritemname! ListView!toolbaritemtextF toolbaritemspace˙` 4 X t B$8 010$›)D8d L parentwindown@ue_toolbartext+posteventŔ8 0 D ,€,€2  +create+clicked(˙˙Ŕ˙˙Ŕ2  ] DAT*œö @€1€ € @   €€˙˙˙˙€˙˙˙˙˙˙5€˙˙T80…48<0…X80…4d ` textTreeViewtoolbaritemname! TreeView!toolbaritemtextF  4 X BDAT*žö$8 010$›)D8d L parentwindown@ue_toolbartext+posteventŔ8 0 D -€-€2  +create+clicked(˙˙Ŕ˙˙Ŕ2  ]  @(€1€ € @   €€˙˙˙˙DAT*F€˙˙˙˙˙˙5€˙˙DAT*˘öAnother toolbar to demonstrate ChangeMenuforward global type m_toolbar_sample from m_toolbar_buttons end type type m_-11 from menu within m_toolbar end type type m_listview from menu within m_toolbar end type type m_treeview from menu within m_toolbar end type end forward global type m_toolbar_sample from m_toolbar_buttons end type global m_toolbar_sample m_toolbar_sample on m_toolbar_sample.create m_toolbar_sample=this call super::create end on on m_toolbar_sample.destroy DAT*¤öcall super::destroy end on type m_toolbar from m_toolbar_buttons`m_toolbar within m_toolbar_sample m_-11 m_-11 m_listview m_listview m_treeview m_treeview end type on m_toolbar.create call super::create this.m_-11=create m_-11 this.m_listview=create m_listview this.m_treeview=create m_treeview this.Item[UpperBound(this.item)+1]=this.m_-11 this.Item[UpperBound(this.item)+1]=this.m_listview this.Item[UpperBound(this.item)+1]=this.m_treeview end on on m_toolbar.destroy call sDAT*Śöuper::destroy destroy(this.m_-11) destroy(this.m_listview) destroy(this.m_treeview) end on on m_print.create call super::create this.ToolBarItemVisible=false end on on m_new.create call super::create this.ToolBarItemVisible=false end on on m_edit.create call super::create this.ToolBarItemVisible=false end on on m_delete.create call super::create this.ToolBarItemVisible=false end on on m_add.create call super::create this.ToolBarItemVisible=false end on on m_firDAT*¨öst.create call super::create this.ToolBarItemVisible=true end on on m_previous.create call super::create this.ToolBarItemVisible=true end on on m_next.create call super::create this.ToolBarItemVisible=true end on on m_last.create call super::create this.ToolBarItemVisible=true end on type m_-11 from menu within m_toolbar end type on m_-11.create this.Text="-" end on type m_listview from menu within m_toolbar end type on m_listview.create this.Text="ListVieDAT*Ĺw" this.ToolBarItemName="ListView!" this.ToolBarItemText="ListView" this.ToolBarItemSpace=2 end on event clicked;parentwindow.PostEvent("ue_toolbar", 0, lower(this.text)) end event type m_treeview from menu within m_toolbar end type on m_treeview.create this.Text="TreeView" this.ToolBarItemName="TreeView!" this.ToolBarItemText="TreeView" end on event clicked;parentwindow.PostEvent("ue_toolbar", 0, lower(this.text)) end event DAT*Źörf@Ç8÷6íœô6o@o@€"p@p@9€?q@q@R€Xr@r@X€^t@t@^€ff@f@f@€‰r^@^@|h@h@Ši@i@–j@j@Şk@k@ś}@}@Ƌ@‹@ӝ@@ŕŽ@Ž@ď\@\@€űn@€ ű€ toolbartransactionsqlcadynamicdescriptionareasqldadynamicstagingareasqlsaerrormessageapplicationstructuremailrecipientenvironmentmailfiledescriptioDAT*Žönmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjectw_popup20 sqlcasqldasqlsaerrormessagetoolbarx˙˙ €˙˙ €˙˙ €˙˙ €˙˙ €˙˙( €+ +create+destroycommandline+open Q˙˙QS  xú _initsrctransactiondynamicdescriptionareadynamicstagingareaerrormessageapplicationtoolbarstructureDAT*°ömailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjectw_popup|˙˙˙˙@˙˙@˙˙4@˙˙G@˙˙M@˙˙U @˙˙a˙˙i @˙˙s @˙˙@˙˙@˙˙Ą@˙˙­@˙˙˝@˙˙Ę@˙˙×@˙˙ć@˙DAT*˛ö˙ň@đ …€€€Ŕ˙˙ f80…j(‡j<‡j\‡jx‡jˆ‡(6DRd 0 appnametoolbarmessage €˙˙transaction0€˙˙dynamicdescriptionareaD€˙˙dynamicstagingaread€˙˙error€€˙˙ (<\xˆ$DAT*´ö d  J9}09}Śź‚Ť@˝‚ś8(d commandlinew_popup(˙˙ ˙˙@€8 toolbartexttoolbarusercontrol 0 €€€2  +create+destroy+open<˙˙Ŕ˙˙Ŕ˙˙Ŕ2  DAT*Ě      ˙˙˙˙€˙˙˙˙˙˙5€˙˙% ˙˙5€˙˙DAT*Q íč]÷ż4 !÷żxŠZ ţ@śş! ţ ¸í jfH*Áş!°$ĎhÚ)|hh˝˜÷ż<^Z`hF"Ď`h¸íŠíŇlšh´Bö˙"Arial°4[ęp•ZŕWĄö˙"Arial÷żŕWĐé7ęęÄ>÷żö˙"Arialŕůűżęę|ěö˙"Arial1@ăčę'˘@|ě#ľş˙˙˙DAT*şöforward global transaction sqlca global dynamicdescriptionarea sqlda global dynamicstagingarea sqlsa global error error global message message end forward global type toolbar from application end type global toolbar toolbar on toolbar.create appname = "toolbar" message = create message sqlca = create transaction sqlda = create dynamicdescriptionarea sqlsa = create dynamicstagingarea error = create error end on on toolbar.destroy destroy( sqlca ) destroy( sqlda ) destroyDAT*( sqlsa ) destroy( error ) destroy( message ) end on event open;ToolbarText = True ToolbarUserControl = False open(w_popup) end event DAT*žöSample Windowforward global type w_popup from Window end type type mle_1 from multilineedit within w_popup end type type ln_1 from line within w_popup end type type ln_2 from line within w_popup end type end forward global type w_popup from Window int X=823 int Y=360 int Width=1970 int Height=1544 boolean TitleBar=true string Title="Custom Toolbars Anywere" long BackColor=79741120 boolean ControlMenu=true boolean MinBox=true boolean MaxBox=true boolean Resizable=true WindowDAT*ŔöType WindowType=popup! string Icon="None!" event ue_toolbar ( ) event ue_save ( ) mle_1 mle_1 ln_1 ln_1 ln_2 ln_2 end type global w_popup w_popup type variables end variables event ue_toolbar;string ls_action ls_action = string(Message.LongParm, "address") CHOOSE CASE ls_action CASE "close" close(this) CASE ELSE this.TriggerEvent("ue_" + ls_action) END CHOOSE end event event ue_save;MessageBox("Hello", "I am 'ue_save' event in the host window") end evDAT*Âöent event resize;mle_1.resize(This.WorkSpaceWidth() - mle_1.x - 15, this.WorkSpaceHeight() - mle_1.y - 20) if isValid(w_toolbar) then w_toolbar.height = this.WorkSpaceHeight() if isValid(w_toolbar2) then w_toolbar2.width = this.WorkSpaceWidth() ln_1.EndY = this.height; ln_2.EndY = this.height end event on w_popup.create this.mle_1=create mle_1 this.ln_1=create ln_1 this.ln_2=create ln_2 this.Control[]={this.mle_1,& this.ln_1,& this.ln_2} end on on w_popup.destroy destroy(this.mlDAT*Äöe_1) destroy(this.ln_1) destroy(this.ln_2) end on event open;OpenWithParm(w_toolbar, this) // vertical OpenWithParm(w_toolbar2, this) // horizontal end event type mle_1 from multilineedit within w_popup int X=370 int Y=204 int Width=1527 int Height=868 int TabOrder=10 BorderStyle BorderStyle=StyleLowered! boolean VScrollBar=true boolean AutoVScroll=true long TextColor=33554432 int TextSize=-10 int Weight=400 string FaceName="Arial" FontCharSet FontCharSet=Ansi! FontFamilDAT*Ćöy FontFamily=Swiss! FontPitch FontPitch=Variable! end type event constructor;this.text = "This popup window features standard PB toolbars~r~n& that are normally available in the MDI frame~r~n& windows only.~r~n~r~nFeel free to change this window~r~n& type to anything you like (even response window).~r~n~r~n& You can attach menu if you like, you can resize it,~r~n& move, etc...~r~n~r~n& There is no difference in working with the custom~r~n& toolbars and the standard PB toolbars, all feaDAT*Štures~r~n& and existing code can be ported with very little changes.~r~n~r~n& Enjoy!" end event type ln_1 from line within w_popup boolean Enabled=false int BeginX=261 int EndX=261 int EndY=2484 int LineThickness=4 long LineColor=8421504 end type type ln_2 from line within w_popup boolean Enabled=false int BeginX=265 int EndX=265 int EndY=2484 int LineThickness=4 long LineColor=16777215 end type DAT*Ęörn@\?÷6îœô6!n@n@n@€‰Ž@Ž@Z@Z@'Y@Y@3a@a@@T@T@Q^@^@[h@h@ii@i@uj@j@‰k@k@•}@}@Ľ‹@‹@˛@@żŽ@Ž@Î\@\@@@@@@@(@@3@@=R@R@F@@|ˆ@ˆ@/@/@ €,t@t@,€4n@€4@€>n@€> €I( w_popupwindowmenuwindowtypewindowstatewindowobjecttoolbaraDAT*Ěölignmentstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobject€ PAimultilineeditfontcharsetfontpitchfontfamilyalignmenttextcaseborderstyle˙˙`$linelinestyleCustom Toolbars AnywereNone!€ PAi€ `$Arial˙˙PAimessagew_toolbarDAT*Îöw_toolbar2ÜTŹÔ2 w_popup˙˙ €e +ue_toolbar+ue_savesizetypenewwidthnewheight+resize+create+destroy+open+constructor7 Q˙˙ &˙˙/˙˙LUIIL  xm _initsrcwindoww_popupmenuwindowtypewindowstatewindowobjecttoolbaralignmentstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemcDAT*Đöonnectioninfopowerobjectmultilineeditmle_1fontcharsetfontpitchfontfamilyalignmenttextcaseborderstylelineln_1linestyleln_2messagew_toolbarw_toolbar2”˙˙˙˙@˙˙˙˙ @˙˙%@˙˙0@˙˙<@˙˙I@˙˙Z@˙˙d@˙˙r @˙˙~ @˙˙’ @˙˙ž @˙˙Ž @˙˙ť@˙˙ČDAT*Ňö@˙˙×@˙˙ă@˙˙ń˙˙÷@˙˙@˙˙ @˙˙@˙˙"@˙˙+@˙˙7@˙˙<˙˙A@˙˙K˙˙P@˙˙X@˙˙b@đ …€Ą€€€€€Ŕ˙˙xW!)&€€˙˙?2 ((€€DAT*Ôö˙˙ €€˙˙ –,$80ź Ť@˝ 8…6…8Şpź Ť@˝ 88z%)082BVl pd! ls_actionmessagecase5<15˙˙ ar˙˙@€e=˙˙ 8 ˙˙addresscloseue_triggerevent Ŕ" 0 .8080źwŤ@˝w8DAT*Ööd 6 HelloI am 'ue_save' event in the host windowl$)(80$<$<<Y1Y‹)T8\$h$<<Y1Y‹)x8,•Ŕ,ˆ)8}, •ě,  )¨8}¸$ČĐ$}ŕ$čđ$},•R1`,ř$”Ŕě8dC sDAT*Řöizetypenewwidthnewheightw_toolbarw_toolbar2::messagex˙˙ ˙˙˙˙˙˙$@€˙˙. @ €˙˙9@€˜ mle_1n@&€workspacewidth@`Ŕ&€x8workspaceheight_ŔD&€ydresizeŔpheight€_ŔDwidth˜`Ŕln_1°'€endyŔ €ln_2Ř(€Ŕ €˙˙ ( 0 < T \ h xDAT*Úö ˆ    ¨ ¸ Č Đ ŕ č đ ř „*‡(*0‡@*H‡X`$h$p$˛€ |,Bd xP mle_1&€€˙˙ln_1 '€ €˙˙ln_28(€8€˙˙controlPa@&€ '€8(€ ( 0@ HX ` h p 0$DAT*Üö $0$d 8 mle_1n@&€ln_1n@'€ln_2n@((€  0 pŚź˘Ť@˝˘ś8Ś ź˘Ť@˝˘ś8,•V1d,$<d' w_toolbarw_toolbar2::message<˙˙@€˙˙ @ €˙˙@€ ˙˙ €€%€-€v€w€ą%č-2 < +ueDAT*Ţö_toolbar+ue_save+resize+create+destroy+openx˙˙"˙˙n@Ŕn@˙˙&Ŕ˙˙'˙˙n@Ŕn@˙˙%+Ŕ˙˙,˙˙-n@Ŕn@˙˙60Ŕ2 v xywidthheighttitlebartitlebackcolorcontrolmenuminboxmaxboxresizablewindowtypeiconmle_1ln_1ln_2@˙˙7˙˙ h˙˙ ˛˙˙˙˙˙˙"‹€˙˙(ŔŔŔ˙˙2Ŕ˙˙>Ŕ˙˙EŔDAT*ŕö˙˙LŔ˙˙VŔ€˙˙aŁ€˙˙f €˙˙l €˙˙q €] 7h˛€‹€  €ŔŔŔŔ€Ŕ€€Ô€1€ŔŔŔŁ€ @@€@ € € €˙˙˙˙v€˙˙DAT*âö˙˙˙˙5w€˙˙90 ˙˙5-€čA˙˙˙˙5€˙˙I˙˙˙˙Ł€˙˙R5˙˙˙˙H%€ąN80…,•41B,Đ$ d ::message˙˙@€Ř textn@This popup window features standard PB toolbars that are normally available in the MDI frame windows onDAT*äöly. Feel free to change this window type to anything you like (even response window). You can attach menu if you like, you can resize it, move, etc... There is no difference in working with the custom toolbars and the standard PB toolbars, all features and existing code can be ported with very little changes. Enjoy!˙˙ Đ #€L#2  +constructorWidt˙˙t Ŕ2 ‰ xywidthheighttaborderborderstylevscrollbarautovDAT*ćöscrolltextcolortextsizeweightfacenamefontcharsetfontfamilyfontpitch,˙˙r˙˙ Ě˙˙ ÷˙˙d˙˙ ˙˙"€˙˙.˙˙9˙˙E˙˙Oö˙˙˙˙˙X˙˙_ü€˙˙hi€˙˙ti€˙˙i€] rĚ÷d  Eö˙˙˙i€iDAT*čö€i€ü€ @@ @€€€1€@X5˙˙˙˙#€L2  2 9 enabledbeginxendxendylinethicknesslinecolorx˙˙i˙˙˙˙˙˙´ ˙˙!˙˙/€€€] €€€€DAT*_´ i2  2 9 enabledbeginxendxendylinethicknesslinecolorx˙˙€˙˙ ˙˙ ˙˙´ ˙˙!˙˙/˙˙˙] ˙˙˙€  ´ €DAT*ěöVertical Toolbarforward global type w_toolbar from Window end type type mdi_1 from mdiclient within w_toolbar end type end forward global type w_toolbar from Window int X=690 int Y=12 int Width=9 int Height=1500 boolean TitleBar=true string MenuName="m_toolbar_buttons" long BackColor=79741120 ToolBarAlignment ToolBarAlignment=AlignAtRight! WindowType WindowType=mdi! string Icon="None!" event ue_toolbar ( ) mdi_1 mdi_1 end type global w_toolbar w_toolbar type prototypes fuDAT*îönction ulong SetWindowLong(ulong whnd, int index, ulong newlong) library "user32.dll" alias for "SetWindowLongA" function ulong GetWindowLong(ulong whnd, int index) library "user32.dll" alias for "GetWindowLongA" function long SetParent(long hwndChild, long hwndNewParent) library "user32.dll" end prototypes type variables window parentwindow end variables event ue_toolbar;string ls_action ls_action = string(Message.LongParm, "address") parentwindow.TriggerEvent("ue_toolbar",DAT*đö 0, ls_action) end event on w_toolbar.create if this.MenuName = "m_toolbar_buttons" then this.MenuID = create m_toolbar_buttons this.mdi_1=create mdi_1 this.Control[]={this.mdi_1} end on on w_toolbar.destroy if IsValid(MenuID) then destroy(MenuID) destroy(this.mdi_1) end on event open;parentwindow = Message.PowerObjectParm string ls_text ulong ll_style CONSTANT int GWL_STYLE = -16 CONSTANT ulong WS_CAPTION = 12582912 CONSTANT ulong WS_CHILD = 1073741824 CONSTANT uint MF_DAT*ňöBYPOSITION = 1024 // change parent window SetParent(handle(this), handle(parentwindow)) // remove title bar ll_style = GetWindowLong(handle(this), GWL_STYLE) ll_style -= WS_CAPTION SetWindowLong(handle(this), GWL_STYLE, ll_style) // set window style to CHILD window ll_style += WS_CHILD SetWindowLong(handle(this), GWL_STYLE, ll_style) // resize and position this toolbar on the left side of the parent window this.Move(0, 0) this.Resize(255, parentwindow.WorkSpaceHeight()) end evDAT*ent event activate;POST SetFocus(parentwindow) end event type mdi_1 from mdiclient within w_toolbar long BackColor=276856960 end type DAT*öörn@U>÷6îœô6n@n@n@€‰Ž@Ž@Z@Z@)Y@Y@5a@a@BT@T@S^@^@]h@h@ki@i@wj@j@‹k@k@—}@}@§‹@‹@´@@ÁŽ@Ž@Đ\@\@@@€P€ ^¨€ l€  t@t@ €Ž@€¨ w_toolbarwindowmenuwindowtypewindowstatewindowobjecttoolbaralignmentstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlDAT*řöistviewitemtreeviewitemconnectioninfopowerobject€  Óimdiclientm_toolbar_buttonsNone!€ 0Ôisetwindowlonggetwindowlongsetparent€  ÓimessageÜ(x2 w_toolbar˙˙ €š +ue_toolbarwhndindexnewlongsetwindowlonguser32.dllSetWindowLongAgetwindowlongGetWindowLongAhwndchildhwndnewparentsetparentSetParent+creDAT*úöate+destroy+open+activater Q˙˙ ˙˙˙˙ UUIU˙˙ ˙˙UUIl˙˙v˙˙LLLL 8T x _initsrcwindoww_toolbarmenuwindowtypewindowstatewindowobjecttoolbaralignmentstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjectmdiclientmdi_1messagem_toolbar_buttons¸˙˙˙˙@DAT*üö˙˙˙˙"@˙˙'@˙˙2@˙˙>@˙˙K@˙˙\@˙˙f@˙˙t @˙˙€ @˙˙” @˙˙  @˙˙° @˙˙˝@˙˙Ę@˙˙Ů@˙˙ĺ@˙˙ď˙˙ő@˙˙ý@đ …€ą€€€Ŕ˙˙zZ (DAT*ţö&€€ l,$80ź Ť@˝ 8…($80016)H82d ls_actionmessage( ˙˙ to˙˙@€P ˙˙addressparentwindow'€ue_toolbartriggereventŔ; ( H r$8Ş28j@‡P*X‡hp$˛€ |2DAT*öHd x8 menuname m_toolbar_buttonsmenuid. Ž@€˙˙mdi_1H&€H€˙˙control`a@H&€ 8 @P Xh p 4$• $($ d 0 menuid Ž@ Ž@mdi_1  &€  ( Ş , $ˆźLŤ@˝L8($źLŤ@˝L8)<8źLŤ@˝LDAT*ö8F/đ˙)T8€2Ŕ źLŤ@˝L8F/đ˙)l82@źLŤ@˝L8F/đ˙)t81‹1‹)„81˙‹Œ$)¤8)´8,•1ž,ź$ b–ŚŘč@vdW messagels_textll_stylegwl_stylews_captionws_childmf_byposition::message ˙˙@€˙˙ ˙˙DAT*ö ˙˙!đ˙˙˙˙˙+Ŕ ˙˙6@ ˙˙? ˙˙M@€Ä` parentwindow'€˙˙ \@'€setparentyŔ0getwindowlongxŔDsetwindowlongwŔ\wŔ\move>Ŕ|'€workspaceheight_Ŕ”resizeTŔŹ˙˙  ( < T l t „ Œ ¤ ´ ź P$),8,•61D,4$DAT*öd ::message˙˙@€< parentwindowL'€setfocusTUŔ ˙˙ , 4 €€€%€v€w€x€y€ą%2 [ +ue_toolbarsetwindowlonggetwindowlongsetparent+create+destroy+open+activate ˙˙Ŕ˙˙Ŕ˙˙"Ŕ˙˙0Ŕ˙˙:Ŕ˙˙BŔ˙˙KŔ˙˙QŔ2 i xywidtDAT*öhheighttitlebarmenunamebackcolortoolbaralignmentwindowtypeiconmdi_1parentwindowđ˙˙˛n@˙˙  ˙˙ n@˙˙Ü˙˙n@˙˙"€˙˙+ŔŔŔn@˙˙5Ŕ€˙˙FŔ€n@˙˙Q €˙˙V €n@˙˙\€] ˛  Ü€ € €€Ŕ€€xDAT* ö€1€ŔŔŔ € @Ŕ€@ €€˙˙˙˙v€˙˙'0 @5w˙˙ D˙˙OP8]5x˙˙ D˙˙„lTŽ5y˙˙D˙˙˜˙˙˙˙Ł€˙˙ ˙˙˙˙H€˙˙Šp˙˙˙˙{%€ąŻp˙˙˙˙ˇ€DAT*Ÿ2  2  backcolor˙˙€€€] €€€DAT*öHorizontal Toolbarforward global type w_toolbar2 from w_toolbar end type end forward global type w_toolbar2 from w_toolbar int Width=2002 int Height=156 string MenuName="m_toolbar_sample" ToolBarAlignment ToolBarAlignment=AlignAtTop! end type global w_toolbar2 w_toolbar2 on w_toolbar2.create call super::create if IsValid(this.MenuID) then destroy(this.MenuID) if this.MenuName = "m_toolbar_sample" then this.MenuID = create m_toolbar_sample end on on w_toolbar2.destroy call suDAT*Şper::destroy if IsValid(MenuID) then destroy(MenuID) end on event open;call super::open;Move(270, 0) Resize(parentwindow.WorkSpaceWidth() - 270, 165) end event DAT*örn@Ź?÷6îœô6 n@€n@€‰Ž@Ž@"Z@Z@-Y@Y@9a@a@FT@T@W\@\@cn@n@€ŞŽ@€ät@t@Aä €ě w_toolbar2w_toolbarmenuwindowtypewindowstatewindowobjecttoolbaralignmentpowerobjectwindowm_toolbar_buttons€ `$None!m_toolbar_sample€ PAimessage|ź2 w_toolbar2˙˙ €DAT*ö +create+destroy+open QL x˘ _initsrcw_toolbarw_toolbar2menuwindowtypewindowstatewindowobjecttoolbaralignmentw_toolbar`mdi_1mdi_1powerobjectwindowm_toolbar_samplemessage˙˙˙˙@˙˙˙˙&@˙˙+@˙˙6@˙˙B@˙˙O@˙˙`€˙˙p˙˙v@˙˙‚@˙˙‰ @˙˙DAT*öš @đ …€€ €€€ €€Ŕ˙˙zZ (&€€˙˙ j€8$•2 $4$8<ŞdPjX‡2d `( createmenuid Ž@ Ž@menuname( m_toolbar_sample  Ž@< €˙˙  4 P X8€8DAT*ö$•2 $d ( destroymenuid Ž@ Ž@  ¸%€81‹1‹)8,$)D81<Y‹1Ľ‹)T8, •ž1Ź, \$>„d& ancestorreturnvalue::message( ˙˙\@˙˙ @ €d( openmoveA>Ŕ parentwindow˙D'€workspacewidth`DAT*öŔ4resizeTŔL˙˙ , D T \ €€%€ą%2  +create+destroy+open<˙˙Ŕ˙˙Ŕ˙˙Ŕ2 / widthheightmenunametoolbaralignmentP˙˙Ň˙˙œ˙˙Ş€˙˙€] ˛ Ňœ€ Ş€ €€ŔDAT*Ş€€ź€1€ŔŔŔ¤€ @€@ € €˙˙˙˙€˙˙˙˙˙˙5€˙˙ ˙˙˙˙5%€ą2  2  ] €€€