案例

#include "stdafx.h"

//主窗口句柄
HWND Dia_main_window = NULL;
//控件句柄
HWND BTn_START = NULL;

INT_PTR CALLBACK    mainproc(HWND, UINT, WPARAM, LPARAM);



int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
    _In_opt_ HINSTANCE hPrevInstance,
    _In_ LPWSTR    lpCmdLine,
    _In_ int       nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);

    // TODO: 在此处放置代码。

    DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN_WINDOW), NULL, mainproc);


    return 0;
}




// “mainproc”框的消息处理程序。
INT_PTR CALLBACK mainproc(HWND in_hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    UNREFERENCED_PARAMETER(lParam);

    switch (message)
    {
        OutputDebugStringA((char*)message);

    case WM_INITDIALOG:
    {

        //初始化 资源id        
        {

            //主窗口id
            Dia_main_window = in_hDlg;
            //根据 控件 id获取控件句柄
            BTn_START = GetDlgItem(Dia_main_window, ID_BTN_START);

        }

    }
    break;

    case WM_NOTIFY://接受用户选择的信息
    {

    }
    break;

    case WM_SIZE: {
        OutputDebugStringA("resize");
    }
    break;

    case WM_COMMAND: {

        if (LOWORD(wParam) == IDCANCEL)
        {
            EndDialog(Dia_main_window, LOWORD(wParam));
            return (INT_PTR)TRUE;
        }

        //if (LOWORD(wParam) == ID_BTN_START) {
            
        //    OutputDebugStringA("触发 按钮 start \r\n");
        //    check_file::check(str_path);
        //}
        //else if (LOWORD(wParam) == ID_BTN_STOP) {
        //    OutputDebugStringA("触发 按钮 stop \r\n");
        //}
    }

    break;

    default:
        //return DefWindowProc(in_hDlg, message, wParam, lParam);
        break;
    }
    return (INT_PTR)FALSE;
}
Last modification:October 26, 2018
如果觉得我的文章对你有用,请随意赞赏