(27)uniGUI for C++ builder之雜七雜八小知識
(中行雷威2018.9.30)
(同一個世界,同一個夢想,交流學習C++Builder XE10,傳承c++builder的魅力!歡迎各地朋友加入我的QQ群484979943,進群密碼“BCB”,同時也請將該群號廣為宣傳,希望能夠廣集各方高手,共同進步。如需下載開發工具及原始碼請加入我的QQ群。)
【閱讀倡議】
1、有問題請留言;
2、沒問題請點贊;
3、看連載請加群;
4、下原始碼請加群;
【開發工具】
1、C++Builder10.2.3 tokyo
2、FMSoft_uniGUI_Complete_Professional_1.10.0build1471(正版)
一、程式圖示設定
1、如何設定編譯出來的可執行檔案的圖示
開發環境IDE主選單:Project->Options->Application->Application Icon Settings,選擇一個圖示吧。
2、如何設定uniGUI程式最小化到右下角的圖示
設定ServerModule的Favicon屬性
二、瀏覽器相關
1、瀏覽器開啟一個URL
UniSession->AddJS("window.open(\""+UniEdit4->Text+"\",\"newwindow\")");
其中UniEdit4->Text為一個完整的URL變數,如http://www.sina.com.cn
2、設定按鈕或相應控制元件的Ext事件屬性
比如UniBitBtn,開啟屬性ClientEvents->ExtEvents,找到Ext.button.Button的click屬性,雙擊後新增程式碼如下
function click(sender, e, eOpts)
{
window.open("http://www.sohu.com");//url必須是帶有http頭的完整的地址
}
然後勾選綠色小勾儲存即可。
三、表格相關
1、設定列寬
UniDBGrid1->Columns->Items[0]->Width=150;
2、設定列提示
UniDBGrid1->Columns->Items[0]->ShowToolTip=true;//如果列寬顯示不下內容時,滑鼠焦點後可彈窗顯示
四、視窗樣式
1、設定視窗模式還是頁面模式
ServerModule的MainFormDisplayMode=mfWindow/mfPage(視窗或頁面樣式)
五、各種Panel面板
1、UniHiddenPanel隱藏面板
放在它上面的控制元件在執行時時看不到的。
2、UniPanel增加背景圖
在視窗的OnCreate事件中增加js呼叫,背景圖片檔案要放在執行程式同級目錄的files/images下。
void __fastcall TMainForm::UniFormCreate(TObject *Sender)
{
UniPanel1->JSInterface->JSAddListener("afterrender", UniPanel1->JSInterface->JSFunction("sender","sender.body.dom.style.backgroundImage=\"url(files/images/2018-10-07_080354.png)\";"));
}
//---------------------------------------------------------------------------
六、文件上傳與下載
1、下載文件
UniSession->SendFile(UniServerModule()->FilesFolderPath+filePathName);
web預設文件主目錄在執行程式同級目錄下的files子目錄下,該屬性可以在ServerModule的FilesFolder屬性中配置。
對於常見的文件型別,瀏覽器預設支援,對於如abc副檔名的特殊類文件,點選後瀏覽器會沒有動作,你需要配置一下MIME表。
在ServerModule的OnCreate屬性中新增:
MimeTable.AddMimeType("abc","abc");
七、UniTreeView
1、修改節點圖示大小
UniTreeView關聯UniImageList顯示每個節點的小圖,預設小圖較小
1)將UniImageList的width設為32,height設為32,雙擊UniImageList新增32*32的ico圖示
2)新增UniServerModule的CustomCSS屬性
.x-tree-icon {
width: 32px;
height: 32px;
line-height: 32px;
}
.x-tree-elbow-img {
width: 18px;
height: 30px;
line-height: 32px;
}
.x-tree-node-text {
line-height: 24px;
}