小学生
最后登录1970-1-1
在线时间 小时
注册时间2019-9-3
|
创建了一个界面,里面的控件比较多一页放不下。想使用SCROLLBAR 控件,可以上下滑动。
参照官方的 ScrollbarMove 例程,把所有控件地址存入一个数组hItem[y]。当检测到SCROLLBAR 控件值改变时,在 for 循环里使用 WM_MoveWindow 移动所有控件的位置。
和其它控件一样采用间接创建 SCROLLBAR 控件方式(垂直)。
但是,滚动条触摸后,系统就死机。
请问这可能是哪里的问题 ?
回调函数如下
case ID_SCROLLBAR_0: // Notifications sent by 'SCROLLBAR'
switch (NCode) {
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
break;
case WM_NOTIFICATION_SCROLLBAR_ADDED:
break;
case WM_NOTIFICATION_VALUE_CHANGED:
hItem1 = WM_GetDialogItem(pMsg->hWin, ID_SCROLLBAR_0);
WM_GetScrollState(hItem1, &ScrollState);
if ( _y != ScrollState.v )
{
int y;
for (y=1; y< ITEM_MAX; y++)
{
WM_MoveWindow(hItem[y], 0, _y - ScrollState.v );
}
_y = ScrollState.v;
}
break;
}
break;
|
|