【●】コンピュータ総合学園HAL━その4【●】

このエントリーをはてなブックマークに追加
155名無しさん@お腹いっぱい。
LRESULT CALLBACK WindowFunc(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam)
{
    HDC hdc;
    int sx,sy;
    //BOOL flg; ←いらない
    switch(iMsg){
        case WM_DESTROY:
            PostQuitMessage(0);
            break;

        /* case WM_LBUTTONDOWN:
            sx=LOWORD(lParam);
            sy=HIWORD(lParam);
            flg=TRUE;
        case WM_LBUTTONUP:
            flg=FALSE;
            hdc=GetDC(hwnd);
            break;               */

        case WM_MOUSEMOVE:
            //if(flg=TRUE) ←いらない
            if (wParam & MK_LBUTTON)
            {
                hdc=GetDC(hwnd);

                /* MoveToEx(hdc,sx,sy,NULL);
                LineTo(hdc,LOWORD(lParam),HIWORD(lParam)); */

                sx = LOWORD(lParam);
                sy = HIWORD(lParam);
                PatBlt(hdc,sx,sy,1,1,NULL);
                 ReleaseDC(hwnd,hdc);
            }
            break;
        default:
            return DefWindowProc(hwnd,iMsg,wParam,lParam);
        }
    return 0;
}

と一応載せてみた。
このぐらいなら、ネットで調べればすぐ判明するだろうけど・・・
もう解決したかな?ま、一応ということで。

自分はHAL生2年で、まだ授業はWindowsプログラムまで行ってないんだけど、
このまま何もしていなかったらどうしようもなくマズイだろうと思い、
学校から配布された教本で最近Windowsプログラミングを独学し始めてみた。
>>148のしたいことは、教本のしょっぱな辺りで出てくるものだから
俺でも分かったよ。教本のソースをほとんど写しただけ、だけど。

ドットを打つ関数が分からなかったんで、適当に調べてPatBltと適当に記述したら
適度な感じに点が打てたんでまぁ良しとしてください。
PatBltの引数の最後のNULLは何を入れたら良いか分からないんで、一応NULL・・・。
あとドラッグしてる間だけ点が打てる。後は何とか自分でしてみてくれ。
あぁでもきちんとした点にはなってないなぁ。自分で点を打つ関数も調べてくれ。

>>149の政宗がネタでないのなら・・・
ま、お互い頑張ろう。