diff --git a/25_day/console.c b/25_day/console.c index ab3f80a..30017c8 100644 --- a/25_day/console.c +++ b/25_day/console.c @@ -348,8 +348,8 @@ int *hrb_api(int edi, int esi, int ebp, int esp, int ebx, int edx, int ecx, int sht->flags |= 0x10; sheet_setbuf(sht, (char *) ebx + ds_base, esi, edi, eax); make_window8((char *) ebx + ds_base, esi, edi, (char *) ecx + ds_base, 0); - sheet_slide(sht, 100, 50); - sheet_updown(sht, 3); /*背景层高度3位于task_a之上*/ + sheet_slide(sht, (shtctl->xsize - esi) / 2, (shtctl->ysize - edi) / 2); + sheet_updown(sht, shtctl->top); /*将窗口图层高度指定为当前鼠标所在图层的高度,鼠标移到上层*/ reg[7] = (int) sht; } else if (edx == 6) { sht = (struct SHEET *) (ebx & 0xfffffffe);