如何创建"激活"和"停用" C ++中的按钮

时间:2017-05-01 21:24:19

标签: c++ windows

基本上我希望我的编码做的是在"激活"时执行几行代码。按下按钮。那部分很容易。困难的部分是让线条一遍又一遍地执行,直到" Deactivate"按下按钮。

switch (message)
{
    case WM_CREATE:
        CreateWindow(
            TEXT("button"),TEXT("Activate"),
            WS_VISIBLE | WS_CHILD,
            25,
            30,
            100,
            50,
            hwnd, (HMENU) 1, NULL, NULL
            );
        CreateWindow(
            TEXT("button"),TEXT("Deactivate"),
            WS_VISIBLE | WS_CHILD,
            150,
            30,
            100,
            50,
            hwnd, (HMENU) 2, NULL, NULL
            );
        break;
    case WM_COMMAND:
        if(LOWORD(wParam) == 1)
        {
            /*DO STUFF*/
        }
        if(LOWORD(wParam) == 2)
        {
            /*STOP DOING STUFF*/
        }
        break;
}

我尝试创建while(i == true),但这不起作用:

bool i = false;

case WM_COMMAND:
    if(LOWORD(wParam) == 1)
        {
            i = true;

            while(i == true)
            {
                /*DO STUFF*/
            }
    }
    if(LOWORD(wParam) == 2)
    {
        i = false;
    }
    break;

如果我可以帮助解决这个问题,我们将不胜感激。

--- --- EDIT

我可能应该告诉你/*DO STUFF*/是什么。我正在制作一个自定义宏点击器。我已经有一个工作了,但我对它不满意,因为它使用cout <<作为菜单。在那个版本上,我使用这段代码:

while(1)
{
    if(GetKeyState(0x43) & 0x8000) /*This if() statement auto clicks whenever "C" is held*/
    {
        usleep(13625);
        mouse_event(MOUSEEVENTF_LEFTDOWN, NULL, NULL, 0, 0);
        mouse_event(MOUSEEVENTF_LEFTUP, NULL, NULL, 0, 0);
    }
}

有没有办法在while(1)语句中激活和停用它?

0 个答案:

没有答案