From: Robert M. <rm...@po...> - 2006-01-11 21:52:29
|
Hi all, I've just committed my Christmas set of changes. There's quite a bit here: - Label.xs correct -truncate option processing, as SS_.*ELLIPSIS.* styles are not single bits Using the Win32::GUI::Label -truncate option was broken - fixed it. Note that this option can only be used with WinNT and higher (i.e. it is ignored by Win98). - NotifyIcon.xs, GUI_Options.cpp, GUI.pm re-work NofifyIcon class. Add balloon tooltips. Add support for message behaviour. Add support for setfocus. Add documentation. (Tracker: 1065072) - t\05_NotifyIcon*.t, MANIFEST Notify Icon Tests added - samples\NotifyIcon.pl, MANIFEST add demo app Re-worked the NotifyIcon class, added Balloon tips (for Shell.dll version 5 and higher only - IIRC that's Win2K and higher only). Deprecated (with warning) nasty old way of calling Delete(-id => ... ) to remove an icon; deprecated need to set -id option in constructor; Added documentation, sample and tests New options -ballooon_tip, -balloon_title, -balloon_icon and -balloon_timeout; New methods ShowBalloon(), HideBalloon(), SetFocus(), SetBehaviour(); See documentation for details. - GUI.pm Changed initial value of $Win32::GUI::MenuIdCounter to avoid ID clash with predefined WM_COMMAND values (IDOK, IDCANCEL, etc.) Discovered that a Window with -dialogui => 1 and no default button fired the first menu item when ENTER pressed. Fixed. - GUI.xs Fix SendMessageTimeout to match documentation and return undef on failure. (XSRETURN_UNDEF rather than XSRETURN_NO). - GUI.pm corrected documentation of default values for autohscroll and autovscroll in Textfield documentation - GUI_MessageLoops.cpp added processing of WM_NEXTDLGCTL to CommonMessageLoop to allow for tabbing out of multiline Textfields when using -dialogui - GUI_MessageLoops.cpp fixed WM_ERASEBKGND (Tracker:1363141) WM_ERASEBKGND was not doing its stuff when called from BeginPaint by DefWindowProc, and we had a -background option. This due to BeginPaint Validating the update region before calling WM_ERASEBKGND - Splitter.xs, GUI_Helpers.cpp, GUI.h re-worked splitter class. (Tracker:1363141) Re-wrote the splitter class, in an attempt to fix the problems reported in Tracker 133141 (drawing problems). Fixed several potential problems (related to losing mouse capture without getting a mouse-up), but not this one. It looks like it is a RichEdit re-draw problem, and nothing to do with the splitter class. I'll deal with this in a seperate mail. - RichEdit.xs made -background and -foreground work - GUI_MessageLoops.cpp made -background work for Splitter windows - GUI_Helpers.cpp removed an unnecessary dTHX, replacing it with PERLUD_FETCH - Upped version to 1.03_02 As my NotifyIcon.pl sample has a dependancy on these code changes, allowing use Win32::GUI 1.03_02; Compiles and tests OK on Win98, VC++ 6. I haven't tried MinGW or Cygwin environments. The NotifyIcon changes have been tried on Win2K, but I haven't run the new NotifyIcon tests there. Regards, Rob. Regard |