diff --git a/lib/flexcell/_.aardio b/lib/flexcell/_.aardio index 57fe6b5..c64ad40 100644 --- a/lib/flexcell/_.aardio +++ b/lib/flexcell/_.aardio @@ -1,6 +1,11 @@ //flexcell-智能提示 //内购版本,严禁外传 +import com.activeX; +import util.metaProperty; +import gdip; +import fsys; + if ..io.exist("/lib/flexcell/user.aardio") loadcodex("/lib/flexcell/user.aardio","flexcell"); else loadcodex($"/lib/flexcell/user.lib"); diff --git a/lib/flexcell/user.lib b/lib/flexcell/user.lib index 98c68c4..ba0260b 100644 Binary files a/lib/flexcell/user.lib and b/lib/flexcell/user.lib differ diff --git a/lib/teUtils.aardio b/lib/teUtils.aardio index b70af21..6084dfc 100644 --- a/lib/teUtils.aardio +++ b/lib/teUtils.aardio @@ -55,6 +55,9 @@ initFlexCellShow = function(fc){ fc.AutoRedraw = false; fc.setTable(t, t.fields, t.fields); fc.column(0).AutoFit(); + if(fc.Column(0).Width < 40){ + fc.Column(0).Width = 40; + } fc.AutoRedraw = true; fc.Refresh(); } diff --git a/main.aardio b/main.aardio index 53b950d..4cc208e 100644 --- a/main.aardio +++ b/main.aardio @@ -10,7 +10,7 @@ import flexcell; import teUtils; import teMenu; /*DSG{{*/ -var mainForm = win.form(text="TabEditor--";right=1399;bottom=799;bgcolor=16777215) +var mainForm = win.form(text="TabEditor++";right=1399;bottom=799;bgcolor=16777215) mainForm.add( custom={cls="custom";text="自定义控件";left=0;top=36;right=1400;bottom=800;ah=1;aw=1;bgcolor=12639424;db=1;dl=1;dr=1;dt=1;z=2}; plus={cls="plus";left=0;top=0;right=1400;bottom=36;bgcolor=16777215;border={left=1;top=1;right=1;color=-6250332};clipBk=false;clipch=1;dl=1;dr=1;dt=1;font=LOGFONT(h=-18);forecolor=16777215;notify=1;repeat="stretch";z=1} @@ -86,8 +86,13 @@ g_teMenus.openFile = function(ctrl){ mainForm.g_flexcell.AutoRedraw = false; mainForm.g_flexcell.setTable(t,,t.fields); mainForm.g_flexcell.column(0).AutoFit(); + if(mainForm.g_flexcell.Column(0).Width < 40){ + mainForm.g_flexcell.Column(0).Width = 40; + } mainForm.g_flexcell.AutoRedraw = true; mainForm.g_flexcell.Refresh(); + collectgarbage("collect"); + collectgarbage("collect"); } } } @@ -296,13 +301,54 @@ mainForm.g_flexcell.onClick = function(Row,Col){ var row,col=owner.toRelativeRow(Row),owner.toRelativeCol(Col); } +//左侧弹出菜单 +mainForm.popmenuLeft = win.ui.popmenu(mainForm); +mainForm.popmenuLeft.add('向上插入一行',function(id){ + var curSelection = mainForm.g_flexcell.selection(); + teUtils.insertFlexCellNewRow(mainForm.g_flexcell, curSelection.FirstRow, 1, mainForm.g_flexcell.colCount); + curSelection.release(); + collectgarbage("collect"); + collectgarbage("collect"); +} ) +mainForm.popmenuLeft.add('向下插入一行',function(id){ + var curSelection = mainForm.g_flexcell.selection(); + teUtils.insertFlexCellNewRow(mainForm.g_flexcell, curSelection.FirstRow + 1, 1, mainForm.g_flexcell.colCount); + curSelection.release(); + collectgarbage("collect"); + collectgarbage("collect"); +} ) +//右侧弹出菜单 +mainForm.popmenuRight = win.ui.popmenu(mainForm); +mainForm.popmenuRight.add('向左插入一列',function(id){ + var curSelection = mainForm.g_flexcell.selection(); + teUtils.insertFlexCellNewCol(mainForm.g_flexcell, curSelection.FirstCol, 1, mainForm.g_flexcell.colCount); + curSelection.release(); + collectgarbage("collect"); + collectgarbage("collect"); +} ) +mainForm.popmenuRight.add('向右插入一列',function(id){ + var curSelection = mainForm.g_flexcell.selection(); + teUtils.insertFlexCellNewCol(mainForm.g_flexcell, curSelection.FirstCol+1, 1, mainForm.g_flexcell.colCount); + curSelection.release(); + collectgarbage("collect"); + collectgarbage("collect"); +} ) + + mainForm.g_flexcell.onMouseUp = function(Button , Shift, x, y){ /*** 鼠标按键放开。 Button 当前按下的鼠标按钮:1:左按钮;2:右按钮;4:中间按钮;同时按下时执行位或操作。 Shift 功能键状态:1:SHIFT;2:CTRL;4:ALT;同时按下时执行位或操作。 x,y 鼠标指针当前位置 ***/ if(Button == 2){ - mainForm.g_flexcell.cell(mainForm.g_flexcell.MouseRow,mainForm.g_flexcell.MouseCol).Select(); + mainForm.g_flexcell.cell(mainForm.g_flexcell.MouseRow, mainForm.g_flexcell.MouseCol).Select(); + var x,y = win.getMessagePos(); + if(mainForm.g_flexcell.MouseCol == 0){ + mainForm.popmenuLeft.popup(x,y,true) + } + elseif(mainForm.g_flexcell.MouseRow == 0){ + mainForm.popmenuRight.popup(x,y,true) + } } if(pre_searched_row != null and pre_searched_col != null){ mainForm.g_flexcell.Cell(pre_searched_row, pre_searched_col).BackColor = 0xffffff;