2018-12-28

とりあえず、Visual Studioが作ってくれるテンプレ

//
//  関数: MyRegisterClass()
//
//  目的: ウィンドウ クラス登録します。
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
    WNDCLASSEXW wcex;

    wcex.cbSize = sizeof(WNDCLASSEX);

    wcex.style          = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc    = WndProc;
    wcex.cbClsExtra     = 0;
    wcex.cbWndExtra     = 0;
    wcex.hInstance      = hInstance;
    wcex.hIcon          = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOWSPROJECT7));
    wcex.hCursor        = LoadCursor(nullptr, IDC_ARROW);
    wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);
    wcex.lpszMenuName   = MAKEINTRESOURCEW(IDC_WINDOWSPROJECT7);
    wcex.lpszClassName  = szWindowClass;
    wcex.hIconSm        = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));

    return RegisterClassExW(&wcex);
}

これ意味がわからない人が多いと思うけど

Windowマネージャーに 自分アプリ登録とかおもっておけばいい。

必須

とはいえ自動コード生成だから 問題がない

  • なんか、Visual Studioが自動生成するコードじゃ 面白くないよね 適当にMyWindowクラスに したてあげてみよっか? PeekMsgじゃなくて MsgWaitを使った タイマー有りのマルチパンプとキー入力 ...

    • 年末年始 ちょっとづづ ゆっくりやるね

      • // WindowsProject7.cpp: アプリケーションのエントリ ポイントを定義します。//#include "stdafx.h"#include "WindowsProject7.h"#define MAX_LOADSTRING 100// グローバル変数:HINSTANCE hInst; ...

        • あまり関係ないけど せっかくクラス化したから Windowを2枚開けるようにすると おもしろいよね。 とはいえ、そのまえに キー入力と作画をやるね その次は タイマー 多分そのぐ...

        • // WindowsProject7.cpp: アプリケーションのエントリ ポイントを定義します。//#include "stdafx.h"#include "WindowsProject7.h"#define MAX_LOADSTRING 100// グローバル変数:HINSTANCE hInst; ...

          • 解説を入れておくと グローバル関数のリストに 自分自身をコンストラクタで登録 デストラクタで削除する簡単なシステムを作る 商業だとこんな雑ではダメだけど テストならこれでOK s...

            • 次の解説 staticキーワードを付けることで クラス内にグローバル関数から呼べる関数を作る これでHWNDを通して グローバル関数にthisポインタを伝える static MyWindow * find(HWND key) { std::list&l...

              • 解説 この部分でfindを呼んで ペアのthis関数を見つけて グローバル関数からクラスメソッドを呼び出す 実質このtargetがthisポインタ相当になって this->OnPaintと呼ぶのと同じ効果を出し...

                • みやすいように フルソース 青い■を表示するだけ // WindowsProject7.cpp: アプリケーションのエントリ ポイントを定義します。//#include "stdafx.h"#include "WindowsProject7.h"#define MAX_L...

                  • ソース全部だと長いけど ようするに 違いはこの部分 CreateSolidBrush が 色を決めている Rect で位置と大きさを FillRectで書いている 英語が読めればかなり簡単な OnPaint=作画関数 BOOL On...

                    • タイマーを使ったアニメーションを付けた // WindowsProject7.cpp: アプリケーションのエントリ ポイントを定義します。//#include "stdafx.h"#include "WindowsProject7.h"#define MAX_LOADSTRING 100...

  • Windows版の無料の開発環境 https://visualstudio.microsoft.com/ja/free-developer-offers/ Visual Studio Community

  • たしかに、男職場だからプログラマーいいかもな このぐらいができるなら https://anond.hatelabo.jp/20181228210311 初心者には結構レベルは高め

  • いない間にWin32API講座が ペゾルド本を初心者に与えると第一章でさえ挫折しそう というか、そもそも設計が色々おかしい おかしいが、もうこの前提から当面も離れられないんだよなあ ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん