トリッキーコードネット トップへ戻る   C/C++, Java, Perl, PHP, JavaScript, アルゴリズム, ショートコーディング, IOCCCコードの解説, 等々

サイト情報

トリッキーなコード

7行プログラミング

物凄いコード集

アルゴリズム

データ構造

C/C++な話題

コードサンプル

ツール/環境構築

開発ノウハウ 等

ネタ/ジョーク集

おススメ書籍/サイト

サイトTOP >> 7行プログラミング >> ラスタースクロールプログラミング - その2 (Win32API)

ラスタースクロールプログラミング その2 (Win32API)

ラスタースクロールプログラミング その1の続きです。
10行 ⇒ 9行になりました~♪

#include <windows.h>
#include <math.h>
int WinMain(HINSTANCE i,HINSTANCE,LPSTR,int){WNDCLASS w={67,DefWindowProc,0,0,
i,0,0,0,0,"T"};HDC e,d=GetDC(0);int a=GetSystemMetrics(0),b=GetSystemMetrics(1
),n,f,o=SRCCOPY;RegisterClass(&w);HWND g=CreateWindow("T",0,9<<28,0,0,a,b,0,0,
i,0);MSG m;SelectObject(e=CreateCompatibleDC(d),CreateCompatibleBitmap(d,a,b))
;BitBlt(e,0,0,a,b,d,0,0,o);while(IsWindow(g)){if(PeekMessage(&m,0,0,0,1))
DispatchMessage(&m);for(n=0;n<b;n++)BitBlt(GetDC(g),sin(n*3.0/b)*sin((f++)/
40.0)*60,n,a,1,e,0,n,o);}return 0;}
適当にインデント・改行を入れて、見やすくしたものがこちら↓
#include <windows.h>
#include <math.h>

int WinMain(HINSTANCE i, HINSTANCE, LPSTR, int)
{
    WNDCLASS w = { 67, DefWindowProc, 0, 0, i, 0, 0, 0, 0, "T"};

    HDC e,d = GetDC(0);

    int a = GetSystemMetrics(0),
        b = GetSystemMetrics(1),
        n,
        f,
        o=SRCCOPY;

    RegisterClass(&w);

    HWND g = CreateWindow("T", 0, 9<<28, 0, 0, a, b, 0, 0, i, 0);

    MSG m;

    SelectObject(
                e = CreateCompatibleDC(d),
                CreateCompatibleBitmap(d,a,b)
                );

    BitBlt(e,0,0,a,b,d,0,0,o);

    while (IsWindow(g)) {
        if (PeekMessage(&m,0,0,0,1))
            DispatchMessage(&m);

        for (n=0;n<b;n++)
            BitBlt(GetDC(g), sin(n*3.0/b) * sin((f++) / 40.0) * 60, n, a, 1, e, 0, n, o);
    }

    return 0;
}
砂嵐プログラミングその4 - type2の内容が元になっています。 前回のラスタースクロールプログラミング その1の内容も踏まえると、ソースの補足はいらないはずです^^;) ラスタースクロールプログラミング その3へ続きます。
         このエントリーをはてなブックマークに追加   


作業効率化・ライフハックのオススメ記事




コンピュータ・テクノロジーのオススメ記事





恋愛・人間関係のオススメ記事




※ 当サイトは、トップページからリンクで辿る事の出来るページに限り、リンクフリーです。
※ 当サイトの閲覧/利用によって生じた如何なる損害も、当サイト管理人は責任を負いません。
※ 当サイトの内容を転載される場合は、当サイトへのリンクをお願い致します。