|
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 !
|
|
|
|
|
Thank you very much!
I thought CSkinProgress was a progress control.
And I see this control, CBitmapSlider, also can be used as a progress control.
By the way, CSkinProgress is really fascinating!
Though I didn't look at your code in detail yet,
I'm sure I can learn much knowledge from your work.
I like it!
|
|
|
|
|
CSkinProgress is a progress control, you're right... But I coded (not yet released) a wrapper called CSkinSlider which encapsulate CSkinProgress, catch all mouse events, calculate them according to the position and size of the slider and modify the CSkinProgress parameters ! Quite fun...
What's interresting in your slider is transparency... I was not aware how to do this as I use AlphaBlend routines I created to work on every computer (which feature at least true-color capabilities, starting at 32768 colors - 15 bits) !
Kochise
In Code we trust !
|
|
|
|
|
That is good news!
I am looking forward to the release.
I hope this control can offer any information to the work.
|
|
|
|
|
Behind your link "Download Executable - 216 Kb" is the download for the sourcecode, so there's not executable anyway!
____________________________
Rule #1: code doesn't lie!
Rule #2: code never lies!
Rule #3: if the docs are incorrect -> take a look at the code!
|
|
|
|
|
At that time, I had been wandering to add a demo executable file.
It was my mistake and now I fixed it.
I am sorry about that.
|
|
|
|