局部控件全屏展示(非窗体全屏,而是任意一个控件全屏)

By admin at 2018-03-05 • 1人收藏 • 1729人看过
import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add(
custom={cls="custom";text="custom";left=103;top=63;right=657;bottom=374;bgcolor=8421376;z=1}
)
/*}}*/

winform.custom.wndproc = function(hwnd,message,wParam,lParam){
//双击custom控件使这个控件内容为全屏显示
	if(message == 0x203/*_WM_LBUTTONDBLCLK*/){
		winform.custom.fullscreen();
	}
	//无返回值则继续调用默认回调函数
}

winform.show() 
win.loopMessage();

这里需要注意一点:

这个fullscreen()函数必需放在消息回调wndproc()函数里,放其他里面都没用!!!!


用途:

可以用在正常情况下,界面这个custom控件里只显示部分需要显示的内容, 当双击全屏后,显示完整内容.

也可以用在摄像头显示上, 平时是缩小版显示, 双击摄像头框后,全屏显示!

1 个回复 | 最后更新于 2018-03-11
2018-03-11   #1

以上代码实现了双击主界面中的custom来让custom全屏的功能:

但是,如果custom.loadForm()之后,在按照上面的方法就行不通了.因为这时候回调函数

wndproc()

已经不能在主界面被调用了, 这时候我们就要在被调用的子界面中进行处理了.

aa.aardio子界面代码如下:

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=570;bottom=334;parent=...)
winform.add(
plus={cls="plus";left=114;top=60;right=332;bottom=133;bgcolor=128;z=1};
plus2={cls="plus";left=186;top=179;right=425;bottom=254;bgcolor=8421376;z=2}
)
/*}}*/

winform.wndproc = function(hwnd,message,wParam,lParam){
	select( message ) { 
		case  0x203/*_WM_LBUTTONDBLCLK*/{
			
			winform.parent.fullscreen();
			
		}
		else{
			
		}
	}
	//无返回值则继续调用默认回调函数
}

winform.enableDpiScaling();
winform.show();

win.loopMessage();
return winform;

引用aa.aardio主界面代码如下:

import win.ui;
/*DSG{{*/
mainForm = win.form(text="aardio form";right=435;bottom=303)
mainForm.add(
custom={cls="custom";text="custom";left=46;top=33;right=396;bottom=247;bgcolor=8421376;border=1;z=1}
)
/*}}*/

mainForm.custom.loadForm("\res\aa.aardio")

mainForm.enableDpiScaling();
mainForm.show();

return win.loopMessage();

以上代码,主要看子界面中的

winform.parent.fullscreen();

这个是关键,O(∩_∩)O~

登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...