|
code
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Mayayana and others: Know The Notes now for 98SE using MM's new 'Never Replace' scheme.....is now here: http://www.littletyke.myzen.co.uk/KTN98SE/index.html
Also note that you can open up a Run window and type: c:\download\setupktn98se.exe /X To peruse and/or extract any or all files from the Setup prior to installation. Leave a comment here as to how you got on, okay? Thanks! MM > ....is now here: http://www.littletyke.myzen.co.uk/KTN98SE/index.html OK, I tried this today. The program runs> > Leave a comment here as to how you got on, okay? > fine if I just register the 3 3rd-party controls, since I have VB installed. But I then unregistered them to try an install. It worked fine. It didn't overwrite any existing MS controls. (The install log confirmed that.) It gave me the option to remove the 3rd-party controls at uninstall, which was nice. Four things of note: 1) The installer did not add the program to the Uninstall key, so it wasn't in the Add/Remove Programs list! I could only uninstall from the Start Menu. As someone who routinely removes all of the junk links from the Start Menu when installing software, only keeping the actual program link, that's a bit disconcerting. 2) The installer never gave me a chance to install Desktop or QuickLaunch shortcuts. So the only way to get to the program was through the Start Menu, where many people will never find it. 3) Your custom buttons have a white line through them on my display. (A recent vintage Dell LCD monitor with VIA/S3G display adapter.) 4) The rounded corners of the forms look nice but I see the tabs in the corners. Where they should be transparent they're medium-dark gray. On Sun, 31 May 2009 11:07:33 -0400, "mayayana" <mayaXXy***@rcXXn.com> Thanks for the feedback. Now to each of your points:wrote: > > >> ....is now here: http://www.littletyke.myzen.co.uk/KTN98SE/index.html >> >> Leave a comment here as to how you got on, okay? >> > > OK, I tried this today. The program runs Good so far...>fine if I just register the 3 3rd-party controls, >since I have VB installed. But I then unregistered >them to try an install. It worked fine. It didn't >overwrite any existing MS controls. (The install >log confirmed that.) It gave me the option to >remove the 3rd-party controls at uninstall, which >was nice. > It's only recently that I investigated the Wise installer's uninstall> Four things of note: > >1) The installer did not add the program to the >Uninstall key, so it wasn't in the Add/Remove >Programs list! I could only uninstall from the Start >Menu. As someone who routinely removes all of >the junk links from the Start Menu when installing >software, only keeping the actual program link, >that's a bit disconcerting. system and have to say that it's a little bit wanting. From the way they implemented it, it sounds like a bit of an afterthought. I, too, was surprised that the application didn't appear in Add/Remove programs. Maybe I'll take (yet) another look at Inno, but, despite what the author may say, it *isn't* as user-friendly as Wise. However, it has been kept up to date, whereas the Wise version I have is ancient. > My bad. I omitted to create any, apart from the one on the>2) The installer never gave me a chance to install >Desktop or QuickLaunch shortcuts. So the only >way to get to the program was through the Start Menu, >where many people will never find it. Start/Programs menu. But yes, I'll make sure that an additional shortcut is created at least for the Desktop. Unfortunately, Wise doesn't appear to provide any option for the installer (person) to choose whether to create a shortcut or not. >3) Your custom buttons have a white line through That is by design! The white line is supposed to indicate "disabled".>them on my display. (A recent vintage Dell LCD >monitor with VIA/S3G display adapter.) However, I'm having to revist the entire display after what Ulrich Korndoerfer reported in the thread "Contemplating the Migration", namely that he has his monitor set to 120 dpi. He privately published a screenshot for my benefit and, yes, KTN looks entirely crap if the default setting isn't adhered to. I'm actually looking at the buttons right now (the code/design environment, I mean), having spent most of the day using a better tiling method to improve the visual appearance of the screens at different dpi settings. The buttons are bog-standard VB6, but set to graphical. With a different dpi, e.g. 120 instead of 96, the buttons themselves are resized (by Windows) appropriately, but, of course, the graphic in the button doesn't change and there's no way I can see to stretch it. So I'm going to have to ponder that one a bit. (For instance, in that other program (TuneFinder) I didn't use command buttons for the buttons, but picture boxes.) > The skinning is being done with the NeoCaption component from the>4) The rounded corners of the forms look nice but >I see the tabs in the corners. Where they should >be transparent they're medium-dark gray. vbAccelerator site, so I don't think much can be done in this area. Even if you look at the author's own examples here http://www.vbaccelerator.com/home/VB/Code/Controls/Skins/article.asp you can just see the "tabs" in the two top corners, especially in the second, blue example. I once got very excited about ActiveSkin, a skinning OCX dating back at least six years. However, it suddenly just disappeared without trace, which was strange after the author(s) must have spent literally hundreds of hours developing it. The website hasn't been updated since 2003. This was not free, but I would have been willing to register it and pay 'em some money. The only other skinning system I'm aware of is WindowBlinds. Once again, thanks for your help. MM > All it actually requires is a key and 2 values in the> It's only recently that I investigated the Wise installer's uninstall > system and have to say that it's a little bit wanting. Uninstall key. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall The key name can be anything. The values are DisplayName, which shows in Add/Remove, and UninstallString, which is the command line for uninstall. You just need to get those values written, and get the key removed at uninstall. Show quoteHide quote > There are a number of custom button options around,> That is by design! The white line is supposed to indicate "disabled". > However, I'm having to revist the entire display after what Ulrich > Korndoerfer reported in the thread "Contemplating the Migration", > namely that he has his monitor set to 120 dpi. He privately published > a screenshot for my benefit and, yes, KTN looks entirely crap if the > default setting isn't adhered to. > > I'm actually looking at the buttons right now (the code/design > environment, I mean), having spent most of the day using a better > tiling method to improve the visual appearance of the screens at > different dpi settings. The buttons are bog-standard VB6, but set to > graphical. With a different dpi, e.g. 120 instead of 96, the buttons > themselves are resized (by Windows) appropriately, but, of course, the > graphic in the button doesn't change and there's no way I can see to > stretch it. So I'm going to have to ponder that one a bit. (For > instance, in that other program (TuneFinder) I didn't use command > buttons for the buttons, but picture boxes.) > mainly at PlanetSourceCode, I think. I ended up looking into that awhile back and came up with something relatively lightweight. I use an Image on a UserControl. Then I have 2 shapes, with different DrawMode and FillColor settings. With a little experimentation I was able to come up with a method where, by making one or the other of the shapes visible, I can make the button disabled or make it "glow" when the mouse hovers. And it only takes 1 hWnd. Each button is the size of the image used as background. The only downside is that it's not well-suited to multiple languages if the image is text. For that there would have to be multiple images. But I've never done anything multi-language myself.
Show quote
Hide quote
On Sun, 31 May 2009 15:02:13 -0400, "mayayana" <mayaXXy***@rcXXn.com> I've gone back to using picture boxes and graphics obtained fromwrote: > >> >> It's only recently that I investigated the Wise installer's uninstall >> system and have to say that it's a little bit wanting. > > All it actually requires is a key and 2 values in the >Uninstall key. >HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall > > The key name can be anything. The values are >DisplayName, which shows in Add/Remove, >and UninstallString, which is the command line >for uninstall. You just need to get those values >written, and get the key removed at uninstall. > >> >> That is by design! The white line is supposed to indicate "disabled". >> However, I'm having to revist the entire display after what Ulrich >> Korndoerfer reported in the thread "Contemplating the Migration", >> namely that he has his monitor set to 120 dpi. He privately published >> a screenshot for my benefit and, yes, KTN looks entirely crap if the >> default setting isn't adhered to. >> >> I'm actually looking at the buttons right now (the code/design >> environment, I mean), having spent most of the day using a better >> tiling method to improve the visual appearance of the screens at >> different dpi settings. The buttons are bog-standard VB6, but set to >> graphical. With a different dpi, e.g. 120 instead of 96, the buttons >> themselves are resized (by Windows) appropriately, but, of course, the >> graphic in the button doesn't change and there's no way I can see to >> stretch it. So I'm going to have to ponder that one a bit. (For >> instance, in that other program (TuneFinder) I didn't use command >> buttons for the buttons, but picture boxes.) >> > There are a number of custom button options around, >mainly at PlanetSourceCode, I think. I ended up looking >into that awhile back and came up with something >relatively lightweight. I use an Image on a UserControl. >Then I have 2 shapes, with different DrawMode and >FillColor settings. With a little experimentation I was >able to come up with a method where, by making one or >the other of the shapes visible, I can make the button >disabled or make it "glow" when the mouse hovers. And >it only takes 1 hWnd. Each button is the size of the >image used as background. The only downside is that >it's not well-suited to multiple languages if the image >is text. For that there would have to be multiple images. >But I've never done anything multi-language myself. http://www.glassybuttons.com/glassy.php as I used in TuneFinder. In form's declarations section: Dim picFindTune_Left As Integer Dim picFindTune_Top As Integer In Form_Load: ' Capture coords of picture "button" picFindTune_Left = picFindTune.Left picFindTune_Top = picFindTune.Top ' Copy default picture into "button" picFindTune.Picture = images(0).Picture Plus: Private Sub picFindTune_MouseDown(......) picFindTune.Move picFindTune_Left + 1, picFindTune_Top + 1 End Sub Private Sub picFindTune_MouseMove(......) picFindTune.Picture = images(1).Picture End Sub Private Sub picFindTune_MouseUp(......) picFindTune.Move picFindTune_Left, picFindTune_Top End Sub Private Sub Form_MouseMove(......) picFindTune.Picture = images(0).Picture End Sub MM > That's an interesting page. I didn't know> I've gone back to using picture boxes and graphics obtained from > http://www.glassybuttons.com/glassy.php as I used in TuneFinder. > there were such things online. It's also possible to get a MouseLeave event in Win98+ using the function TrackMouseEvent. It requires subclassing the button, though. Show quoteHide quote > In form's declarations section: > Dim picFindTune_Left As Integer > Dim picFindTune_Top As Integer > > In Form_Load: > > ' Capture coords of picture "button" > picFindTune_Left = picFindTune.Left > picFindTune_Top = picFindTune.Top > > ' Copy default picture into "button" > picFindTune.Picture = images(0).Picture > > Plus: > Private Sub picFindTune_MouseDown(......) > picFindTune.Move picFindTune_Left + 1, picFindTune_Top + 1 > End Sub > > Private Sub picFindTune_MouseMove(......) > picFindTune.Picture = images(1).Picture > End Sub > > Private Sub picFindTune_MouseUp(......) > picFindTune.Move picFindTune_Left, picFindTune_Top > End Sub > > Private Sub Form_MouseMove(......) > picFindTune.Picture = images(0).Picture > End Sub > > MM
Show quote
Hide quote
On Mon, 1 Jun 2009 19:23:39 -0400, "mayayana" <mayaXXy***@rcXXn.com> Ah, a MouseLeave or MouseExit event would be *much* better than thewrote: >> >> I've gone back to using picture boxes and graphics obtained from >> http://www.glassybuttons.com/glassy.php as I used in TuneFinder. >> > > That's an interesting page. I didn't know >there were such things online. > > It's also possible to get a MouseLeave event >in Win98+ using the function TrackMouseEvent. >It requires subclassing the button, though. way I'm doing it at present (Form_MouseMove). I did look at Jeff Pearson's ButtonEx (http://www.planet-source-code.com/upload_PSC/ftp/ButtonEx%20v22424782001.zip) but a rounded button (like mine) shows tiny triangular corners and I couldn't find any combination of the properties to fix it. MM I think this is all of the relevant MouseLeave code.
It's coming out of a UserControl. I use an Image control on a UC. (The Image has no handle, as opposed to the PictureBox.) I guess you could change the code to call TrackMouseEvent on the PictureBox hWnd. But the UserControl makes it easier for each button to have self-contained functionality. '--------------------------------------------------------------- Private Const WM_LBUTTONDOWN = &H201 Private Const WM_LBUTTONUP = &H202 Private Const TME_LEAVE As Long = &H2 Private Const WM_MOUSELEAVE As Long = &H2A3 Private Type TRACKMOUSEEVENTTYPE cbSize As Long dwFlags As Long hwndTrack As Long dwHoverTime As Long End Type Private Declare Function TrackMouseEvent Lib "user32" (ByRef lpEventTrack As TRACKMOUSEEVENTTYPE) As Long ' Win98 or later Private BooMouse As Boolean '-- set BooMouse = True when first entering control area and '-- call TrackMouseLeave Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error Resume Next If BooMouse = True Then Exit Sub BooMouse = True TrackMouseLeave End Sub '-- Calls TrackMouseEvent with TME_LEAVE flag and UserControl hWnd. Private Sub TrackMouseLeave() Dim TMEvT As TRACKMOUSEEVENTTYPE Dim LRet As Long On Error Resume Next With TMEvT .cbSize = Len(TMEvT) .dwFlags = TME_LEAVE .hwndTrack = hUC End With LRet = TrackMouseEvent(TMEvT) End Sub '-- Calling TrackMouseEvent results in a message coming ' thruogh the WindowProc, but each call is only good for ' one time, so the function needs to be called on each ' mouse-enter. ' In WindowProc: Select Case uMsg Case WM_MOUSELEAVE If (BooMouse = True) Then '--do mouseleave actions BooMouse = False End If End Select '-------------------------------------------------------- This "dcButton" might be worth a look: http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=65941&ln gWId=1 I'm finding that only the light version project doesn't crash. I seem to remember the whole package working fine before, but I may be forgetting some requirement it had. This project is gigantic. Even the "light" buttons are 120KB+ UserControls, while my own custom button that uses images is 5 KB (not including the image or the subclassing class). But dcButton might be good for ideas. I've never dealt with rounded button issues. I would have thought that using a GIF in an Image or Picturbox on a transparent UserControl would work OK, but I haven't tried it. (And of course using a GIF has limitations.) |
|||||||||||||||||||||||