> Other than that, I don't see anything in the code that would cause what
> you are seeing. So, I'll definitely need an example program to do anything
> more.
>
>
I'm back and have tried to create a stripped version of the program that
demonstrates the problem. But unfortunately it works like a charm, well
what else to expect? :( So sorry to say I'me finding it difficult to prove.
But coming back I'm now seeing a slight different behaviour (no changes
made). Before I left I concluded that it was always the last listview
created that didn't get the colouring made. And if there was only one
listview it didn't get coloured, probably because it was the last (and
only). (BTW with listview I mean a separate popup window with a listview
control.) But today I'm experiencing a different behaviour. When I generate
two listviews both get coloured OK the first time. When I repeat it the
second listview gets half of the rows coloured, the first is still correct.
And the third time the second gets no colour at all, but the first still
does. And this continues subsequent times. To say the least I'm baffled.
OK, this is nothing serious, I'll just skip using customdraw, even though I
think it looks better.
This is the sample code I used trying to emulate the problem, but as I said
it works and doesn't behave like the original code.
rg = .RG~new
offset = 0
do 5
rg~create(offset)
offset += 10
end
::CLASS RG
::METHOD create
use arg offset
self~create2(offset)
::METHOD create2
use arg offset
.OR~generate(offset)
::CLASS OR SUBCLASS UserDialog INHERIT CustomDraw ResizingAdmin
::REQUIRES "ooDialog.cls"
::METHOD generate CLASS
use arg offset
dialog = self~new(offset)
dialog~popup("SHOWTOP")
::METHOD init
expose blue white
use arg offset
self~init:super()
self~customDraw
self~customDrawControl(100, "LISTVIEW", onCustomDraw)
blue = self~RGB(240, 240, 255)
white = self~RGB(255, 255, 255)
self~create(offset, offset, 400, 300, "Title", "MINIMIZEBOX MAXIMIZEBOX")
::METHOD defineDialog
u = .DlgAreaU~new(self)
self~createListView(100, u~x, u~y, u~w, u~h, "REPORT HSCROLL VSCROLL
HIDDEN")
forward class(super)
::METHOD initDialog
lv = self~newListView(100)
lv~addExtendedStyle("FULLROWSELECT INFOTIP GRIDLINES HEADERDRAGDROP")
self~populate(lv)
forward class(super)
::METHOD populate
use arg lv
data = .array~new
data[1] = .array~of("A","B","C","D")
do i = 1 to data[1]~items
lv~insertColumn(i - 1, data[1][i], 50, "LEFT")
end
do i = 2 to 10
data[i] = .array~of(1,2,3,4,5)
end
lv~prepare4nItems(data~items-1)
do i = 2 to data~items
row = ""
loop val over data[i]~allItems
row ||= '"' || val || '",'
end
interpret "lv~addRow( , , " || strip(row, "T", ",") || ")"
end
lv~show
::METHOD onCustomDraw UNGUARDED
expose blue white
use strict arg lvCDS
item = lvCDS~item
if (item // 2) == 0 then lvCDS~clrTextBk = blue
else lvCDS~clrTextBk = white
lvCDS~reply = self~CDRF_NEWFONT
return .TRUE
The above code creates the listview windows very quickly, with the original
code gets the input from an SQLite database so the windows pop up in a more
irregular manner. Whether this may have anything to do with it is very hard
to say.
That's all I can come up with at this point in time. And as I said this is
not that important...
Staffan
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
Oorexx-users mailing list
Oorexx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-users