【chatgpt】CreateDialog 与 DialogBox

复制代码
DWORD WINAPI UploadThread(LPVOID lpParam)
{
    HWND hParentWnd = (HWND)lpParam;

    HWND hDialog = CreateDialog(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_UPLOAD_DIALOG), hParentWnd, DialogProc);
    ShowWindow(hDialog, SW_SHOW);

    for (int i = 0; i <= 100; i++)
    {
        SendMessage(g_hProgressBar, PBM_SETPOS, i, 0); // 更新进度
        Sleep(100); // 模拟上传延迟
    }

    DestroyWindow(hDialog);

    return 0;
}
复制代码
DialogBox(hInstance, MAKEINTRESOURCE(IDD_UPLOAD_DIALOG), NULL, DialogProc);

复制代码
include <windows.h>

HWND g_hProgressBar; // 进度条控件句柄

BOOL CALLBACK DialogProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        case WM_INITDIALOG:
            // 创建进度条控件
            g_hProgressBar = CreateWindowEx(0, PROGRESS_CLASS, NULL, WS_CHILD | WS_VISIBLE, 10, 10, 200, 20, hWnd, NULL, GetModuleHandle(NULL), NULL);
            SendMessage(g_hProgressBar, PBM_SETPOS, 0, 0); // 初始化进度为0
            break;

        case WM_COMMAND:
            if (LOWORD(wParam) == IDCANCEL)
            {
                EndDialog(hWnd, 0);
            }
            break;

        default:
            return FALSE;
    }

    return TRUE;
}

DWORD WINAPI UploadThread(LPVOID lpParam)
{
    HWND hParentWnd = (HWND)lpParam;

    HWND hDialog = CreateDialog(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_UPLOAD_DIALOG), hParentWnd, DialogProc);
    ShowWindow(hDialog, SW_SHOW);

    for (int i = 0; i <= 100; i++)
    {
        SendMessage(g_hProgressBar, PBM_SETPOS, i, 0); // 更新进度
        Sleep(100); // 模拟上传延迟
    }

    DestroyWindow(hDialog);

    return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    HWND hParentWnd = NULL; // 设置为上传文件的父窗口句柄

    HANDLE hThread = CreateThread(NULL, 0, UploadThread, (LPVOID)hParentWnd, 0, NULL);
    if (hThread != NULL)
    {
        // 等待上传线程结束
        WaitForSingleObject(hThread, INFINITE);
        CloseHandle(hThread);
    }

    return 0;
}
复制代码

 

 

posted on   lydstory  阅读(24)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-12-11 lpc8xx nxp nfc
2020-12-11 遥祝
2019-12-11 密标与pdf有什么关系
2019-12-11 pdfium ppm demo
2019-12-11 pdfium 例子
2019-12-11 pthread_create线程终止问题
2019-12-11 线程传参数

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示