如何修改uC/GUI的仿真窗口大小
来源:互联网 发布:c语言开发手册 编辑:程序博客网 时间:2024/06/05 22:41
uC/GUI3.90a的仿真窗口默认是320x240,如果要使用其它开小的窗口,除了要在LCDConf.h中将LCD_XSIZE和LCD_YSIZE设为指定大小外,还需要修改\System\Simulation\SIM_X.c。
通常的uC/GUI的仿真窗口是Device型的,就是像一个开发板的样子,而3.90a提供了Simulation的源代码,可以很容易的修改为像uC-GUI-View那样的窗口。对了,就是修改SIM_X.c!
以下是Sim_X.c的内容:
//! 初始化仿真器
//! @note 仿真LCD的尺寸为320x240
void SIM_X_Init()
{
if (((LCD_GetDevCap(LCD_DEVCAP_XSIZE) *LCD_GetXMag()) == 320) &&
((LCD_GetDevCap(LCD_DEVCAP_YSIZE) *LCD_GetYMag()) == 240) && (LCD_GetNumLayers() == 1))
{
//SIM_SetLCDPos(71, 38);// 定义位图中LCD的原点位置
SIM_SetLCDPos(-71, 38);// 定义位图中LCD的原点位置--注意:就是这儿!!!
SIM_SetTransColor(0xff0000);// 定义透明色(transparent color)
/*SIM_SetLCDColorBlack(0, 0x808080);// 定义黑色(black color)
SIM_SetLCDColorWhite(0, 0xc0c0c0);// 定义白色(white color)*/
}
}
只需要将SetLCDPos的第一个参数改为负数,就可以表示使用uC-GUI-View那样的窗口。当然你需要将if中的320,240改为你需要的窗口大小,比如640,480。然后编译,运行,OK!
当然,这个时候窗口的Title显示的还是320*240,不过既然是Title,不修改也没什么关系--如果坚持要修改的话,自个儿看代码吧。
其实使用Device窗口还是通常视窗的关键是WinMain.c文件中的_WinMain_NoClean函数。下面是相关的代码:
// 使用器件模拟(device simulation)或标准窗口(standard window)
if (_ahBmpDevice[0] && (_xPosLCD >= 0))
{
BITMAP bmpDevice;
Getobject(_ahBmpDevice[0], sizeof(bmpDevice), &bmpDevice);// 得到位图信息
// 使用器件模拟,创建器件窗口(使用WS_EX_TOPMOST可在顶层显示)
_hWndMain = CreateWindowEx(0, acClassNameDevice, "Target device", WS_CLIPCHILDREN |
WS_POPUP | WS_VISIBLE, 10, 20, bmpDevice.bmWidth,
bmpDevice.bmHeight, 0, NULL, _hInst, NULL);
}
else
{
// 使用标准窗口,创建主窗口
_hWndMain = CreateWindow(acClassNameMain, BRANDING_GetAppNameLong(),
WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_VISIBLE, CW_USEDEFAULT,
0, _GetXSizePhys() + 250, _GetYSizePhys() + 150, NULL, NULL, hInstance, NULL);
if (!_hWndMain)
{
return FALSE;
}
_CreateWndLCD();// 创建仿真LCD窗口及其"调色板示例"窗口
_LOG_Create(_hInst, _hWndMain);// 创建Log窗口
}
显然,只需要将xPosLCD 设为<0,就会使用_CreateWndLCD创建LCD窗口,否则如果存在Device位图,就使用Dvice形式的窗口。其它的问题,看System下的Simulation源代码吧!
来自:http://www.dzjs.net/html/qianrushixitong/2007/0523/2139.html
- 如何修改uC/GUI的仿真窗口大小
- 如何修改MFC主窗口的大小
- 如何调整窗口的大小?
- 如何限制窗口的 大小?
- 修改Gnome Terminal窗口的默认大小
- 修改Linux窗口大小
- C# 如何设置窗口的大小
- 如何固定QT窗口的大小
- 如何调整Android的窗口大小
- 如何获取浏览器窗口的大小
- js如何获取浏览器窗口的大小
- SHBrowseForFolder如何改变弹出窗口的大小
- 关于vs2005运行uc/gui的问题
- uC/GUI 和 STemWin的区别
- GUI对象大小随窗口变化 units
- 自定义鼠标修改窗口大小
- windows命令行窗口大小修改
- ueditor修改涂鸦窗口大小
- Android (Linux) Suspend流程
- java静态代码块、初始化块和构造方法的执行顺序
- mysql关闭服务
- vector操作
- OCA、OCP、OCM傻傻分不清?
- 如何修改uC/GUI的仿真窗口大小
- 给部分培训学生的建议
- java数据源配置
- 往MySQL中存储图片
- sfc_os.dll位置
- 如何在 Ubuntu 启用 Radeon 开源驱动的 UVD 硬件解码
- paip.提升程序稳定性---最佳实践
- Android之-android-support-v4.jar的混淆问题
- LINUX 学习笔记——命令(1)