trackbar 控制項高級玩法

2022-01-06 aardio

收錄於話題 #入門教程 5個

創建 trackbar 控制項(跟蹤條、滑尺控制項) 非常簡單,從控制項工具條拖到界面上就可以了:


再切換到代碼視圖:


添加代碼 

winform.trackbar.setRange(1,100)

指定滑塊最小值、最大值就可以了。我們可以用 winform.trackbar.pos 隨時獲取到當前刻度,也可以添加事件回調函數 —— 這些大家可以看「範例 / Windows 窗口 / 窗口控制項 / 滑尺控制項 」,代碼很簡單不多講。

我們可能發現 trackbar 的刻度是整數,如果我們希望使用小數刻度,可以換算後再顯示或使用,例如 「範例 / Windows 窗口 / 窗口控制項 / 滑尺控制項 」裡就是這樣寫的:

winform.trackbar.setRange(1,100)
winform.trackbar.oncommand = function(id,event,pos){ var pos = winform.trackbar.pos; winform.editTrackbar.text = pos / 10; winform.trackbar.tooltip = pos / 10; }

有時候我們可能希望 trackbar  有透明的背景,這很簡單,在窗體設計器中點選 trackbar 控制項,然後把「浮動透明」屬性設為 true 就可以了:|



這種系統提供的 trackbar 控制項有一個奇葩的功能,點擊以後周圍會顯示一個虛線框,而且沒辦法簡單地取消或關掉,下面提供一個方法幹掉這個虛線框:

winform.trackbar.onnotify = function(id,code,ptr){   if( code == 0xFFFFFFF4 ){    var lvcd = winform.trackbar.getNotifyCustomDraw(code,ptr);    if( lvcd.dwDrawStage == 1 ){      lvcd.uItemState = lvcd.uItemState &  ~0x10;      lvcd.update();    }  }}

如果我們想讓 trackbar 變得更漂亮一些,用系統 trackbar 就比較為難了。我們可以用 aardio 中最強大的控制項 —— plus 控制項來繪製 trackbar 控制項。方法很簡單,先拖一個 plus 控制項到界面上,然後打開「工具 / 滑尺配色工具」



配置好外觀與樣式,然後「導出到窗體設計器選中控制項」就行了:

下面看自動生成的範例,運行效果:



範例代碼很簡單:


import win.ui;var winform = win.form(text="滑尺控制項")winform.add(trackbar={cls="plus";left=225;top=266;right=667;bottom=281;bgcolor=14265123;border={radius=-1};foreRight=15;forecolor=1865727;paddingBottom=5;paddingTop=5;z=1})
winform.trackbar.setTrackbarRange(1,100);
winform.trackbar.skin({ background={ default=0xFF23ABD9; }; foreground={ default=0xFFFF771C; hover=0xFFFF6600; }; color={ default=0xFFFF5C00; hover=0xFFFF6600; }})
winform.show() win.loopMessage();

如果希望在拖動滑塊時顯示提示,可添加以下代碼:

winform.trackbar.onMouseUp = function(wParam,lParam){  toolinfo.trackPopup(false);}
winform.trackbar.onPosChanged = function( pos,thumbTrack ){ if(thumbTrack){ var x,_ = win.getMessagePos(); var _,y,cx,cy = winform.trackbar.getPos(true) toolinfo.setText(pos / 10).trackPopup(true,x,y+cy); }}


以上所有範例都已經添加到新版 aardio 中。

