单击时展开按钮宽度

时间:2014-02-18 17:44:10

标签: windows winapi win32gui

我正在使用复选框按钮,当我使用LBUTTONDOWN

点击按钮时,我希望按钮展开宽度

这会涉及使用AppendMenu()之类的内容吗?如果是这样,我该怎么做?

这是我到目前为止我的按钮proc:

LRESULT CALLBACK ButtonWndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM     lParam){
    static int x,y,btnwidth, btnheight;
    switch (message){
        case WM_USER:
            btnwidth=wParam;
            btnheight=lParam;
            return 0;
        case WM_LBUTTONDOWN:
            btnwidth *= 2;
            break;
    }

1 个答案:

答案 0 :(得分:1)

您可以通过调用MoveWindow来展开按钮。您可能希望首先调用GetWindowRect来获取当前大小和位置,然后使用ScreenToClient将rect转换为客户端坐标。然后,您可以根据需要调整客户端坐标并将其传递给MoveWindow。