Graphical glichtes - Manifest file required?

BlitzMax Forums/MaxGUI Module/Graphical glichtes - Manifest file required?

Grisu(Posted 2011) [#1]
Hi there!

I have graphical glitches with apps thats don't come with an embedded manifest file.

Such as:
- Scroll panels and normal labels show black boxes.
- Transparent images / pixmaps put on push buttons don't seem to mask properly (black borders or no image visible at all)

Example screenshot:


Any advise / hints on this matter? - Perhaps I'm not alone with this.

Regards
Grisu


skn3(Posted 2011) [#2]
I dunno what the status of this is but:
https://github.com/BlitzMaxModules/maxgui.mod

There is a more uptodate version of maxgui in there so it may contain fixes? It has one addition which I know of that is not in the current official release and that is RemoveGadgetColor(). I am sure there are other improvements but thats the only one I was after when I found the repo.

Last edited 2011


Grisu(Posted 2011) [#3]
Thanks for the link, but I'm already using the latest version.

It seems like maxgui apps depend on a manifest file in order to work properly under windows... :/


Richard Betson(Posted 2012) [#4]
I just upgraded from Bmax 142 to 145 and got a similar result. Is there a fix for this?

I added glShareContexts() with no help.


Richard Betson(Posted 2012) [#5]
I actually got this to go away by not bleeding out of a window when using a label.

Last edited 2012


Midimaster(Posted 2012) [#6]
I had the same problem and I recognized that it always appears, when using an *o-file together with MaxGui.

The german forum knew the solution: The manifest is corrupted. You have to add a new one:

MakeIt.Bat:
windres -i C:\makeicon\icon.rc -o C:\makeicon\icon.o


icon.rc:
1 24 "manifest.manifest"
101 ICON C:\makeicon\icon.ico 
1 VERSIONINFO 
FILEVERSION 4,0,1,0
PRODUCTVERSION 4,0,1,0
FILEOS 0x40004
FILETYPE 0x1
{ 
BLOCK "StringFileInfo" 
{ 
 BLOCK "040904b0" 
 { 
  VALUE "Comments", "music theory software"
  VALUE "CompanyName", "Midimaster Music Education Software" 
  VALUE "FileVersion", "2012.02.24.0" 
  VALUE "FileDescription", "RhythmTrainer" 
  VALUE "InternalName", "RhythmTrainer" 
  VALUE "LegalCopyright", "© Peter Wolkersdorfer" 
  VALUE "LegalTrademarks", "Midimaster" 
  VALUE "OriginalFilename", "RhythmTrainer" 
  VALUE "ProductName", "RhythmTrainer" 
  VALUE "ProductVersion", "4.0.1.0" 
 } 
}
BLOCK "VarFileInfo"
{
  VALUE "Translation", 0x0407, 0, 0x0409, 0, 0x0405, 0
}
}



manifest.manifest
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
   <dependency>
      <dependentAssembly>
         <assemblyIdentity
            type='win32'
            name='Microsoft.Windows.Common-Controls'
            version='6.0.0.0'
            publicKeyToken='6595b64144ccf1df'
            language='*'
            processorArchitecture='*'
         />
      </dependentAssembly>
   </dependency>
</assembly>


running MakeIt.Bat will create a new ICON.O, which helped me!

Of course you have to replace the datas in the "icon.rc" file with your company informations! You have to replace nothing in the "manifest.manifest"

Last edited 2012


Richard Betson(Posted 2012) [#7]
Great. :)

I'll give it a try sometime soon. So so busy :D

Thanks