>>736さん

double x;
は、最初に宣言するようにして、

LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wp,LPARAM lp)
{
HDC hdc; PAINTSTRUCT ps; HPEN hPen,hOldPen; HBRUSH hBrush,hOldBrush;
x=900;

で、
case IDT_TIMER1:
{
 double* px
 sinfunc(&x);//←これ追加しましたが、これ1つで良いんですか?
 InvalidateRect(hWnd,NULL,true);
 px =&x
 x= *ps
 break;
}

と書き直したら、それっぽく動くようにはなりましたが、
これで良いのでしょうか?