Using info I found out from this forum ("Please read. Need help" topic) I created a custom control - analog of Delphi's "TBitBtn" class. This button supports transparency and flat border. The control resides in a DLL, and registers a global control class like COMCTL32 - using a nop-containing function :) (the main code is executed in startup code). If anyone needs source code, I'll post it. Besides, Iczelion, maybe this code will be useful for your 'Sources' section of Win32Asm site?
IGosha, Congrats. If you are interested in sharing your work, why don't you start your own web site? There are lots of free providers out there. Just a thought Ernie
Hi Ernie, Besides I have a site :) It is devoted to antiviral program I develop in asm, AVS32. And these flat buttons also would be used in my program :) I just thought many programmers wanted to see how to create transparent flat buttons supporting not only 256-colored bitmaps :) So I will create a small page devoted to it as soon as I comment all code :) My next step will be mastering COM model :) I bought Dale Rogerson's "Inside COM" and try to understand it :) And 'cause I am not a C++, nor C programmer, it's not easy ;( Best Regards, IGosha.
I first got into COM programming after I understood what it was through a VB perspective. I won an auction on Ebay for 1 penny called "Teach Yourself OLE Programming in 21 Days" and it proved to be good into, then I got the same book you did. COM is a tough cookie. I later got an old book called "Windows Custom Controls" and "Windows++" which teaches how to write custom controls and how to write windows frameworks. There were some great info. Ernies COM tutorials are the best I've seen for Assembly COM yet, and needles to say, I've learned more about COM through the eyes of opcode than through IDL and every other resource. I have a deep interest in writing custom controls, COM and non-COM. Perhaps you could provide a link? Thanks, _Shawn
Hi Shawn :) Here is the link to the source: http://www.trojan.ru/download/BitBtn.zip The control is still under development. But I am already using it in developing of my antiviral program. The component is re-usable, I just paste it in my dialogs. It uses some technique like C++ classes (but I really hate C++ :) - it's creating instances of class dynamically, 'cause it has to store some information (handles of DCs and state) for each button separately, and it doesn't know, how much buttons there are in the program :) Besides, no subclassing :) I hope you'll find something interesting in my code. -- Igor Soumenkov http://www.trojan.ru/