📄 main.lst
字号:
183 4 ArrayLine--;
184 4 else
185 4 ScrLine--; //如果屏幕指针不在第一行,则向上移动
186 4 }
187 3 break;
188 3 case DOWN: //向下的逻辑与向上的逻辑相反
189 3 case SUB:
190 3 if (ArrayLine>=ARRAYLINE) //#define ARRAYLINE 2
191 3 {
192 4 if (ScrLine>=3)
193 4 {
194 5 ScrLine = 0;
195 5 ArrayLine = 0;
196 5 }
197 4 else
198 4 ScrLine++;
199 4 }
200 3 else
201 3 {
202 4 if (ScrLine>=3)
203 4 ArrayLine++;
204 4 else
205 4 ScrLine++;
206 4 }
207 3 break;
208 3 case ENTER:
209 3 d_second(ArrayLine+ScrLine); //进入菜单项对应的二级菜单
210 3 break;
211 3 case ESC:
212 3 InitLcd();
213 3 return;
214 3 }
215 2 }
216 1 }
217
218
219 //*****************************************************************
220 //二级子菜单 一
221 //*****************************************************************
222 void menu_2_1(void)
223 {
224 1 unsigned char temp_array,key_value,temp_scr;
225 1 temp_array = ArrayLine;
226 1 temp_scr = ScrLine;
227 1 ArrayLine=0;
228 1 ScrLine=0;
229 1 while(1)
230 1 { ReverseLine(ScrLine);
231 2 PrintStr(0,0,second_menu_1[ArrayLine]);
232 2 PrintStr(1,0,second_menu_1[ArrayLine+1]);
233 2 PrintStr(2,0,second_menu_1[ArrayLine+2]);
234 2 PrintStr(3,0,second_menu_1[ArrayLine+3]);
235 2
236 2 while(1)
237 2 { key_value=GetKey(12);
238 3 if(key_value!=0xff)
239 3 break;
240 3 }
241 2 switch(key_value)
C51 COMPILER V7.08 MAIN 10/31/2007 10:13:27 PAGE 5
242 2 {
243 3 /* 当按向上键和加号键时向上移动*/
244 3 case UP:
245 3 case PLUS:
246 3 if (ArrayLine==0) //当数组指针在第一行时,只有此时才考虑到最后一行
247 3 {
248 4 if (ScrLine==0) //如果屏幕指针在第一行则到最后一行
249 4 {
250 5 ScrLine = 3;
251 5 ArrayLine = 4;
252 5 }
253 4 else //如果屏幕指针没有在最后一行则向上移动
254 4 ScrLine--;
255 4 }
256 3 else //如果数组指针不在第一行
257 3 {
258 4 if (ScrLine==0) //如果屏幕指针在第一行,则要向上滚屏
259 4 ArrayLine--;
260 4 else
261 4 ScrLine--; //如果屏幕指针不在第一行,则向上移动
262 4 }
263 3 break;
264 3 case DOWN: //向下的逻辑与向上的逻辑相反
265 3 case SUB:
266 3 if (ArrayLine>=4)
267 3 {
268 4 if (ScrLine>=3)
269 4 {
270 5 ScrLine = 0;
271 5 ArrayLine = 0;
272 5 }
273 4 else
274 4 ScrLine++;
275 4 }
276 3 else
277 3 {
278 4 if (ScrLine>=3)
279 4 ArrayLine++;
280 4 else
281 4 ScrLine++;
282 4 }
283 3 break;
284 3 case ENTER:
285 3 //menu3(ArrayLine+ScrLine);
286 3 break;
287 3 case ESC:
288 3 ScrLine = temp_scr;
289 3 ArrayLine = temp_array;
290 3 return;
291 3 }
292 2 }
293 1 }
294
295 //*****************************************************************
296 //二级子菜单 二
297 //*****************************************************************
298 void menu_2_2(void)
299 {
300 1 unsigned char temp_array,key_value,temp_scr;
301 1 temp_array = ArrayLine;
302 1 temp_scr = ScrLine;
303 1 ArrayLine=0;
C51 COMPILER V7.08 MAIN 10/31/2007 10:13:27 PAGE 6
304 1 ScrLine=0;
305 1 InitLcd();
306 1 while(1)
307 1 { ReverseLine(ScrLine);
308 2 PrintStr(0,0,second_menu_2[ArrayLine]);
309 2 PrintStr(1,0,second_menu_2[ArrayLine+1]);
310 2 PrintStr(2,0,second_menu_2[ArrayLine+2]);
311 2 PrintStr(3,0,second_menu_2[ArrayLine+3]);
312 2
313 2 while(1)
314 2 { key_value=GetKey(12);
315 3 if(key_value!=0xff)
316 3 break;
317 3 }
318 2 switch(key_value)
319 2 {
320 3 /* 当按向上键和加号键时向上移动*/
321 3 case UP:
322 3 case PLUS:
323 3 if (ArrayLine==0) //当数组指针在第一行时,只有此时才考虑到最后一行
324 3 {
325 4 if (ScrLine==0) //如果屏幕指针在第一行则到最后一行
326 4 {
327 5 ScrLine = 3;
328 5 ArrayLine = 4;
329 5 }
330 4 else //如果屏幕指针没有在最后一行则向上移动
331 4 ScrLine--;
332 4 }
333 3 else //如果数组指针不在第一行
334 3 {
335 4 if (ScrLine==0) //如果屏幕指针在第一行,则要向上滚屏
336 4 ArrayLine--;
337 4 else
338 4 ScrLine--; //如果屏幕指针不在第一行,则向上移动
339 4 }
340 3 break;
341 3 case DOWN: //向下的逻辑与向上的逻辑相反
342 3 case SUB:
343 3 if (ArrayLine>=4)
344 3 {
345 4 if (ScrLine>=3)
346 4 {
347 5 ScrLine = 0;
348 5 ArrayLine = 0;
349 5 }
350 4 else
351 4 ScrLine++;
352 4 }
353 3 else
354 3 {
355 4 if (ScrLine>=3)
356 4 ArrayLine++;
357 4 else
358 4 ScrLine++;
359 4 }
360 3 break;
361 3 case ENTER:
362 3 //menu3(ArrayLine+ScrLine);
363 3 break;
364 3 case ESC:
365 3 ScrLine = temp_scr;
C51 COMPILER V7.08 MAIN 10/31/2007 10:13:27 PAGE 7
366 3 ArrayLine = temp_array;
367 3 return;
368 3 }
369 2 }
370 1 }
371
372 void menu_2_3(void){
373 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -