int ListInsertItem(HWND Window,int Pos,char *String) { HANDLE ListHandle; ListHandle=WindowList(Window); if (Pos>ListGetTotal(ListHandle)) { // printf("pos is invalid. window=%d, pos=%d\n",Window,Pos); return(INVAILEDPARAM); } if (ListGetTotal(ListHandle)>=MAXLISTCHAR/ListGetItemLength(ListHandle)) { // printf("Too many items.\n"); return(TOOMANYLISTITEMS); } memmove(ListGetItem(ListHandle,Pos+1),ListGetItem(ListHandle,Pos), ListGetItemLength(ListHandle)*(ListGetTotal(ListHandle)-Pos)); ListSetItem(ListHandle,Pos,String); ListIncTotal(ListHandle,1); #ifdef USE_SCROLL if (ListGetTotal(ListHandle)==ListGetHeight(ListHandle)+1) { HWND MidWindow; MidWindow=CreatVScroll(WindowGetWidth(Window)-2-SYSSCROLLWIDTH,1, WindowGetHeight(Window)-2,NULL,Window); // MessageInsert(MidWindow,REDRAWMESSAGE,0L, // MAKELONG(WindowGetWidth(Window),WindowGetHeight(Window)) ); } #endif ReturnOK(); }
int msgqueueCtl6Press(Control *pCtl,int ch,long lParam) { /* 主框架的按键消息处理 */ /* Add your self code here: */ if (ch == '\r') { if (ListSelNum (pCtl) == 0) { ListSetItem (pCtl, ALL_ITEMS, SELECTED); CtlShow (pCtl); } } return ch; }