I have an application that has a toolbar with some buttons and using the Clarion 11.1 claRun.dll, the window with a toolbar is displayed but the toolbar is not displayed. Has anyone else seen this problem and know a workaround?
Bill A
I have an application that has a toolbar with some buttons and using the Clarion 11.1 claRun.dll, the window with a toolbar is displayed but the toolbar is not displayed. Has anyone else seen this problem and know a workaround?
Bill A
does the toolbar have a USE(?ToolBarUsevariable)?
Might help if you posted the code for the WINDOW declaration line and TOOLBAR with controls. Also a screenshot of the Window in Designer, and of a window preview.
In the Main procedure, the window looks like this
> AppFrame APPLICATION('Register Start Up Application'),AT(,,450,266),FONT('Segoe UI',10,,FONT:regular), |
> DOUBLE,AUTO,CENTER,ICON('WAFRAME.ICO'),IMM,MASK,STATUS(110,-1,120,45),TIMER(1000)
> TOOLBAR,AT(0,0,450,47),USE(?TOOLBAR1),#ORDINAL(1)
> BUTTON('Start Register'),AT(3,2,62,41),USE(?btnMainF02),KEY(F2Key),ICON('F02.ico'), |
> DISABLE,#ORDINAL(2)
> BUTTON,AT(66,2,62,41),USE(?btnMainF03),KEY(F3Key),DISABLE,#ORDINAL(3)
> BUTTON('Clock In/Out'),AT(130,2,62,41),USE(?btnMainF04),KEY(F4Key),ICON('F04.ico'), |
> DISABLE,#ORDINAL(4)
> BUTTON,AT(193,2,62,41),USE(?btnMainF05),KEY(F5Key),DISABLE,#ORDINAL(5)
> BUTTON('DT Menu'),AT(257,2,62,41),USE(?btnMainF06),KEY(F6Key),ICON('F06.ico'), |
> DISABLE,#ORDINAL(6)
> BUTTON,AT(320,2,62,41),USE(?btnMainF07),KEY(F7Key),DISABLE,#ORDINAL(7)
> BUTTON('Close'),AT(383,2,62,41),USE(?btnMainF10),KEY(F10Key),ICON('F10.ico'),DISABLE, |
> #ORDINAL(8)
> END
> END
In the RegStartup procedure the window looks like this, it is this toolbar that does not display
RegStartUpWin WINDOW,AT(,,458,221),FONT('Segoe UI',10,,FONT:regular),MAXIMIZE,AUTO,GRAY,MDI, |
TIMER(100),WALLPAPER('back.jpg')
TOOLBAR,AT(0,0,458,47),USE(?TOOLBAR1),NOMERGE,#ORDINAL(1)
BUTTON('Start Register'),AT(3,2,62,41),USE(?btnStartReg),KEY(F2Key),ICON('F02.ico'), |
#ORDINAL(2)
BUTTON,AT(66,2,62,41),USE(?btnF03),KEY(F3Key),DISABLE,#ORDINAL(3)
BUTTON('Clock In/Out'),AT(130,2,62,41),USE(?btnClock),KEY(F4Key),ICON('F04.ico'), |
#ORDINAL(4)
BUTTON('Force Pin Pad Update'),AT(193,2,62,41),USE(?btnF05),KEY(F5Key),ICON('F05.ICO'), |
#ORDINAL(5)
BUTTON('DT Menu'),AT(257,2,62,41),USE(?btnDTMenu),KEY(F6Key),ICON('F06.ico'),#ORDINAL(6)
BUTTON('Assign Pin Pad'),AT(320,2,62,41),USE(?btnAssignPinPad),KEY(F7Key),ICON('F07.ICO'), |
#ORDINAL(7)
BUTTON('Close'),AT(385,2,62,41),USE(?btnClose),KEY(F10Key),ICON('F10.ico'),#ORDINAL(8)
END
IMAGE('PointOfSale01.png'),AT(8,9,86,81),USE(?IMAGE1),#ORDINAL(9)
STRING('Please LEAVE THIS REGISTER ON for updates'),AT(142,21),USE(?STRING1),FONT('Segoe UI Semibold', |
14,,FONT:bold+FONT:underline),TRN,#ORDINAL(10)
STRING(@s40),AT(124,48,257),USE(LOC:RegisterString1),FONT('Segoe UI Semibold',14, |
,FONT:bold),CENTER,TRN,#ORDINAL(11)
STRING(@s60),AT(60,68,386),USE(LOC:RegisterString2),FONT('Segoe UI',14,COLOR:Maroon, |
FONT:bold),CENTER,TRN,#ORDINAL(12)
STRING('If you need to access the time clock press F4'),AT(143,93),USE(?STRING6), |
FONT('Segoe UI Semibold',14,,FONT:bold),TRN,#ORDINAL(13)
PANEL,AT(7,158,440,51),USE(?PANEL1),BEVEL(2,-4),#ORDINAL(14)
STRING(@s60),AT(37,167,381),USE(LOC:OpenEPSString),FONT('Segoe UI',10),CENTER,TRN, |
#ORDINAL(15)
STRING(@s60),AT(37,179,381),USE(LOC:StartUpString),FONT('Segoe UI',10),CENTER,TRN, |
#ORDINAL(16)
STRING(@s60),AT(37,192,381),USE(LOC:RebootString),FONT('Segoe UI',10),CENTER,TRN, |
#ORDINAL(17)
IMAGE('DB_Connected.ico'),AT(417,136,30,24),USE(?DatabaseImage),#ORDINAL(18)
BUTTON,AT(470,4),USE(?BUTTON1),FLAT,SKIP,TRN,#ORDINAL(19)
END
I could not get the Windows Previewer to work, here is what the window looks like inside the designer
Like I was trying to say earlier, the toolbar shows up using the Clarion 11.0 runtime and it does not using the Clarion 11.1 runtime.
I am wondering if doing this fix, broke something.
FIX: If a control is CREATEd in the active MDI child window’s toolbar, its view in the Frame might not be refreshed
Bill A
`
I found a workaround, to get the toolbar to display.
By creating a SillyWindow and Open/Close that window in the OpenWindow event of the RegStartup window, forces the RegStartup to redisplay with the Toolbar showing the correct buttons.
SillyWindow WINDOW('SillyWindow...'),AT(,,200,56),CENTER,MDI,GRAY
END
OF EVENT:OpenWindow
! Start of "Window Event Handling"
! [Priority 1300]
! WEA - 07/21/2021 - SillyWindow is needed to make the Toolbar to display
OPEN(SillyWindow)
CLOSE(SillyWindow)
! WEA - 07/21/2021
This should be noted in the docs because I’m afraid it will never fixed.
Interesting. I wonder if InvalidateRect() would do the same thing.
along with “save often”
Bill, If you haven’t reported this to SV support, I definitely recommend it.
I think the odds are pretty good that SV will look at it, if they just broke it.