Montfrooij Posted May 1, 2012 Share Posted May 1, 2012 Hello, For some time I've been using the UDF from Melba23 called 'GUIScrollbars_Ex.au3' (no modifications) to add scrollbars when a specific gui was getting too large (many controls). It works like a charm except for when I'm using a lot of controls on the gui. That seems to make the creation of the gui flicker somewhat. I've been looking around here to find a possible solution, but until now I did not find any. Here is a simplified (....) version of the script, so the amount of controls is the same, but the data shown is minimal. When I outcomment line 275 (the _GUIScrollbars_Generate part) it does not flicker (but the scrollbars won't work either). expandcollapse popup#include <EditConstants.au3> #Include <GuiListView.au3> #include <GUIScrollbars_Ex.au3> global $iSleepTime = 30,$iMaxMenu = 10,$lView,$aData,$iRows Global $iTimer,$iRetID, $hCal,$sOutput, $sBuffer,$sOutput,$iCalc,$iSubafdeling,$iInlezen,$oADODBAX Global $iExListViewStyle = BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES),$iMultiple,$iLvCol,$iLvWidth,$iDatumCheck,$sGebrVers,$iDblClk Global $ahListView[1] = [0], $aQueryLv[1] = [0], $aListView[1] = [0],$iColWidth[1][1] ,$aIndices[$aListView[0] + 2] _MenuR() Func _MenuR() ;Show the lines of the Menu (with menuID) Local $cb[8][$iMaxMenu + 1],$sDag[8],$inpMenuNm[$iMaxMenu + 1],$Lv[8][$iMaxMenu + 1],$lCijf[8][$iMaxMenu + 1],$bCb[$iMaxMenu + 1],$iFilDayLV[8][$iMaxMenu + 1],$LvDay[8][$iMaxMenu + 1] Local $aCbOn[$iMaxMenu + 1],$lAvgPr[$iMaxMenu],$lMinPr[$iMaxMenu],$lMaxPr[$iMaxMenu] $sCyclus = "Summer" $iAW = 5 $iAM = 3 $iBDag = 1 $iMultiple = 1 $iGHTopPart = 70 $iGHTopPartBet = 25 $iGHMHeader = 15 $iGHMLv = 120 $iGHMFooter = 21 $iGHDayPart = $iGHMHeader + $iGHMLv + $iGHMFooter $iGHMidPart = $iGHDayPart * 7 $iGHBotPart = 40 $iGHeight = $iGHTopPart + $iGHTopPartBet + $iGHMidPart + $iGHBotPart if $iGHeight > @DesktopHeight - 80 Then $iDiffH = $iGHeight - @DesktopHeight - 80 + 200 $iGHeight = @DesktopHeight - 80 Else $iDiffH = 200 EndIf $iGWLE = 480 $iGWMI = 30 * $iAM $iGWMIBe = 30 $GWLvRE = 250 $iGWRE = $GWLvRE * $iAM $iGWidth = $iGWLE + $iGWMI + $iGWMIBe + $iGWRE + 20 if $iGWidth > @DesktopWidth - 80 Then $iDiffW = $iGWidth - @DesktopWidth - 80 + 200 $iGWidth = @DesktopWidth - 80 Else $iDiffW = 200 EndIf $iGLabW = 25 $iGButH = 25 $hGUI = GUICreate("Lines menu : x for cyclus: " & $sCyclus, $iGWidth, $iGHeight,0,0,BitOR($WS_VSCROLL,$WS_MINIMIZEBOX,$WS_MAXIMIZE,$WS_MAXIMIZEBOX,$WS_CAPTION,$WS_POPUP,$WS_SYSMENU,$WS_HSCROLL)) ;Filterpart $grKlFilterLI = GUICtrlCreateGroup("Gerechten",2,2,$iGWLE ,$iGHTopPart - 4) guictrlsetfont(-1,8.5,800) $iStart = 6 $iWidth = 35 $lFilNr = GUICtrlCreateLabel("Nr:",$iStart,25,$iWidth,20) $lFilOms = GUICtrlCreateLabel("Oms:",$iStart,45,$iWidth,20) $iStart = $iStart + $iWidth + 5 $iWidth = 100 $inpFilNr = GUICtrlCreateInput("",$iStart,22,$iWidth,20) $inpFilOms = GUICtrlCreateInput("",$iStart,42,$iWidth,20) $iStart = $iStart + $iWidth + 5 $iWidth = 50 $lFilVt = GUICtrlCreateLabel("Vlees:",$iStart ,25,$iWidth,20) $lFilComp = GUICtrlCreateLabel("Comp:",$iStart,45,$iWidth,20) $iStart = $iStart + $iWidth + 5 $iWidth = 150 $inpFilVt = GUICtrlCreateInput("",$iStart,22,$iWidth,20) $inpFilComp = GUICtrlCreateCombo("",$iStart,42,$iWidth,20) $iStart = $iStart + $iWidth + 5 $iWidth = 50 $lFilGebruik = GUICtrlCreateLabel("In gebruik:",$iStart ,25,$iWidth,20) $iStart = $iStart + $iWidth + 5 $iWidth = 20 $cbInGebr = GUICtrlCreateCheckbox("",$iStart ,22,$iWidth,20) $bFilLeeg = GUICtrlCreateButton("Leeg", 4 + $iGWLE,2 + $iGHTopPart,$iGWMI + $iGWMIBe - 4 ,$iGButH) $bBewGer = GUICtrlCreateButton("Gerecht", 4 + $iGWLE,2 + $iGHTopPart + $iGButH,$iGWMI + $iGWMIBe - 4 ,$iGButH) $bStat = GUICtrlCreateButton("Statistieken", 4 + $iGWLE,2 + $iGHTopPart + $iGButH * 2,$iGWMI + $iGWMIBe - 4 ,$iGButH) $grKlFilterMI = GUICtrlCreateGroup("Week",2 + $iGWLE,2,$iGWMI + $iGWMIBe,$iGHTopPart - 4) guictrlsetfont(-1,8.5,800) ;Fill weeknrs in combo $inpFilWk = GUICtrlCreateCombo("",4 + $iGWLE,2 + 20,$iGWMI - 8 ,$iGButH) For $w = 1 to $iAW if $w = 1 Then $s = "1" Else $s = $s & "|" & $w EndIf Next GUICtrlSetData($inpFilWk,$s,1) $dPrijs = "0,00" $lAvgPrm = GUICtrlCreateLabel("Gem : " & @TAB & " € " & $dPrijs,5 + 3 + $iGWLE,20 + $iGHTopPart + $iGHTopPartBet + ($iGButH - 6) * 2,$iGWMI + $iGWMIBe - 16,$iGButH - 10) guictrlsetfont(-1,8.5,800) $dPrijs = "0,00" $lMinPrm = GUICtrlCreateLabel("Min : " & @TAB & " € " & $dPrijs,5 + 3 + $iGWLE,20 + $iGHTopPart + $iGHTopPartBet + ($iGButH - 6) * 3,$iGWMI + $iGWMIBe - 16,$iGButH - 10) guictrlsetfont(-1,8.5,800) $sQuery = "" $dPrijs = "0,00" $lMaxPrm = GUICtrlCreateLabel("Max : " & @TAB & " € " & $dPrijs,5 + 3 + $iGWLE,20 + $iGHTopPart + $iGHTopPartBet + ($iGButH - 6) * 4,$iGWMI + $iGWMIBe - 16,$iGButH - 10) guictrlsetfont(-1,8.5,800) $grKlFilterRE = GUICtrlCreateGroup("Cijfers",2 + $iGWLE + $iGWMI + $iGWMIBe,2,$iGWRE - 4 ,$iGHTopPart - 4) guictrlsetfont(-1,8.5,800) Switch $iBDag Case 1 ;Only 1 is in use right now $sDag[1] = "Zondag" $sDag[2] = "Maandag" $sDag[3] = "Dinsdag" $sDag[4] = "Woensdag" $sDag[5] = "Donderdag" $sDag[6] = "Vrijdag" $sDag[7] = "Zaterdag" Case 2 $sDag[1] = "Maandag" $sDag[2] = "Dinsdag" $sDag[3] = "Woensdag" $sDag[4] = "Donderdag" $sDag[5] = "Vrijdag" $sDag[6] = "Zaterdag" $sDag[7] = "Zondag" Case 3 $sDag[1] = "Dinsdag" $sDag[2] = "Woensdag" $sDag[3] = "Donderdag" $sDag[4] = "Vrijdag" $sDag[5] = "Zaterdag" $sDag[6] = "Zondag" $sDag[7] = "Maandag" Case 4 $sDag[1] = "Woensdag" $sDag[2] = "Donderdag" $sDag[3] = "Vrijdag" $sDag[4] = "Zaterdag" $sDag[5] = "Zondag" $sDag[6] = "Maandag" $sDag[7] = "Dinsdag" Case 5 $sDag[1] = "Donderdag" $sDag[2] = "Vrijdag" $sDag[3] = "Zaterdag" $sDag[4] = "Zondag" $sDag[5] = "Maandag" $sDag[6] = "Dinsdag" $sDag[7] = "Woensdag" Case 6 $sDag[1] = "Vrijdag" $sDag[2] = "Zaterdag" $sDag[3] = "Zondag" $sDag[4] = "Maandag" $sDag[5] = "Dinsdag" $sDag[6] = "Woensdag" $sDag[7] = "Donderdag" Case 7 $sDag[1] = "Zaterdag" $sDag[2] = "Zondag" $sDag[3] = "Maandag" $sDag[4] = "Dinsdag" $sDag[5] = "Woensdag" $sDag[6] = "Donderdag" $sDag[7] = "Vrijdag" EndSwitch ;Create labels, Listviews etc. $sQuery1Lv1 = "" $sQuery2Lv1 = "" $sQuery1aLv1 = "" $sLvCol = "ID|Gerecht|Naam|VleesType|Menu|HuidigeWeek" _ListviewCreate($sQuery1Lv1 & GUICtrlRead($inpFilWk) & $sQuery1aLv1 & "WHERE gm.CompNm = '" & GUICtrlRead($inpFilComp)& "' " & $sQuery2Lv1,2 ,2 + $iGHTopPart,$iGWLE,$iGHDayPart * 5,$sLvCol) $LvLi = $lView $lOms = GUICtrlCreateLabel("Extra omschrijving voor deze week",2 ,2 + $iGHTopPart + $iGHDayPart * 5 + 3,$iGWLE,$iGButH) $sOms = "" $inpOms = GUICtrlCreateInput($sOms,2 ,2 + $iGHTopPart + $iGHDayPart * 5 + $iGButH,$iGWLE,$iGButH * 4,BitOR($ES_MULTILINE,$ES_WANTRETURN)) For $m = 1 to $iAM ;All menu's ;Pricelabels for menu's ;Also on filter $dPrijs = "0,00" $lAvgPr[$m] = GUICtrlCreateLabel("Gem : " & @TAB & " € " & $dPrijs,5 + 3 + $iGWLE + $iGWMI + $iGWMIBe + $GWLvRE * ($m - 1),18,$GWLvRE - 16,$iGButH - 12) guictrlsetfont(-1,8.5,800) ;Min $dPrijs = "0,00" $lMinPr[$m] = GUICtrlCreateLabel("Min : " & @TAB & " € " & $dPrijs,5 + 3 + $iGWLE + $iGWMI + $iGWMIBe + $GWLvRE * ($m - 1),18 + ($iGButH - 8) * 1,$GWLvRE - 16,$iGButH - 12) guictrlsetfont(-1,8.5,800) ;Max $dPrijs = "0,00" $lMaxPr[$m] = GUICtrlCreateLabel("Max : " & @TAB & " € " & $dPrijs,5 + 3 + $iGWLE + $iGWMI + $iGWMIBe + $GWLvRE * ($m - 1),18 + ($iGButH - 8) * 2,$GWLvRE - 16,$iGButH - 12) guictrlsetfont(-1,8.5,800) For $d = 1 To 7 ;All days $iFilDayLV[$d][$m] = 0 ;Once set, check if needed if $m = 1 Then GUICtrlCreateLabel(StringLeft($sDag[$d],2),2 + 3 + $iGWLE + 20 * ($m - 1),2 + $iGHTopPart + $iGHTopPartBet + $iGButH + $iGHDayPart * 2 + $iGButH * ($d - 1),$iGLabW,$iGButH - 5) ;DayLabels GUICtrlCreateGroup($sDag[$d],2 + $iGWLE + $iGWMI + $iGWMIBe,2 + $iGHTopPart + $iGHTopPartBet + $iGHDayPart * ($d - 1),$iGWRE,$iGHDayPart) ;Days guictrlsetfont(-1,8.5,800) EndIf If $d = 1 Then $sDef = "0" $inpMenuNm[$m] = GUICtrlCreateCombo("",2 + $iGWLE + $iGWMI + $iGWMIBe + $GWLvRE * ($m-1),2 + $iGHTopPart ,$GWLvRE,$iGButH) GUICtrlSetData($inpMenuNm[$m],"Leeg") GUICtrlCreateLabel("M" & $m,2 + $iGWLE + $iGLabW + 20 * ($m - 1),2 + $iGHTopPart + $iGHTopPartBet + $iGHDayPart * 2 + $iGButH * ($d - 1),$iGLabW,$iGButH) ;MenuLabels $bCb[$m] = GUICtrlCreateButton($m, $iGWLE + $iGLabW + 20 * ($m - 1),3 + $iGHTopPart + $iGHTopPartBet + $iGHDayPart * 2 + $iGButH * (8),18,18) EndIf $cb[$d][$m] = GUICtrlCreateCheckbox("",2 + $iGWLE + $iGLabW + 20 * ($m - 1),2 + $iGHTopPart + $iGHTopPartBet + $iGButH + $iGHDayPart * 2 + $iGButH * ($d - 1),20,$iGButH) $sLvCol = "ID|Component|Gerecht" $sQuery = "" _ListviewCreate($sQuery,2 + 3 + $iGWLE + $iGWMI + $iGWMIBe + $GWLvRE * ($m - 1),2 + $iGHTopPart + $iGHTopPartBet + $iGHMHeader + $iGHDayPart * ($d - 1),$GWLvRE - 6,$iGHMLv,$sLvCol) $LvDay[$d][$m] = $lView $dPrijs = "0,00" $lCijf[$d][$m] = GUICtrlCreateLabel("Prijs : € " & $dPrijs,2 + 3 + $iGWLE + $iGWMI + $iGWMIBe + $GWLvRE * ($m - 1),5 + $iGHTopPart + $iGHTopPartBet + $iGHMHeader + $iGHMLv + $iGHDayPart * ($d - 1),$GWLvRE - 6,$iGButH - 9) guictrlsetfont(-1,8.5,800) Next Next $bCbAll = GUICtrlCreateButton("Alles", $iGWLE + $iGLabW,2 + $iGHTopPart + $iGHTopPartBet + $iGHDayPart * 2 + $iGButH + $iGButH * (8),(20 * $iAM) - 2 ,$iGButH) $bAdd = GUICtrlCreateButton(">",$iGWLE + $iGWMI,2 + $iGHTopPart + $iGHTopPartBet + $iGButH + $iGHDayPart * 2 ,25,$iGButH * 2) guictrlsetfont(-1,8.5,800) $bDel = GUICtrlCreateButton("<",$iGWLE + $iGWMI,2 + $iGHTopPart + $iGHTopPartBet + $iGButH + $iGHDayPart * 2 + ($iGButH * 2) * 1,25,$iGButH * 2) guictrlsetfont(-1,8.5,800) $bDelAll = GUICtrlCreateButton("<<",$iGWLE + $iGWMI,2 + $iGHTopPart + $iGHTopPartBet + $iGButH + $iGHDayPart * 2 + ($iGButH * 2) * 2,25,$iGButH * 2) guictrlsetfont(-1,8.5,800) GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") GUISetState(@SW_SHOW) ;Outcomment the next line and the flicker is gone.... _GUIScrollbars_Generate($hGUI, $iGWidth + $iDiffW, $iGHeight + $iDiffH) $iFilLI = 0 $iFilDay = 0 $iBew = 0 $iCbOn = 0 $iCompID = 0 While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE _resetLV() ExitLoop EndSwitch sleep($iSleepTime) ;Performance WEnd EndFunc ;==> MenuR ;========================================Other functions========================================================== Func _ListviewCreate($sQuery,$iLvLeft,$iLvTop,$iLvWidth,$iLvHeight,$sLvCol,$AX = 0) ;Functie om listview te maken, multiple = 1 => more listviews ;Create listview $lView = GUICtrlCreateListView($sLvCol, $iLvLeft, $iLvTop, $iLvWidth, $iLvHeight, BitOr($LVS_ICON, $LVS_SHOWSELALWAYS), BitOR($LVS_SORTDESCENDING, $LVS_EX_GRIDLINES,$LVS_EX_DOUBLEBUFFER)) GUICtrlSetBkColor($lView, $GUI_BKCOLOR_LV_ALTERNATE) _GUICtrlListView_SetExtendedListViewStyle($lView, $iExListViewStyle) if $iMultiple = 1 then $aListView[0] += 1 ;Increase size of array ReDim $ahListView[$aListView[0] + 1] ReDim $aIndices[$aListView[0] + 1] ReDim $aListView[$aListView[0] + 1] ReDim $aQueryLv[$aListView[0] + 1] Redim $iColWidth[$aListView[0] + 1][1 + $iLvCol] ;Reset on close menu!!!! ; Store the handle in the array $ahListView[$aListView[0]] = GUICtrlGetHandle($lView) $aQueryLv[$aListView[0]] = $sQuery $aListView[$aListView[0]] = $lView ;ID instead of handle EndIf if $iRows > 0 Then ;check if there are any rows to return _PopulateListview ($lView,$sQuery,$aListView[0],$AX) EndIf EndFunc ;====>_ListviewCreate Func _ResetLV() ;Reset the counter of listviews (otherwhise the number of listviews will keep increasing while using the program) $aListView[0] = 0 ;Increase size of array ReDim $ahListView[$aListView[0] + 1] ReDim $aIndices[$aListView[0] + 1] ReDim $aListView[$aListView[0] + 1] ReDim $aQueryLv[$aListView[0] + 1] Redim $iColWidth[$aListView[0] + 1][1 + $iLvCol] ;Reset on close menu!!!! EndFunc Func _PopulateListview ($lViewRP,$sQuery,$iLv,$AX = 0) _GUICtrlListView_DeleteAllItems($lViewRP) EndFunc ;==> _PopulateListview Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam) Local $hWndFrom, $iCode, $tNMHDR, $hWndListView $iIDFrom = DllStructGetData($tNMHDR, "IDFrom") $tNMHDR = DllStructCreate($tagNMHDR, $ilParam) $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom")) $iCode = DllStructGetData($tNMHDR, "Code") if $iMultiple = 1 Then For $i = 1 To $aListView[0] If $hWndFrom = $ahListView[$i] Then Switch $iCode Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button ; Set the index of the ListView in the storage array $iDblClk = $i ; No point in looking any further! $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam) $iDblClkIndex = DllStructGetData($tInfo, "Index") _DebugPrint("$NM_DBLCLK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _ "-->Code:" & @TAB & $iCode & @LF & _ "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _ "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _ "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _ "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _ "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _ "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _ "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _ "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags")) ExitLoop EndSwitch EndIf Next EndIf if $iMultiple = 0 or $iCalc = 1 Then ;Single LV and calc ;MsgBox(0,"","0") Switch $iCode Case $NM_RELEASEDCAPTURE _DebugPrint("$NM_DBLCLK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _ "-->IDFrom:" & @TAB & $iIDFrom) if $hWndFrom = $hCal Then ;This part is only for the calendar If TimerDiff($iTimer) <= 300 Then ;milliseconds between mouse clicks _DebugPrint("$NM_DBLCLK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _ "-->OK:" & @TAB & TimerDiff($iTimer) & @LF) If $sBuffer == $sOutput Then ;buffer date from 1st mouse click release to compare with 2nd mouse click release $iDblClk = 1 Else $sOutput = "" $iDblClk = 0 EndIf Else $iTimer = TimerInit() $sBuffer = $sOutput EndIf EndIf Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button ; Set the index of the ListView in the storage array $iDblClk = 1 ;MsgBox(0,"","2") ; No point in looking any further! $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam) $iDblClkIndex = DllStructGetData($tInfo, "Index") _DebugPrint("$NM_DBLCLK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _ "-->Code:" & @TAB & $iCode & @LF & _ "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _ "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _ "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _ "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _ "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _ "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _ "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _ "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags")) EndSwitch EndIf ;multiple Return $GUI_RUNDEFMSG EndFunc ;==>WM_NOTIFY Func _DebugPrint($s_text, $line = @ScriptLineNumber) ConsoleWrite( _ "!===========================================================" & @LF & _ "+======================================================" & @LF & _ "-->Line(" & StringFormat("%04d", $line) & "):" & @TAB & $s_text & @LF & _ "+======================================================" & @LF) EndFunc ;==>_DebugPrint So how could I still have (working) scrollbars, but get rid of the flickering. Other comments are welcome also, since I like to learn! I did attach the GUIScrollbars_Ex.au3 file, which I downloaded from this forum, just to have a working example from this post without having to look for the file. Thanks in advance, Peter Link to comment Share on other sites More sharing options...
Qwerty212 Posted May 1, 2012 Share Posted May 1, 2012 (edited) What an impressive gui, man! I've tried creating the scrollbars just after creating the gui and there is no flickering: $hGUI = GUICreate("Lines menu : x for cyclus: " & $sCyclus, $iGWidth, $iGHeight,0,0,BitOR($WS_VSCROLL,$WS_MINIMIZEBOX,$WS_MAXIMIZE,$WS_MAXIMIZEBOX,$WS_CAPTION,$WS_POPUP,$WS_SYSMENU,$WS_HSCROLL)) _GUIScrollbars_Generate($hGUI, $iGWidth + $iDiffW, $iGHeight + $iDiffH) (line 50 of your code). Just curiosity: What does the program do? Greets from Barcelona Edited May 1, 2012 by adolfito121 Link to comment Share on other sites More sharing options...
Montfrooij Posted May 3, 2012 Author Share Posted May 3, 2012 Yes, that did the trick! Thanks a thousand. Would never have thought of that! For the satisfaction of your curiosity, it is in use for the calculation of weekly menu's (food) for our customers (we produce meals). So all the little listviews represent a grid of day (horizontal) / menu (vertical) combinations, where all the 'items' are show on the left listview. The numbers are the average, min and max prices given the actual food prices for our production facility. The 'real' gui is more flexible as it allows the user to tell per 'menu' how many days, weeks and menu's it needs. The concept is actually rather simple with a few SQL tables that populate the gui and some checkboxes. Works like a charm, except for the flickering. Which is gone now. Thanks for that! Greets from Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now