On Fri, Jan 11, 2013 at 5:50 PM, Mark Miesfeld <miesf...@gmail.com> wrote:
>
> It appears it can't be done with the labletip. My guess is that the
> list-view, which owns the tool tip control, resets the tool tip's
> parameters right before it shows the tip each time
>
>
Here is a simple test program that shows the list-view must be resetting
the max width right before it shows the label tip.
In initDialog() the tool tip for the list-view is gotten. The current max
width is displayed and then it is set to 45. There is only one place where
the label tip is shown, so it is easy to control when it is shown.
When you push the Test 1 button, the current max width for the tool tip is
displayed again. If you start the dialog and don't move the mouse over the
one column where the label tip is, and press the Test 1 button, you will
see the current width is still 45. Every time you press the button the
current width is reset to 45.
Then you can play around with it by moving over the one place where the
label tip is displayed and pushing the test button.
Every time the label is displayed, the current max width has been changed
back to -1.
So, it is apparent that the list-view must reset the max width every time
before it displays the label tip.
/* Simple ListView using ooDialog */
dlg = .SimpleLV~new
if dlg~initCode = 0 then do
dlg~create(30, 30, 350, 200, "The Simple ListView", "VISIBLE")
dlg~execute("SHOWTOP")
end
-- End of entry point.
::requires "ooDialog.cls"
::class 'SimpleLV' subclass UserDialog
::method defineDialog
self~createListView(100, 10, 10, 330, 155, "REPORT");
self~createPushButton(110, 125, 175, 50, 15, , "Special", onSpecial)
self~createPushButton(120, 180, 175, 50, 15, , "Test1", onTest1)
self~createPushButton(130, 235, 175, 50, 15, , "Test2", onTest2)
self~createPushButton(IDOK, 290, 175, 50, 15, "DEFAULT", "Close", close)
::method initDialog
expose list columnNames toolTip
list = self~newListView(100)
list~addExtendedStyle("FULLROWSELECT GRIDLINES CHECKBOXES HEADERDRAGDROP
SUBITEMIMAGES LABELTIP")
list~InsertColumn(0, "Line text", 75)
list~InsertColumn(1, "Line number", 55)
list~InsertColumn(2, "Numbers", 55)
rows = self~insertRows(list)
toolTip = list~getToolTips
ret = toolTip~setMaxTipWidth(45)
say 'max width was:' ret
say 'width now: ' toolTip~getMaxTipWidth
say 'tool count ' toolTip~getToolCount
do i = 1 to toolTip~getToolCount
toolInfo = toolTip~enumTools(i)
say 'Tool info hwnd: ' toolInfo~rexxHwnd~hwnd
say 'Tool info id: ' toolInfo~rexxID
say 'Tool info text: ' toolInfo~text
say 'Tool info flags: ' toolInfo~flags
say 'Tool info rect: ' toolInfo~rect
say 'Tool info userData:' toolInfo~userData
say 'Tool info resource:' toolInfo~resource
say
end
list~setItemText(1, 2, "Very long text to see what we can see when we see
it")
::method onSpecial
expose list toolTip
say 'onSpecial(), no atction now.'
::method onTest1 unguarded
expose list toolTip
say 'width now:' toolTip~getMaxTipWidth
say 'tool count' toolTip~getToolCount
do i = 1 to toolTip~getToolCount
toolInfo = toolTip~enumTools(i)
say 'Tool info hwnd: ' toolInfo~rexxHwnd~hwnd
say 'Tool info id: ' toolInfo~rexxID
say 'Tool info text: ' toolInfo~text
say 'Tool info flags: ' toolInfo~flags
say 'Tool info rect: ' toolInfo~rect
say 'Tool info userData:' toolInfo~userData
say 'Tool info resource:' toolInfo~resource
say
end
say 'Setting max width to 45 again.'
toolTip~setMaxTipWidth(45)
::method onTest2 unguarded
expose list toolTip
say 'onTest2(), no action now'
::method insertRows private
use arg list
--countRows = 10000
countRows = 10
rows = .array~new(countRows)
do i = 1 to countRows
j = i - 1
j = 0
lvi = .LvItem~new( j, 'Line' i, , p)
lvsi1 = .LvSubItem~new(i, 1, i)
lvsi2 = .LvSubItem~new(i, 2, random(1, 200))
r = .LvFullRow~new(lvi, lvsi1, lvsi2, .true)
list~addFullRow(r)
rows[i] = r
end
return rows
--
Mark Miesfeld
------------------------------------------------------------------------------
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. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122912
_______________________________________________
Oorexx-users mailing list
Oorexx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-users