Strange checkbox layout mismatch?
BlitzMax Forums/MaxGUI Module/Strange checkbox layout mismatch?
| ||
| Hello! I recently recognised that the checkboxes I use aren't of the same style under Windows7 (with Aero) enabled. See row of checkboxes in the screenshot below: ![]() Any idea what is causing this? - It's the same createbutton() code. Using the default maxgui manifest file or my own doesn't make a difference as well. I just want every checkbox to use the classic style or the new one. But not this kind of mismatch. Grisu |
| ||
| Hello, can you reproduce this problem, maybe example ? Somehow I suspect that it's something to do with the manifest. Never come across this before. If I try this with my manifest all seems fine
Strict
Import maxgui.drivers
?Win32
rem
Object file compiled with windres
using three files: resource.rc, <program_name>.exe.manifest and icon.ico;
Build command was: windres -i "resource.rc" -o "myobject.o"
endrem
Import "myobject.o"
?
Local win:tgadget = CreateWindow("test",200,200,300,300,Null,WINDOW_TITLEBAR|WINDOW_STATUS|WINDOW_CENTER|WINDOW_RESIZABLE)
Local b1:tgadget = CreateButton("b1",10,10,50,23,win,BUTTON_CHECKBOX)
Local b2:tgadget = CreateButton("b2",10,40,50,23,win,BUTTON_CHECKBOX)
Local b3:tgadget = CreateButton("b3",10,70,50,23,win,BUTTON_CHECKBOX)
Local b4:tgadget = CreateButton("b4",10,100,50,23,win,BUTTON_CHECKBOX)
Local b5:tgadget = CreateButton("b5",10,130,50,23,win,BUTTON_CHECKBOX)
Local toggle:tgadget = CreateButton("Toggle",10,160,80,23,win,BUTTON_PUSH)
Global state:Int = 0
Repeat
WaitEvent()
Select EventID()
Case EVENT_WINDOWCLOSE End
Case EVENT_GADGETACTION
Select EventSource()
Case toggle
Select state
Case 0
state = 1
Case 1
state = -1
Case -1
state = 0
EndSelect
SetButtonState(b3,state)
EndSelect
EndSelect
Forever
-Henri |
| ||
Using my own manifest file, the examples work fine:![]() The GUI might be confiused, so it's sticking to the classic checkboxes. :) |
| ||
| My computer is only rendering the older xp style and I'm on windows 7. How to I change this? |
| ||
| @BLaBZ: You need to make sure that you have Windows Aero / Basic enabled on the Windows side. And in the apps framework you need to import "MaxGui.Drivers" and a manifest file such as "MaxGui.xpmanifest". |
| ||
| So, endless hours later: I found the bug... :( As soon as I use "SetGadgetTextColor" on the checkbox, the modern style gets destroyed and the classic style is used instead. Example code: Please confirm. - Any Workaround? :) Thanks! Grisu |
| ||
| Nice find, I searched a bit through MaxGUI source, and it seems that when you change text color, the button is then ownerdrawn by OnDrawItem-method, so it's not drawn by OS anymore. Sounds like something you should post to MaxGUI bugs-thread. -Henri |
| ||
| As a workaround you could use text labels right beside checkbox and change their color instead -Henri |
| ||
| Hey, just posted the find on the bug forums: http://www.blitzbasic.com/Community/posts.php?topic=101177#bottom The simplest workarounds are always the best. Thanks for your assistance. Even more spaghetti code. But it should work. :) |
| ||
Oh boy, this was a lot of "fiddling" around. But I finally made it:![]() For this workaround make sure that the labels / checkboxes have some free space between them. Else you will create some new gui glitches! |
| ||
| Looks good Grisu! |
| ||
| Thanks Gary. I'm trying to do my best with this app for over 5 years now. :) |