相關焦點

  • bar = ban ? 99%的人不懂使用bar這樣的高級表達!
    川普籤令禁止與8款中國應用交易: 據外媒報導,美國政府一名高級官員表示,川普1月5日籤署一項行政命令,禁止螞蟻集團旗下支付寶等8款中國應用在美進行交易
  • bar=ban?99%的人不懂使用bar這樣的高級表達!
    川普籤令禁止與8款中國應用交易: 據外媒報導,美國政府一名高級官員表示,川普1月5日籤署一項行政命令,禁止螞蟻集團旗下支付寶等8款中國應用在美進行交易。 本期英語主播:小逗 bar和ban可以表達同個意思嗎,答案是yes, 這兩個詞都可以表示「禁止」的意思!
  • LabVIEW中自定義控制項(.ctl控制項)的方法
    背景相對於其它如C/C++等高級程式語言,LabVIEW平臺本身已經提供了很多控制項,如數值型控制項、布爾型控制項、字符型控制項及波形顯示等控制項,而且每種控制項在外觀上幾乎都有多種風格顯示,如經典、新式、系統及銀色等風格可供選擇,在對軟體界面要求不高的情況下可以滿足軟體開發者的需求
  • 資訊|lounge bar是什麼(高級酒吧)|調酒師李波
    中國字我想現在中國土地上的多數人都認得的,如果你是國際友人身邊也會有認得的,所以不用我全部一個個打出來了,這也是我的不對了,太懶惰,做為一個老師,我時常給我的學生說要用心(走心),要勤奮、、、。我不知道這樣好不好,但是目前來講是好的,行業有了更快的發展,調酒師們開始了學習,不再那麼社會化(因為以前做花式都不被人理解,覺得這些人是壞人,其實我們那裡壞,特好了,陪人喝,陪人聊,陪人開心、、、)。這些酒吧有了更為高級的格調,有了更喜歡學習的調酒師,有了更高級的消費方式,有了更高級的服務方式。老闆知道了客人的需要,調酒師知道自已不多學習多看書,就沒有更有用的話題與客人去溝通。
  • Excel圖表的玩法:製作一個帶控制項的動態圖表
    今天編教你製作一個帶控制項的動態圖表,只顯示5天的數據,通過調整滾動條查看,演示如下圖:具體操作步驟:第一步:插入滾動條控制項1、點擊【開發工具】中的【插入】按鈕,選擇【滾動條】,在合適位置畫出滾動條控制項;2、滑鼠右鍵單擊控制項,在彈出的菜單中選擇【設置控制項格式】,在設置控制項格式窗口中選擇【控制】頁面,各參數設置如下圖,最後點擊【確定】返回工作區。
  • Excel 控制項【窗體控制項】和【ActiveX控制項】使用基礎教程
    excel 控制項有兩種,分別是【窗體控制項】和【ActiveX控制項】。兩種控制項做出相同的效果,但它倆也有很多不同的地方。  Excel 控制項是放置於窗體上的一些圖形對象,可用來顯示或輸入數據、執行操作或使窗體更易於閱讀。這些對象包括文本框、列表框、選項按鈕、命令按鈕及其他一些對象。控制項提供給用戶一些可供選擇的選項,或是某些按鈕,單擊後可運行宏程序。
  • bar 是一個什麼介詞?
    今天來和各位聊聊 bar 這個熟詞。Bar 這個單詞概念廣泛,其應用在生活中也隨處可見,拿其最基本的含義「長方形的條、塊」來說,就有給老闆匯報數據時用的柱狀圖(bar graph/chart),下午茶吃的巧克力棒(chocolate bar)以及巧克力棒外包裝上的條形碼(bar code)。
  • 精華帖 | Excel插入控制項(表單控制項和ActiveX控制項)妙招
    通常情況下,我們需要在Excel界面插入一些控制項,讓這些控制項指定VBA界面中的代碼,以實現在Excel界面控制VBA代碼(或宏)的運行或停止。但是,在Excel默認界面功能區根本找不到插入控制項命令按鈕,所以我們需要一些技巧來調出需要的控制項命令,本教程以Excel2013為例,介紹兩種添加控制項的技巧,希望對大家有點幫助。
  • NET開發-WebForm中Web控制項是伺服器控制項,按鈕、標籤控制項如何使用
    Web控制項介紹在.NET Web應用程式中,有WebForm和MVC這2種UI框架, 在WebForm中,其控制項分為Web伺服器控制項和HTML控制項(或Web客戶端控制項)。1) WEB伺服器控制項:微軟為了實現前端頁面與後端代碼的分離,將HTML表單標記進行了封裝,封裝好的控制項都是以<asp:開頭,並且作為Web伺服器控制項出現,Web伺服器控制項是指在伺服器端進行處理的控制項,在伺服器端處理後都會轉換為標準的HTML標記返回給客戶端。
  • 自定義LinearLayout實現RatingBar效果,打造一個評分控制項.
    項目中一直用到RatingBar這個評分控制項但奈何系統的太難用了,使用他要滿足我們的需求需要弄一堆樣式、設置這些或者那些東西。但這都不是重點最要命的是設置我們自己的圖片他竟然對圖片大小還有要求,若不合格就直接影響到了界面的美觀....所以就有了這篇文章。
  • Excel 中如何枚舉表單控制項,vba 編程學習
    做Excel 表格的時候,會有一些高級功能,需要添加一些表單控制項或Activex控制項來增加表格的操作性。有時候,我們需要對表單控制項進行操作,那麼如何來一一枚舉出這些控制項呢?下面介紹一下,枚舉方法:表單控制項類型要判斷表內shape對象type是否是msoFormControl代碼:If shp.Type = msoFormControl Then然後再判斷表單類型 FormControlType
  • 備考經驗 | 過紐約bar 經驗分享(英文版)
    所以我現在想回饋寄託,分享一些複習紐約bar 的備考經驗。由於個人原因,我一開始寫了英文版的經驗分享,再重新翻譯成中文比較複雜。所以我直接把英文版的經驗發出來。如果有任何問題,也可以在這個帖子裡問我。祝大家都如願通過紐約bar。remote New York bar exam in October 2020.
  • MotionLayout 的高級玩法我學會了
    Carousel 中有一個偷天換日的技能,每一次動畫完成後,整個界面又會重置成 start 狀態,但控制項映射的數據卻發生了變化:/></androidx.constraintlayout.motion.widget.MotionLayout>重要的事情需要說三遍,一定要正確的順序放置控制項,系統是根據視圖的層級確認View的先後順序的。不然等代碼寫完以後,你會發出這樣的疑問:代碼明明沒問題,動畫執行後的數據排列怎麼都對不上?
  • ListView控制項入門
    ListView控制項入門ListView控制項是一款非常優秀的表格控制項,對vba初學者來說,熟練地掌握此控制項的用法
  • Track record
    certain if Delly did it on purpose but he has a track record.」If a pack of wolves run past the village on virgin snow, for example, they will leave a track of footprints. Following this track, or rather these footprints, huntsmen can track the wolves down.
  • WPF控制項模板
    引言:在進行WPF項目開發過程中,由於項目的需要,經常要對某個控制項進行特殊的設定,其中就牽涉到模板的相關方面的內容。
  • 30個讓你眼前一亮的iOS Swift UI控制項!
    SCLAlertView一款漂亮的彈窗控制項提供多種豐富的消息彈窗樣式的控制項適用於 UITableView / UICollectionView / UIScrollView 的動態頂部菜單欄控制項100%可自定義的日曆控制項點擊查看動圖一款精緻的日期選擇控制項
  • PyQt 5信號與槽的幾種高級玩法
    本文介紹了幾種PyQt 5信號與槽的幾級玩法。在Qt中,每一個QObject對象和PyQt中所有繼承自QWidget的控制項(這些都是QObject的子對象)都支持信號與槽機制。當信號發射時,連接的槽函數將會自動執行。在PyQt 5中信號與槽通過object.signal.connect()方法連接。PyQt的窗口控制項類中有很多內置信號,開發者也可以添加自定義信號。
  • 溫莎製造W Plus K Bar驚豔亮相長沙 引領KTV進入全新K Bar時代
    期間,溫莎通過多年研究量販式KTV行業的發展趨勢及消費市場的需求變化,精準策劃品牌升級的戰略定位,W Plus K bar應運而生,這是溫莎專注行業領域經營理念的沿襲,也是不斷探索創新的突破。W Plus K bar究竟有何魅力吸引眾多年輕潮咖的夜生活娛樂選擇呢?