• Welcome to Valhalla Legends Archive.
 

comctl32.dll versions...

Started by brew, July 15, 2008, 12:07 AM

Previous topic - Next topic

brew

Apparently, to be able to use an hbitmap as the source for the background image pf a listview with the LVM_SETBKIMAGE message, you must have version 6.0 or higher of comctl32.dll, however I only have 5.82, which according to this, 5.82 is the most current version. Note 4 of that page says the following:
Quote
ComCtl32.dll version 6 is not redistributable. If you want your application to use ComCtl32.dll version 6, you must add an application manifest that indicates that version 6 should be used if it is available.
Well, seeing as how the highest version is 5.82, how is version 6 going to be available? Does microsoft think that people don't need this type of functionality?

Also, I've noticed visual basic can do a ton of things with no problems that I would have, for example when the WS_EX_TRANSPARENT style is set on a RichEdit control in vb6, it works just fine. However, when I do the same myself, the text blurs when moved, and must be invalidated then redrawn. I would have no problem with redrawing it, but the problem is that I don't know when. Then there's the problem with the listview items' back color. In vb6, this is no problem. The text is drawn right to the listview without the box around the text. However, I can't do the same- It asks for a colorref, and a colorref I must give. After toying around with it a bit, I find that making the color -1 does the trick, however, like any null brush, it would draw whatever was previously drawn over it until the picture is redrawn.
All in all, my project is a royal gdi wreck. Help would be appreciated!
<3 Zorm
Quote[01:08:05 AM] <@Zorm> haha, me get pussy? don't kid yourself quik
Scio te esse, sed quid sumne? :P

Barabajagal

You sure it's not talking about the Product Version instead of the File Version?

brew

I had no idea there was a difference. Reguardless, SendMessage() LVM_SETBKIMAGE with LVBKIF_SOURCE_HBITMAP always fails.
<3 Zorm
Quote[01:08:05 AM] <@Zorm> haha, me get pussy? don't kid yourself quik
Scio te esse, sed quid sumne? :P

MyndFyre

To select version 6 you need to use an assembly manifest.  Refer to this article for more information.
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

brew

I don't think MSVC6 has the ability to include manifests. It seems like so much work, so I dropped that and ended up storing the image filenames instead and dynamically loading them. It may be a little slower, but hey, that's to be expected with bitmap operations, right?
Does anyone have any clue when the proper time is to repaint the richedit when the hdc is changed?
<3 Zorm
Quote[01:08:05 AM] <@Zorm> haha, me get pussy? don't kid yourself quik
Scio te esse, sed quid sumne? :P

Barabajagal

You can just create a .exe.manifest file and put it in the same directory as the exe...

MyndFyre

Quote from: brew on July 15, 2008, 01:21 PM
I don't think MSVC6 has the ability to include manifests. It seems like so much work, so I dropped that and ended up storing the image filenames instead and dynamically loading them. It may be a little slower, but hey, that's to be expected with bitmap operations, right?
Does anyone have any clue when the proper time is to repaint the richedit when the hdc is changed?
It also begs the question: why are you still on VC6?  It's not like the new versions of Visual C++ cost money.  And you'd get the added benefit of new libraries and headers designed to prevent security flaws, not to mention 10 years of compiler advancements and optimizations, 64-bit support, and a far superior IDE.

I don't get it.  "I'm going to program for Windows but I'm going to stand on 'principle' and boycott the best tools I can do just to make it harder on myself."
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

brew

#7
Quote from: brew on July 15, 2008, 12:07 AM
Then there's the problem with the listview items' back color. In vb6, this is no problem. The text is drawn right to the listview without the box around the text. However, I can't do the same- It asks for a colorref, and a colorref I must give. After toying around with it a bit, I find that making the color -1 does the trick, however, like any null brush, it would draw whatever was previously drawn over it until the picture is redrawn.
Resolved- I had to send an LVM_SETTEXTBKCOLOR with CLR_NONE as the lParam. Who would've guessed that!

Now for the rest of my gdi troubles...

@Myndfyre: I was thinking of switching to msvc8. It's tempting, it's just that I'm so familiar with MSVC6's ide.. perhaps if there was a way to just update the compiler etc? Besides, even if I do try to update msvc, I don't think it would let me. I applied the SP2 connection limit patch to my computer, and usually microsoft anything installers error saying that I need to reinstall my OS.
<3 Zorm
Quote[01:08:05 AM] <@Zorm> haha, me get pussy? don't kid yourself quik
Scio te esse, sed quid sumne? :P

l2k-Shadow

so why don't u just patch it back? only thing the patch does is change an int inside tcpip.sys
Quote from: replaced on November 04, 2006, 11:54 AM
I dunno wat it means, someone tell me whats ix86 and pmac?
Can someone send me a working bot source (with bnls support) to my email?  Then help me copy and paste it to my bot? ;D
Já jsem byl určenej abych tady žil,
Dával si ovar, křen a k tomu pivo pil.
Tam by ses povídaj jak prase v žitě měl,
Já nechci před nikym sednout si na prdel.

Já nejsem z USA, já nejsem z USA, já vážně nejsem z USA... a snad se proto na mě nezloběj.

brew

Because I refuse to unpatch my tcpip.sys to please some retarded installer.
<3 Zorm
Quote[01:08:05 AM] <@Zorm> haha, me get pussy? don't kid yourself quik
Scio te esse, sed quid sumne? :P

Warrior

Quote from: brew on July 15, 2008, 08:42 PM
Because I refuse to unpatch my tcpip.sys to please some retarded installer.

everything brew posts should be redirected to the fun forum
Quote from: effect on March 09, 2006, 11:52 PM
Islam is a steaming pile of fucking dog shit. Everything about it is flawed, anybody who believes in it is a terrorist, if you disagree with me, then im sorry your wrong.

Quote from: Rule on May 07, 2006, 01:30 PM
Why don't you stop being American and start acting like a decent human?