View Full Version : setting a controls 'transparency' attribute? and a bonus question!

Sep 25, 2008, 12:28 AM
hello again, it's your favorite win32 programmer (aka. fish outa ms water) here with a few silly questions that i assure you, i've googled, and sifted through countless references and documentation, and have found nothing.

anyway, i've created a window using CreateNewWindow, and plopped a nice little control on there (a checkbox if you were wondering) using CreateCheckBoxControl. then i proceeded to change the windows background from a dull plain white to a nice metal color (the choice was arbitrary) using ChangeWindowAttributes. the problem is the control appears to have an opaque white-filled rectangle which doesn't fit nicely over the brushed metal window background. again, i searched hi and low for some way to possibly set a transparency or something, and the closest thing i could find in the reference was ChangeControlPropertyAttributes. however, if you google that function, you'll see there isn's a single example of how to implement it online. and i've only been programming mac's for about a week now...

i noticed the same phenomenon occurs even if ChangeWindowAttributes is not called. i only called that to try to change the white background - which i'm struggling with... it can either be changed to brushed metal or other white options. the only time i can seem to set the 'sheet look' using kSheetWindowClass, is when i create the window, however when i do that it has no titlebar.. guess that's one i'll have to look up in the ui guidlines or someplace? i'm sure these looks have function meaning to those who use the mac os on a daily basis.

any ideas?

and for the bonus round.
is there a way to hide the run log during a build and run in xcode 2.5? see, i like to make small changes and run the app every chance i get and this thing just gets in my way - especially when i've got like 6 sample projects open at once!

fyi, i can't update to a later version of xcode right now because i'm on tiger - and for other logistical reasons..

Sep 25, 2008, 08:32 AM
If you're using HIViews (which you probably should if you're not) you could try HIViewChangeFeatures () with kHIViewFeatureIsOpaque.

Sep 25, 2008, 05:42 PM
i was under the impression the HIFramework was just a wrapper for the carbon api encapsulating several higher-level 'out-of-the-box' features. no?

are there things i can do with the HIFramework, i couldn't do with pure api? i only ask because, as such, it looks suspiciously similar to windows mfc *shiver*

Sep 26, 2008, 12:15 AM
I think it's more the other way around. The HIView model is new for OS X. The original toolbox functions were ported over from the old Mac OS. I do know, and it discusses this in the documentation, that when you use HIViews it changes how they are drawn.