|
Excellent creativity, no more more for the above code!!! three cheers
|
|
|
|
|
Oh, Thank you. But it's too much!
I hope to improve it with better knowledge when I have more time.
And it's based on other great articles and advices.
They have priority to be praised over it.
|
|
|
|
|
This is a wonderful control. I have never seen anything like it.
But how can i use it in C#?
Thx in advance
|
|
|
|
|
Thank you.
But, I've never used C# yet.
I am sorry that I can't help you now.
|
|
|
|
|
I'm using C#, too... and I don't know how to run it in our language, maybe someone can write a wrapper^^
Edit: It could help us, if you would compile the code in a *.dll library;)
|
|
|
|
|
When I start the demo and another program (for example the explorer) is in front of the demo program (the demo program will be displayed behind the other program), the slider with the bus and the bird have a wrong background. The background behind the images (bird, bus) has the backgroud of the window, which was in the front of the demo program, when I startet the demo program. Any ideas how to fix this problem?
Olaf
|
|
|
|
|
Oh, I see...
I tought that even the control don't erase it's background, a dialog window will do for it.
CBitmapSlider::OnEraseBkgnd(CDC* pDC) may has a problem.
By the way, how to start the program behind other application?
Would you please tell me how you did it?
I want to test and debug it but I can't.
|
|
|
|
|
That's no problem.
Start the Windows Task-Manager and place the window in the middle of the Desktop. Now start your demo program, it will appear behind the Task-Manager. Then close the Task-Manager and you will see the problem.
|
|
|
|
|
Oh, there is a problem.
CBitmapSlider::CopyBackground function copies background before it is erased.
I am sorry, but I don't know how to solve this problem yet.
I'll update it immediately when I know it.
Thank you very much!
|
|
|
|
|
Did anyone figure out how to fix this yet?
Cheers,
Greg
|
|
|
|
|
Is it necessary setting up channel bitmap?
This is critical in real application with splash window which overlaps slider.
Well I should set the background bitmap until the bug fixed.
/E/X/T/R/E/A/L/M - In to the rain...
extrelam@perstel.co.kr.NOSPAM.COM
|
|
|
|
|
I resolve the problem whit this modify....
void CBitmapSlider::CopyBackground(
CDC *pDC, int nXSrc, int nYSrc, int nWidth, int nHeight, CBitmap *pBmDst)
{
if(pBmDst->GetSafeHandle())
{
.....
}
}
|
|
|
|
|
|
Works in Release mode.
The balloon slider keeps outputting a message window that the user has to keep responding to, which makes using the keyboard with it, a hassle.
William
Fortes in fide et opere!
|
|
|
|
|
I tried the demo project with my PC in debug mode again, but I can't find any abnormal behavior. I'm sorry about that I can't find both the problem and its reason by my self. I need your help to debug it.
Maybe there is other message using as same number as WM_BITMAPSLIDER_MOVED.
Would you try to change its value from 0x0400 to 0xBFFF?
line #21 of BitmapSlider.h
#define WM_BITMAPSLIDER_MOVED 0x0400~0xBFFF
If it still doesn't work,
Set three breakpoints and execute in debug(F5) mode.
- line #963 of BitmapSlider.cpp
- line #673 of BitmapSlider.cpp
- line #265 of DemoDlg.cpp
If message handler(3rd one) is called without posting message(1st and 2nd one), it means message number is duplicated.
Please let me know if there is more suitable way to define an user message or if it is not the reason of problem.
Thanks to your inform.
|
|
|
|
|
I am not on my home machine, so I don't have my sample code, but there is a function
RegisterWindowsMessage that should dynamically give you a unique UINT back, to guarantee you are not duplicating.
Brad
Joon-ho Ryu wrote:
If message handler(3rd one) is called without posting message(1st and 2nd one), it means message number is duplicated.
Please let me know if there is more suitable way to define an user message or if it is not the reason of problem.
Thanks to your inform.
|
|
|
|
|
Congrats for such a great control
Keep up the good work!
Carlos
|
|
|
|
|
Thank you very much!
|
|
|
|
|
Excellent control. I was planning to create something similar for CodeProject. Think I need to drop the idea
==========================
AB => Code and let code
==========================
|
|
|
|
|
Thank you.
Oh, why don't you share your plan with others?
If you play a role in this control, it will be good for everyone.
|
|
|
|
|
Not tried to implement it yet but the demo app just looks great !!!
|
|
|
|
|
Thank you.
Please let me know if you have any trouble with implementation.
Good luck!
|
|
|
|
|
Hello,
I tried to implement it but ran through several issue:
- the first is that I manually destroy my slider when I do not need it and I recreate it later. On the second call to SetChannelBitmap, the CBitmap's have not been detached and so the Attach calls fail. Of course I could only hide my slider and show it again later but it would be cleaner if you implemented OnDestroy and detached the bitmap there.
- second is that I use the slider in a Media Player and so my slider needs to be easily resized. This is not the case in the current version. Do you have any suggestion on how to implement dynamic resizing (only in the slider orientation of course).
Best regards,
Nicolas
|
|
|
|
|
Hi,
The first one is my mistake.
I modified it. And following version will not have that problem.
I missed calling CBitmap::DeleteObject inside CBitmapSlider::OnDestroy function.
To support dynamic resizing, it will have two modes.
1. Tiles - Calling CDC::BitBlt repeatedly, its area will be covered.
2. Stretch - It will use CDC::StretchBlt function.
Thanks to your interest!
|
|
|
|
|
You get my 5
I done a slider also : http://www.codeproject.com/miscctrl/CSkinProgress.asp ! A bit more complicated to use than yours, but with text support...
Very good work, thanks
Kochise
In Code we trust !
|
|
|
|