EBOOT升级进度条 怼烎@ 2022-07-14 16:27 141阅读 0赞 VOID BspEbootUpdateShowProgressBar(BYTE phase, BYTE percent) { if (!g_bScreenInited || percent > 100) return; BspEbootUpdateProgressString(phase, 0);//,调用DrawString()来打印对应的字符串 if (percent < oldPercent) FillRectangle(g_dwPgrBorderLeft + 1, g_dwPgrBorderTop + 1, g_dwPgrBorderLeft + PGR_BAR_WIDTH, g_dwPgrBorderTop + PGR_BAR_HEIGHT, g_hCurrentDC->bkcolor); oldPercent = percent; FillRectangle(g_dwPgrBorderLeft + 1, g_dwPgrBorderTop + 1, g_dwPgrBorderLeft + PGR_BAR_WIDTH* percent / 100, g_dwPgrBorderTop + PGR_BAR_HEIGHT, XBLUE);//设定填充宽度 .................................................................................................................................. } # 参考文章:(BSP不一样 代码不同) # # WINCE6开机进度条 # 大致思路,在NBoot 或EBoot 加开机进度条,由于WINCE 启动主要时间都花在读取NK ,因此每读取一定的页,就在屏上画一条固定高度的线,并记录画线的位置,下次接着画,直到读取完NK ,这样就产生的进度条的效果。 参考Mini2440 Nboot。 先定义进度条颜色、位置及长宽,关键代码如下: 1. \#define PROGRESS\_BAR\_R 0x00 2. \#define PROGRESS\_BAR\_G 0xFF 3. \#define PROGRESS\_BAR\_B 0x00 4. 5. //设置启动条的位置和长宽 6. \#define PROGRESS\_BAR\_TOP 225 7. \#define PROGRESS\_BAR\_LEFT 145 8. \#define PROGRESS\_BAR\_WIDTH 512 9. \#define PROGRESS\_BAR\_HEIGHT 20 10. \#define PROGRESS\_BAR\_COLOR ( ( (PROGRESS\_BAR\_R >> 3) << 11) | ((PROGRESS\_BAR\_G >> 2) << 5) | (PROGRESS\_BAR\_B >> 3) ) \#define PROGRESS\_BAR\_R 0x00 \#define PROGRESS\_BAR\_G 0xFF \#define PROGRESS\_BAR\_B 0x00 //设置启动条的位置和长宽 \#define PROGRESS\_BAR\_TOP 225 \#define PROGRESS\_BAR\_LEFT 145 \#define PROGRESS\_BAR\_WIDTH 512 \#define PROGRESS\_BAR\_HEIGHT 20 \#define PROGRESS\_BAR\_COLOR ( ( (PROGRESS\_BAR\_R >> 3) << 11) | ((PROGRESS\_BAR\_G >> 2) << 5) | (PROGRESS\_BAR\_B >> 3) ) 在读取NK 前计算出读取开始画线的位置 1. unsigned char \*LCDCurrentAddr; 2. LCDCurrentAddr = (unsigned char \*)LCD\_ADDR + PROGRESS\_BAR\_TOP \* LCD\_WIDTH \* 2 + PROGRESS\_BAR\_LEFT \* 2; // LCD\_ADDR为屏地址 unsigned char \*LCDCurrentAddr; LCDCurrentAddr = (unsigned char \*)LCD\_ADDR + PROGRESS\_BAR\_TOP \* LCD\_WIDTH \* 2 + PROGRESS\_BAR\_LEFT \* 2;// LCD\_ADDR为屏地址 根据 NK 长度及进条度长度,计算出每读取多少页就画一条线,画线关键代码 1. unsigned short \*p = (unsigned short \*)LCDCurrentAddr; 2. for (y = 0; y < PROGRESS\_BAR\_HEIGHT; y++) 3. \{ 4. \*p = PROGRESS\_BAR\_COLOR; 5. p += LCD\_WIDTH; 6. \} 7. LCDCurrentAddr += 2; unsigned short \*p = (unsigned short \*)LCDCurrentAddr; for (y = 0; y < PROGRESS\_BAR\_HEIGHT; y++) \{ \*p = PROGRESS\_BAR\_COLOR; p += LCD\_WIDTH; \} LCDCurrentAddr += 2; \--------------------------------------------------------------------- 尊重他人劳动成果,转载请标明出处[http://www.cnblogs.com/feishanm][http_www.cnblogs.com_feishanm] [http_www.cnblogs.com_feishanm]: http://www.cnblogs.com/feishanm
相关 进度条 [在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4... 我就是我/ 2024年04月17日 05:28/ 0 赞/ 79 阅读
相关 进度条 <!DOCTYPE html> <html lang="cn"> <head> <meta charset="UTF-8"> <meta 港控/mmm°/ 2022年12月25日 15:57/ 0 赞/ 281 阅读
相关 进度条 进度条--基本样式 <div class="progress"> <div class="progress-bar" style="width:8 墨蓝/ 2022年10月02日 14:48/ 0 赞/ 325 阅读
相关 python 进度条 -- coding: utf-8 -- import getpass import time import request 港控/mmm°/ 2022年08月31日 11:24/ 0 赞/ 234 阅读
相关 EBOOT升级进度条 VOID BspEbootUpdateShowProgressBar(BYTE phase, BYTE percent) { 怼烎@/ 2022年07月14日 16:27/ 0 赞/ 142 阅读
相关 动态进度条 ![这里写图片描述][SouthEast] <!DOCTYPE html> <html> <head> <meta c ╰+攻爆jí腚メ/ 2022年06月05日 05:35/ 0 赞/ 325 阅读
相关 进度条代码 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> 缺乏、安全感/ 2022年05月28日 11:42/ 0 赞/ 272 阅读
相关 python 简单文本进度条 程序进度条 加载进度条 单行刷新 利用time库来替代某个程序 的进行过程,做实例, 思路是,简单打印出来程序进度 单行刷新关键是\\r, python默认是print后换行,所以加一个\\r是光标 朴灿烈づ我的快乐病毒、/ 2022年03月18日 05:50/ 0 赞/ 445 阅读
相关 wxWidgets进度条 include <wx/wx.h> include <wx/progdlg.h> class myApp : public wxApp { 客官°小女子只卖身不卖艺/ 2021年12月16日 10:45/ 0 赞/ 508 阅读
还没有评论,来说两句吧...