Hi,
The attachemets is my fisrt pratice with win32asm. A small bug happened today ,and I cant resolve it now.I need you help ,any advice or suggestion will be very much appreciated.
Bug Description:
It is a half-done Oscilliscope like app, use to display a wave (now a random wave generated by pesudo num )on client area;you drag the below blue circle's arm ( a frequency adjust knob) to adjust the wave shift speed---- 1:18 of knob's position/angle.
The bug is : when close the app and open again .the previous speed NUM displayed on the status bar ,part 2,is not correct. The speed num only work correctly in the life of when this app runs.
It's may fail at reading and saving setting.ini file or iShiftPixels conversation.
But I don't know where.
...
Despite of that ,it's a good GDI demo for those Newbies ,I think.Hope U could download and try it.
Thanks in advance.
The attachemets is my fisrt pratice with win32asm. A small bug happened today ,and I cant resolve it now.I need you help ,any advice or suggestion will be very much appreciated.
Bug Description:
It is a half-done Oscilliscope like app, use to display a wave (now a random wave generated by pesudo num )on client area;you drag the below blue circle's arm ( a frequency adjust knob) to adjust the wave shift speed---- 1:18 of knob's position/angle.
The bug is : when close the app and open again .the previous speed NUM displayed on the status bar ,part 2,is not correct. The speed num only work correctly in the life of when this app runs.
It's may fail at reading and saving setting.ini file or iShiftPixels conversation.
But I don't know where.
...
Despite of that ,it's a good GDI demo for those Newbies ,I think.Hope U could download and try it.
Thanks in advance.
Hello,Luckrock
1. the moving curve is sparkling.
2. add the coordinates.
3. auto resize the region that display the curve.
regards.
1. the moving curve is sparkling.
2. add the coordinates.
3. auto resize the region that display the curve.
regards.
Thanks for your useful advise:
what you say:
Good advice,I didn't think of it before,you remind me of it. it because the curve is updated at EVERY WM_TIMER message ,and this timer I set 50ms,So this cause 20FPS speed of the wave display.And this may cause you feel the curve sparkling. I will adjust it soon;
Sure, this will be finally a neccessory element of it.
something I am not clear ,do you mean ZOOM the curve along the Y co-ordinate?
with my best regards
what you say:
1. the moving curve is sparkling.
Good advice,I didn't think of it before,you remind me of it. it because the curve is updated at EVERY WM_TIMER message ,and this timer I set 50ms,So this cause 20FPS speed of the wave display.And this may cause you feel the curve sparkling. I will adjust it soon;
2. add the coordinates
Sure, this will be finally a neccessory element of it.
3. auto resize the region that display the curve.
something I am not clear ,do you mean ZOOM the curve along the Y co-ordinate?
with my best regards
.ELSEIF uMsg==WM_SIZE
mov eax, lParam ; Height/width of new window
mov ebx, eax
and ebx, 0000ffffh ; ebx = LOWORD(lparam) = width
shr eax, 16 ; eax = HIWORD(lparam) = height
...
invoke MoveWindow,hwndXXX, 2, 2, ebx, eax, TRUE
...
And where does those magic "2" constants come from?
hello,F0dder
if nothing exist on Left and top, it is constant. else it is variable.
regards
if nothing exist on Left and top, it is constant. else it is variable.
regards
Why not 0? Why "2"? If it's used to specify some window border thickness, this is the wrong way to do it - think what will happen with a custom window manager (ie, XP themes, or things like blackbox or other custom shells/skinning engines).
Hi,Gentlemen
It's my fault,and have been revised already last day.
Addtionly, I turn to learn to and debug the "WINIO.LIB", please down "parallel debug tool" and "barre.rar" ,unzip and run it again.
You could find the" Parallel debug tool" could read correctly the data that I set in ParPort.asm .
This's the my first MASM pratice,and still many features un-implemented and many mistakes there.
This weekend I will deal with these bugs.But I am an amateur and an newbie to masm.
I hope you could continue to care and help with it.
With My best regards.
It's my fault,and have been revised already last day.
.elseif uMsg==WM_SIZE
;Get the client area window width and height
LOWORD lParam
m2m ClientAreaWidth, eax ; client area width
HIWORD lParam
m2m ClientAreaHeight, eax ; client area height
;re-size status bar window
invoke GetWindowRect,hStatus,ADDR rect
mov eax, rect.bottom
sub eax, rect.top
sub ClientAreaHeight, eax
invoke MoveWindow,hStatus,0,0,0,0,TRUE
Addtionly, I turn to learn to and debug the "WINIO.LIB", please down "parallel debug tool" and "barre.rar" ,unzip and run it again.
You could find the" Parallel debug tool" could read correctly the data that I set in ParPort.asm .
This's the my first MASM pratice,and still many features un-implemented and many mistakes there.
This weekend I will deal with these bugs.But I am an amateur and an newbie to masm.
I hope you could continue to care and help with it.
With My best regards.