点滅[WinAPIの]簡単な手紙

 

 

// データ型とデータ構造の定義は、所望のアプリケーションが含まれWINDOWS.Hファイル 
の#include <windows.hに> 
する#include <stdlib.h>に含ま
する#include <TIME.H> 
書式#include < 文字列の.h> を含む <math.h>の
LRESULT CALLBACK WndProcメソッド(HWND、UINT、WPARAM、LPARAM); // ウィンドウ関数の説明
 // 初期化ウィンドウクラス次--------- ----------- --- 
INT WINAPIのWinMain(hInstanceはHINSTANCE、HINSTANCE hPrevInst、lpszCmdLine LPSTR、int型nCmdShow)
{ 
    HWND HWND; 
    MSGメッセージ; 
    WNDCLASS WNDCLASS; 
    CHAR、lpszClassName [] = " ウィンドウ" ;      // ウィンドウクラス名
    文字 lpszTitle [] = " My_Windows " ;     // ウィンドウのタイトル名

    // ウィンドウクラス定義 
    CS_HREDRAW = wndclass.style | CS_VREDRAW;                   // ウィンドウタイプデフォルトのタイプされ 
    wndclass.lpfnWndProcは、WndProcメソッドを=;       // WndProcメソッドのためのウィンドウハンドラ 
    WNDCLASS。 = cbClsExtra 0 ;              // 拡張子を除いたウィンドウクラス 
    wndclass.cbWndExtra = 0 ;              // ウィンドウのインスタンスのない拡張 
    wndclass.hInstance = hInstanceは;      // このインスタンスハンドル

    wndclass.hIcon = LoadIcon(NULL、IDI_APPLICATION); // 最小化ウィンドウアイコンがデフォルトのアイコンであります
    = LoadCursor wndclass.hCursor(NULL、IDC_ARROW); // カーソル矢印使用ウィンドウ 
    ; wndclass.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH)// ウィンドウの背景が白である 
    wndclass.lpszMenuName = NULLを; // ないメニューウィンドウ 
    wndclass.lpszClassName lpszClassName =; // 「ウィンドウの例」と呼ばれるウィンドウクラス
 // -----------次のレジスタウィンドウクラス
    のIF(!RegisterClass(&WNDCLASS))// 登録は、アラームがガオを鳴らす音が失敗した場合
    { 
        のMessageBeep(0 );
         戻りFALSE; 
    } 

//はウィンドウ作成 
    HWND = のcreateWindow(
                        、lpszClassNameを、//Windowクラス名 
                        lpszTitle、       // ウィンドウのインスタンスのタイトル名 
                        WS_OVERLAPPEDWINDOW、// ウィンドウスタイル
                        CW_USEDEFAULT、
                        CW_USEDEFAULT、   // デフォルト値にウィンドウ座標の左上隅
                        CW_USEDEFAULT、
                        CW_USEDEFAULT、   // ガオの窓と全体のデフォルト値に 
                        NULL、            // このウィンドウは親ウィンドウではありません 
                        NULL、            // メインメニューせずにウィンドウ 
                        、hInstanceは       // アプリケーションのウィンドウを作成し、現在取り扱い 
                        NULL             //はこの値を使用していないが
                        ); 



    のShowWindow(HWND、nCmdShow);         // 表示窓 
    UpdateWindow(HWND);                  //は、ユーザ領域を描き
    ながら(のGetMessage(&メッセージ、NULL、00))// メッセージループ
    { 
        TranslateMessage( MSG); 
        DispatchMessageを(MSG); 
    } 
    戻り msg.wParamを;                   // システムにプログラム終了情報バック
} 




// ウィンドウ関数
LRESULT CALLBACK WndProcメソッド(HWNDのhWnd、UINTメッセージ、WPARAM wParamに、LPARAM lParamに)
{ 
    HDCのhDC; 
    RECT RECT。
    PAINTSTRUCT Psと; 
    TEXTMETRIC TM; 
    HFONTのHF; 
    SIZE Szを; 
    COLORREF色[ 7 ] = {RGB(25500)、RGB(2551650)、RGB(2552550)、RGB(02550)、RGB(0255255)、RGB(00255)、RGB(1390255 )}。
    静的な INT のx =0、Y = 0 、I。
    静的 int型 nchar型= 0 ;
    静的 int型 njump = 1 ;
    int型温度;
    静的な ブール値 isLeft = falseを、isRight = 、isDec = falseを、isInc = 、isLean = ;
    チャー textbuf [] = " ABCDEFGHIJKLMNOPQRSTUVWXYZ " INT SLEN = STRLEN(textbuf)。


    スイッチ(メッセージ)
    { 
    ケース WM_CREATE:
         // 確立タイマーは、メッセージはWM_TIMER 0.3秒ごとに送信される 
        のSetTimer(hWndを、1300 ;、NULL)
        にsrand(タイム(NULL)); 
        の戻り 0 ;
     ケース:WM_PAINT 
        のhDC = BeginPaint関数(hWndを、&​​Psとの); / / 描画処理メッセージ 
        GetClientRect(hWndは、&​​RECTを); //は、デバイスの環境変数を取得

        HFはのcreateFont(= //は、カスタムを作成フォント 
            RAND()%500 + 100// のフォントの高さ
            0// アスペクト比に応じてシステムを幅フォントの最適値を選択
            0//レベルを示す0のテキスト傾き、
            0// 0のフォント傾き 
            FW_NORMAL、    // 粗フォントは、FW_HEAVYが最も厚くされていない
            0// 非イタリック
            0// ない下線
            0// ない取り消し 
            ANSI_CHARSET、    // 使用される文字を表しますANSI_CHARSETにセット 
            OUT_DEFAULT_PRECIS、// 出力精度デフォルトの精度 
            CLIP_DEFAULT_PRECIS、     // カット精度がデフォルトの精度で 
            DEFAULT_QUALITY、         // 出力品質がされているデフォルト値の 
            DEFAULT_PITCH | FF_DONTCAREは、      // 単語間隔およびフォントファミリは、デフォルトを使用
            に厚いですワード体");     // 
        DeleteObjectの(HF)。フォント名

        SETTEXTCOLOR(HDC、RGB(RAND() 256、RAND()%256、RAND()%256 )); 
        SelectObject(HDC、HF);   // バインドフォント 
        GetTextMetrics(HDC、&商標);     // 取得フォント情報
         // (&SzのののhDC、textbuf、strlenを(textbuf))GetTextExtentPoint32; 
        Y = tm.tmExternalLeading *(RAND()%14 ); 
        X = RAND()%(rect.right - tm.tmAveCharWidth); 
        TEMP = RAND()%26である; 
        のTextOut(HDC、X、Y、&textbuf [TEMP]、1。); 

        EndPaintの(hWndは、 ;のPS)
         の戻り 0 ;
     ケース:WM_TIMER 
        InvalidateRect(hWndは、NULL、1。);
         の戻り 0 ;
     ケースWM_DESTROY:
        PostQuitMessage(0);                  //は、PostQuitMessage WM_QUITメッセージを呼び出しますが送信され
        、戻り 0 ;
     デフォルト戻る、(hWndををDefWindowProc関数をメッセージ、wParamに、lParamに); // システムのデフォルトのメッセージ・ハンドラ・デフォルトを使用します

    } 

}

 

おすすめ

転載: www.cnblogs.com/Vikyanite/p/12497221.html