目前共有8篇帖子。
【原創程序】工資上繳
1樓 巨大八爪鱼 2016-4-16 13:40
2樓 巨大八爪鱼 2016-4-16 13:41
3樓 巨大八爪鱼 2016-4-16 13:41
4樓 巨大八爪鱼 2016-4-16 13:45
5樓 巨大八爪鱼 2016-4-16 13:54
6樓 巨大八爪鱼 2016-4-16 15:05
7樓 巨大八爪鱼 2016-4-16 19:25
【程序核心代碼】
#include <tchar.h>
#include <Windows.h>
#include <CommCtrl.h>
#include "resource.h"

// 必須啟用XP風格
// 否則窗口顯示後需要等待幾秒鐘動畫才開始播放
#pragma comment(lib, "comctl32.lib")
#pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

HWND hwndAnimate;
BOOL bPaused = FALSE;
int nStep = 0;

void CALLBACK TimerProc(HWND hDlg, UINT uMsg, UINT iTimerID, DWORD dwTime)
{
    static int nPos[] = {25, 50, 75, 90, 100};
    static int nMoney[] = {1500, 1000, 500, 200, 0};
    TCHAR str[20];
    if (bPaused)
        return;
   
    _stprintf_s(str, TEXT("剩餘%d塊"), nMoney[nStep]);
    SendDlgItemMessage(hDlg, IDC_PROGRESS1, PBM_SETPOS, nPos[nStep], NULL);
    SetDlgItemText(hDlg, IDC_TEXT2, str);
   
    if (nStep == 3)
    {
        bPaused = TRUE;
        if (MessageBox(hDlg, TEXT("確定要上繳所有錢錢, 不留零花錢嗎?"), TEXT("工資上繳"), MB_ICONQUESTION | MB_YESNO) == IDYES)
        {
            nStep = 4;
            bPaused = FALSE;
        }
        else
            EndDialog(hDlg, IDNO);
    }
    else if (nStep == 4)
    {
        SetDlgItemText(hDlg, IDC_TEXT1, TEXT("上繳完畢! 你是世上最誠實的男人!"));
        SetDlgItemText(hDlg, IDCANCEL, TEXT("完成"));
        KillTimer(hDlg, IDT_TIMER1);
    }
    else
        nStep++;
}

INT_PTR CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    HICON hIcon;
    int wmId;
    switch (uMsg)
    {
    case WM_COMMAND:
        wmId = LOWORD(wParam);
        switch (wmId)
        {
        case IDOK:
        case IDCANCEL:
            KillTimer(hDlg, IDT_TIMER1);
            EndDialog(hDlg, wmId);
            break;
        }
        break;
    case WM_INITDIALOG:
        hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ICON1));
        SendMessage(hDlg, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
        SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);

        SendDlgItemMessage(hDlg, IDC_PROGRESS1, PBM_SETPOS, 4, NULL);
        hwndAnimate = GetDlgItem(hDlg, IDC_ANIMATE1);
        Animate_Open(hwndAnimate, MAKEINTRESOURCE(IDR_AVI1));
        SetTimer(hDlg, IDT_TIMER1, 1000, TimerProc);
        break;
    }
    return FALSE;
}

int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
    InitCommonControls();
    DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DlgProc);
    return 0;
}
8樓 巨大八爪鱼 2016-4-16 22:57
【XP系統下的效果】

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
 
 
©2010-2024 Arslanbar [手機版] [桌面版]
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。