無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

VB.NETを咥えてWindows.Formsをつつく1−足りないものは愛(コード)♪

前回フォームの挙動が変で、足りないのは愛というところまで進んだピヨ♪気になって仕方が無い人も居るだろうから、その愛の形を早速お見せするピヨッ♪


Imports System
Imports System.Windows.Forms

Public Class FormProgram
    Public Shared Sub Main()
        Dim frm As Form = New Form()
        frm.Show()
        Application.Run(frm) 'ここに注目!
    End Sub
End Class


じゃーん。たった1行のコードを加えるだけで何時もの挙動のフォームが表示されたピヨ♪やったね♪最近の若い人はこの感動分かるかな?分からないだろうなー?ということで、この1行がどれ程の意味をこめているのか分かってもらうためにWin32でフォームを表示するプログラムをお見せするピヨ♪覚悟はいい?心臓が悪いVBプログラマは注意してね。


#include 

LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM );

int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst,
                    LPSTR lpCmdLine, int nCmdShow)
{
    HWND hWnd;
    MSG msg;
    WNDCLASS form;
    static TCHAR appName[] = TEXT( "FormPiyo♪" );
    TCHAR title[] = TEXT( "画面ピヨ♪" );
    
    // ウィンドウ・クラスの登録
    ZeroMemory( &form, sizeof( form ) );
    form.lpfnWndProc = WndProc;
    form.hInstance = hInst;
    form.hIcon = LoadIcon( 0, IDI_APPLICATION);
    form.hCursor = LoadCursor( 0, IDC_ARROW);
    form.hbrBackground = (HBRUSH)COLOR_BACKGROUND;
    form.lpszClassName = appName;
    if( !RegisterClass( &form) ) return 0;
    
    // メイン・ウィンドウの作成
    hWnd = CreateWindow( 
                    appName, 
                    title,
                    WS_OVERLAPPEDWINDOW,
                    CW_USEDEFAULT, 
                    CW_USEDEFAULT,
                    CW_USEDEFAULT, 
                    CW_USEDEFAULT,
                    0,
                    0, 
                    hInst, 
                    NULL);
    ShowWindow( hWnd, nCmdShow);
    UpdateWindow( hWnd );
    
    // メッセージ・ループ
    while( GetMessage( &msg, 0, 0, 0) ){
        DispatchMessage( &msg);
    }
    return msg.wParam;
}

LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch( uMsg){
    case WM_DESTROY:
        PostQuitMessage( 0 );
        return 0;
    }
    return DefWindowProc( hWnd, uMsg, wParam, lParam);
}


嗚呼、懐かしい。眩暈がしそうな量のコードだよね♪これを数行で実行できるなんてVB.NETは凄い生産だね。これもオブジェクト指向のお陰と言ってもいいとボクは思うピヨ♪ちなみに、このCのコードの方がいいと思ったVBプログラマが居たら今すぐC系言語をつつく事をお勧めするピヨ♪実はボクもこのCプログラムを見てときめいたからC系言語を楽習したんだ。
それはさておき、この生産性がオブジェクト指向のお陰といった理由は・・・次回へ続く♪
別窓 | Windows Form | コメント:0 | トラックバック:0 | ∧top | under∨
<<中の人の徒然草147 | 無差別に技術をついばむ鳥 | 中の人の徒然草146>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |