Author | Topic: Tabpage:minimized and :minimze with SL1 | |
---|---|---|
AUGE_OHR | Tabpage:minimized and :minimze with SL1 on Sat, 02 May 2009 14:20:13 +0200 hi, as long as Alaska do not document it, it is a BUG for me. with SL1 behavior of Tabpage:minimized seems have change since v331. also :minimize seems to be obsolet with SL1 while :maximize a Tabpage "does meen" that other Tabpages are :minimize. ... but is does NOT meen that :minimized = .T., this is ONLY useing ar :create() greetings by OHR Jimmy | |
Clayton Jones | Re: Tabpage:minimized and :minimze with SL1 on Sat, 02 May 2009 14:01:38 -0400 Hello Jimmy, >as long as Alaska do not document it, it is a BUG for me. >with SL1 behavior of Tabpage:minimized seem´s have change since v331. In \source\sys\xbparts.prg they have overloaded the :TabActivate() and :keyboard() methods and added keyboard min/max handling code to them: ***** 331 CLASS XbpTabPage FROM XbpBaseTabPage ENDCLASS *** 355 FREEZE CLASS XbpTabPage FROM XbpBaseTabPage EXPORTED: METHOD TabActivate() METHOD Keyboard() ENDCLASS This is behavior that we used to have to program ourselves. Now that they have added it, it may break some of our code that we have created over the years (it caused me to make some adjustments in TD code). If you are using xbpTabPage directly (without a subclass) then you'll have to either modify your previous tab handling code to adapt to the new implementation or force the class to revert back to it's original state by subclassing it and overloading/reverting the methods, like this CLASS MyTabPage FROM XbpTabPage EXPORTED: METHOD TabActivate() METHOD Keyboard() ENDCLASS METHOD MyTabPage:TabActivate() ::XbpBaseTabPage:TabActivate() RETURN self METHOD MyTabPage:keyboard(nKey) ::XbpBaseTabPage:keyboard(nKey) RETURN self This will preserve your existing code. All you have to do is make your code call your new subclass. If you already have a subclass, than just add the overloaded methods. Which path is best depends on how much work is involved. In the case of a simple single-row tabpage routine I chose to modify my tabActivate code to adapt to the the new version (it simplified my code). In the case of a very complex multi-row tabpage subclass I chose to revert the base class (mainly because the new code can't handle multiple rows, but even if it could, adapting it would have meant lots of tedious work - why bother when the reversion is so easy). I agree this change should have been documented. The docs for XbpTabpage do show the xbeP_Keyboard message, which wasn't there before, but there's no mention anywhere (that I have found) that alerts us to these changes. Regards, Clayton Clayton Jones www.cjcom.net Top-Down Library for Xbase++ X-DBU Database Utility X-MEMO Memo Field Replacement | |
AUGE_OHR | Re: Tabpage:minimized and :minimze with SL1 on Sat, 02 May 2009 20:20:17 +0200 hi Clayton, while we talking about Alaskas XbpTabpage : does somebody know it it is a "real" Windows Control and what API based on ? i do ask this while i found out that "Tabpage" itself seem "not to exist" as Control. as i understand you have "Tab" and you have something like Tab"Control" like in MsComCtl.OCX. this seems me also the Reason why XbpTabpage have no multirow Property as "Common Control" v5/v6 normal have ? (see Picture) i did made that Sample after finsh Codejock "Tab" Control so i can use allmost same Code for MsComCtl.OCX which Alaska use for XbpStatusbar and XbpToolbar too so i wonder why Alaska did not give us this "multirow Tab" Control with v1.9x ? greetings by OHR Jimmy MS_TABSTRIP.JPG | |
Clayton Jones | Re: Tabpage:minimized and :minimze with SL1 - TDmultiTab.GIF (0/1) on Sat, 02 May 2009 20:41:50 -0400 Hello Jimmy, >does somebody know it it is a "real" Windows Control and what API based on ? >...as i understand you have "Tab" and you have something like Tab"Control" like >in MsComCtl.OCX. this seem´s me also the Reason why XbpTabpage have no >multirow Property as "Common Control" v5/v6 normal have ? (see Picture) >...so i wonder why Alaska did not give us this "multirow Tab" Control I don't know the answer to any of your questions, but I do know that it's possible to make a multi-tab control with xbpTabPage. This screenshot is Top-Down's tdcMultiTab class (any number of rows, any number of tabs on each row). Regards, Clayton Clayton Jones www.cjcom.net Top-Down Library for Xbase++ X-DBU Database Utility X-MEMO Memo Field Replacement | |
AUGE_OHR | Re: Tabpage:minimized and :minimze with SL1 - TDmultiTab.GIF (0/1) on Sun, 03 May 2009 04:11:29 +0200 hi, > I don't know the answer to any of your questions, but I do know that > it's possible to make a multi-tab control with xbpTabPage. This > screenshot is Top-Down's tdcMultiTab class (any number of rows, any > number of tabs on each row). WOW, but im shure it was a lot of work to manage it with XbpTabpage. i got "Picture" too, using c:\Alaska\XPPW32\source\SYS\activex.prg ImageList() Class which is also Part of MsComCtl.OCX. But while it is not documented it is hard to figure out how it work. also "original" Tabpage have a Placement property tabPlacementTop 0 tabPlacementBottom 1 tabPlacementLeft 2 tabPlacementRight 3 but Xbase++ does only have 0/1 greetings by OHR Jimmy | |
Clayton Jones | Re: Tabpage:minimized and :minimze with SL1 - TDmultiTab.GIF (1/1) on Sat, 02 May 2009 20:41:51 -0400 |