创建两个以上的StatusBar部件

时间:2015-06-28 23:22:42

标签: c winapi

我无法创建两个以上的StatusBar部分:

HWND hStatusBar = CreateWindowEx(0, STATUSCLASSNAME, "", WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, hWnd, 0, GetModuleHandle(NULL), NULL);

int arr[3] = {100, 100, -1};
SendMessage(hStatusBar, SB_SETPARTS, 3, (LPARAM)arr);

这段代码应该创建三个部分,但它只创建两个部分!我做错了什么?

1 个答案:

答案 0 :(得分:2)

来自SB_SETPARTS文档:

  

每个元素指定客户端坐标中的位置   相应部分的右边缘

你的前两个部分处于同一位置(即它们完全重叠),因此你只能看到其中一个。您需要为每个后续部分增加右边缘:

int arr[3] = { 100, 200, -1 };