系统声音跟踪条垂直方式调整

tanzh 9月前 458

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=618;bottom=332)
winform.add(
edit={cls="edit";left=156;top=75;right=193;bottom=97;edge=1;z=2};
spin={cls="spin";left=288;top=75;right=320;bottom=114;z=3};
static={cls="static";text="系统声音调整";left=66;top=9;right=237;bottom=54;font=LOGFONT(h=-27);transparent=1;z=4};
trackbar={cls="trackbar";left=220;top=67;right=250;bottom=295;max=100;min=0;tick="left";vert=1;z=1}
)
/*}}*/

//系统声音跟踪条垂直方式调整
import sys.audioVolume; //扩展库
var vol = sys.audioVolume();
//初始化trackbar
winform.trackbar.setRange(0,100);
winform.trackbar.pos = 100-vol.volume; //反向计算
winform.edit.text = vol.volume;
//跟踪条虚线框取消trackbar
winform.trackbar.onnotify = function(id,code,ptr){ 
	if( code == 0xFFFFFFF4/*_NM_CUSTOMDRAW*/ ){
		var lvcd = winform.trackbar.getNotifyCustomDraw(code,ptr);
		if( lvcd.dwDrawStage == 1/*_CDDS_PREPAINT*/ ){
  			lvcd.uItemState = lvcd.uItemState &  ~0x10/*_CDIS_FOCUS*/;
  			lvcd.update();
		}
	}
}
//跟踪条响应trackbar
winform.trackbar.wndproc = function(hwnd,message,wParam,lParam){
	select(message) {
		case (0x201/*_WM_LBUTTONDOWN*/ and 0x200/*_WM_MOUSEMOVE*/) {
			winform.trackbar.tooltip = 100 - winform.trackbar.pos; //提示
			winform.edit.text = 100-winform.trackbar.pos; //反向计算
			winform.spin.pos = 100-winform.trackbar.pos; //反向计算
		}
	}
}
//跟踪条拖动结束trackbar
winform.trackbar.oncommand = function(id,event,pos){
	if( event == 8/*_SB_ENDSCROLL*/ ){ //拖动结束
		vol.pos = winform.trackbar.pos;
		winform.edit.text = 100-winform.trackbar.pos; //反向计算
		winform.spin.pos = 100-winform.trackbar.pos; //反向计算
		vol.volume = 100 - winform.trackbar.pos; //反向计算
	}
}
//滚动选框spin
winform.spin.setRange(0,100);
winform.spin.pos = vol.volume;
winform.spin.oncommand = function(id,event,pos){
	if( event == 8/*_SB_ENDSCROLL*/ ){ //上下按钮结束
		winform.edit.text = winform.spin.pos;
		winform.trackbar.pos = 100-winform.spin.pos; //反向计算
		vol.volume = winform.spin.pos;
	}
}


winform.show();
win.loopMessage();

常用跟踪条是水平的,左边最小值,右边最大值,垂直方式显示就有点问题,上面最小值,下面最大值,不符合win操作习惯,研究了2天,终于变成上面最大值,下面最小值了

最新回复 (2)
  • 光庆 9月前
    0 2

     好,顶 

  • Viewer8122 9月前
    0 3
    谢谢分享。
返回