VB6 Focus Glow Effects - vb6

I have a form in VB6 with text fields and I would like to create a focus glow like you see in modern web browsers.
Is it possible to make a Glowing Effect in a Textbox using VB6.0?
Kindly give me some advice or way to accomplish this one! Thanks...

I've noticed you are asking other questions regarding modification of the visuals of your VB6 application, too, but you have to face it: VB6 is old, very old and many of the newer UI concepts are very hard to implement in VB6.
Your best shot to make your old VB6 look better is to use a set of more current controls than the original VB6 ones. (Although better look controls are no magic bullet, it's still possible to screw up the UI by making bad layout decisions, for example)
At work we have made good experiences using CodeJock to polish our UI, but even the latest version (15.0.2 at this time) doesn't have a glow effect for text boxes.

You can enable the text box "glow" in Vista/7 by using a manifest. This manifest creator will handle some of the dirty work for you. Note that the effect will only appear in your compiled app, not running from within the IDE.

Related

What should my controls look like?

I'm migrating an application from PowerBuilder 9 to PowerBuilder 12 Classic. In the course of this, I've noticed that PB now renders some of the controls differently: for example, on one window, some of the dropdown data windows are marked to render with a box around them, while others aren't -- but they all render with the box. PB12 fixes this, rendering each control as actually specified.
So, as long as I'm going through here and making things consistent, I might as well make everything consistent, as far as possible. We'll be deploying this on Windows 7 machines for the next couple of years, at least, so Aero is the theme I want to aim for, either with the PB defaults or by setting the controls to look like they should. I tried looking at the MS UX guidelines, but either I didn't find the right page, or it doesn't actually say. So, what should the controls look like? Boxes? Lowered? NoBorder?
Thanks.
Much has to do with the user theme as well as the icon size they have chosen to use on their desktops. One thing to make sure of, however, is that you do not have the 'Windows classic style' option checked on the project from which you build your executable.

GUI style for windows Qt application

How can i achieve this kind of look and feel with colored buttons and rounded corners in dialogs for a windows application?
i dont think it can be done using MFC , will wxWidgets or Qt help ? or any other platform?
You can design whatever the look & feel you are pursuing using QSS. Why don't you take a look at Qt Documentation ? There are plenty of examples & guidance available.
Stylesheet Examples
Stylesheet Reference
Stylesheet Syntax
Customizing Qt Widgets Using Stylesheets
But at times, you will need to override a control to achieve your goal. Like in this question. But I think your required look can be achieved via QSS alone.
The easiest and fastest way to achieve the same UI accross different platforms is to implement it in QML with Qt. Unlike widgets that get automatically styled appropriate to the underlying platform style, QML is entirely platform-independent. You could probably style regular widgets with CSS, or even by reimplementing drawing manually with arbitrary UI API, but it will not be nearly as easy.
It is easy to achieve such a look and feel with any GUI framework.
Choose the framework you are most comfortable with, RTFM, roll up your sleeves and get started.
On any framework you will find methods to draw bitmaps of any color and shape and to handle mouse clicks on them. What more do you need?
This is what GUI frameworks DO! They also provide a default set of widgets for the bone lazy and the conventional. You aren't one of those people. are you?

How do I duplicate iTunes-style windows on Windows?

Can anyone provide some insight on how to "duplicate" an iTunes style window in Windows? Specifically I am looking for the following features:
1) rounded window
2) top and bottom toolbars
3) rounded text fields
I'm currently attempting a bit of cross-platform development with Real Studio and while I've discovered the mechanism by which to perform the rounded windows in OS X (declare method call to HIWindowSetContentBorderThickness or SetContentBorderThickness), I cannot find in the MSDN how to do similar things in Windows. Obviously Apple accomplished it in actually writing iTunes for Windows. Perhaps they wrote custom controls from the ground up.
SIDENOTE: I found this article from a few years back that briefly discusses it (http://discuss.joelonsoftware.com/default.asp?joel.3.454369.12), but this is pretty much all I could find.
Even if I can't duplicate it exactly, some direction on which Windows libraries might contain the functionality I need to do it "manually" would be nice. Any further assistance would be greatly appreciated.
There's no API for doing Apple-style rounded corners, but there are lower-level APIs for creating windows (both frame windows and controls) of any shape you want.
I don't use RealStudio, but I believe it allows you to access both .NET and native Win32 APIs, so:
If you're using .NET Windows.Forms, read Shaped Windows Forms and Controls in Visual Studio .NET. It's written for VB7, but should be easy to translate to your favorite language.
If you're using the raw Win32 API, there are at least two ways to do this. The simplest, but most limited, is to call the SetWindowRgn API, which sets the shape of your window to anything you can create as an HRGN. But that probably won't cut it for you. You don't want jagged edges; you want smooth curves, with alpha-blended borders, and maybe shadows. (At least that's what Apple does.) The Layered Windows API is the way to do this. It allows arbitrary shapes (even changing on the fly, if you use UpdateLayeredWindow—although you don't need that feature to emulate iTunes), alpha transparency, and complicated hit testing. Since the original article is very out of date, and doesn't cover all of the functionality, also see Layered Windows for the current documentation, which has links to the references.
there is a third party controls that do what you want. It works on Mac & Windows.
http://www.madebyfiga.com/fgsourcelist/
works well.
sb

Do the UI first with SketchFlow - Do I concern about the UI look?

There is no questions: UI-First Software Development. But what does it takes to do the UI first?
I started to build a website, a complicated one, and know I start to concern about the UI. Instead to start coding html+css, I decided to start with SkecthFlow. now, I'm very confused. Do I want to build a exact sketch? meaning to think about colors, fonts make sure that the button will look like a web link... etc, or just build the application sketch flow? meaning put a textboxes and buttons. Do I need to implement every thing in SketchFlow first?
I'm looking for best practice.
When I am doing wireframes, the goal is to NOT have the user/reviewer worry about colors/fonts/etc. but rather to have them focus on the details of the UI workflow/screen flow and specific types of controls they want to use. Even placement of the controls is secondary unless it impacts usability.
That's why SketchFlow comes with the style set that has the UI look like hand-drawn black and white chalkboard drawings.
Many non-programmers (and some programmers too) get hung up on colors, fonts and graphic design, which can suck up a bunch of time early in a project. All of that can easily be done later, when the functionality is all decided upon and in development.

Window docking advice for Mac

I'm from a Windows programming background when writing tools, but have been programming using Carbon and Cocoa for the past year. I have introduced myself to Mac by, I admit it, hiding from UI programming. I've been basically wapping my OpenGL code in a view, then staying in my comfort zone using my platform agnostic OpenGL C++ code as usual.
However, now I want to start porting one of my more sophisticated applications to Mac OS.
Typically I use the standard Visual Studio dockable MDI approach, which is excellent, but very Windows-like. From using a Mac primarily now for a while, I don't tend to see this sort of method used for Mac UIs. Even Xcode doesn't support the idea of drag and drop/dockable views, unfortunately. I see docked views with splitter panels, but that's about it.
The closest thing I've seen to the Visual Studio approach is Photoshop CS4, which is pretty nice.
So what is the general consensus on this? Is there are more Mac-like way of achieving the same thing that I haven't seen? If not, I'm happy to write a window manager in Cocoa myself, so that I can finally delve in an learn what looks like an excellent API.
Note, I don't want to use QT or any other cross-platform libraries. The whole point is that I want to make a Mac app look like a Mac app, leave the Windows app looking like a Windows app. I always find the cross-platform libraries tend to lose this effect, and when I see a native Mac UI, with fancy Cocoa transitions and animations, I always smile. It's also a good excuse for me to learn Cocoa.
That being said, if there is an Open Source Cocoa library to do this, I'd love to know about it! I'd love to see how someone else achieves this, and would help smooth the Cocoa learning curve.
Cheers,
Shane
UPDATE: I forgot to mention a critical point. I support plugins, which can have their own UI to display various plugin specific information. I don't know which plugins will be loaded and I don't know where their UI will live, if I don't support docking. I'd love to hear people's thoughts on this, specifically: How do I support a plugin view architecture, if the UI can't change? Where do I put the plugin views?
Coming from a Windows background, you feel the need to have docking windows, but is it really essential to the app? Apple's philosophy (in my opinion) is that the designer knows better than the user how things should look and work. For example, iTunes is a pretty sophisticated app, but it doesn't let you change the UI around, change the skin, etc., because Apple wants to keep it consistent. They offer the full view, the mini player, and a handful of different viewing options, but they don't let you pull the source list off into a separate window, or dock it in other positions. They think it should be on the left, so there it stays...
You said you "want to make a Mac app look like a Mac app", and as you pointed out, Mac apps don't tend to have docking windows. Therefore, implementing your own docking windows is probably a step in the wrong direction ;)
+1 to Ken's answer.
From a user perspective unless its integral to the app like it is in Adobe CS or Eclipse i want everything as concise as possible and all the different options and displays out of my way so i can focus on the document.
I think you will find with mac users that those who have the "user skill" to make use of rearranging panels will in most cases opt for hot key bindings instead, and those who dont have that level of "skill" youre just going to confuse.
I would recommend keeping it as simple as possible.
One thing that's common among many Mac apps is the ability to hide all the chrome and focus on your content. That's the point behind the "tic tac" toolbar control in the top right corner of many windows. A serious weakness of many docking UIs is that they expect you to have the window take up most of the screen, because the docked panels can obscure content. Even if docked panels are collapsable, the space left by them is often just wasted and filled with white space. So, if you build a docking panel into your interface, you should expect it to be visible most of the time. For example, iTunes' source list is clearly designed to be visible all the time, but you can double-click a playlist to open it in a new window.
To get used to the range of Mac controls, I'd suggest you try doing some serious work with some apps that don't have a cross-platform UI; for example, the iWork apps, Interface Builder or Preview. Take note of where controls appear and why—in toolbars, in bottom bars, in inspectors, in source lists/sidebars, in panels such as IB's Library or the Font and Color panels, in contextual HUDs. Don't forget the menu bar either. Get an idea of the feel of controls—their responsiveness, modality, sizing, grouping and consistency. Try to develop some taste—not everything is perfect; just try iCal if you want to have something to make fun of.
Note that there's no "one size fits all" for controls, which can be an issue with docking UIs. It's important to think about workflow: how commonly used the control would be, whether you can replace it with direct manipulation, whether a visible indication of its state is necessary, whether it's operable from the keyboard and mouse where appropriate, and so forth. Figure out how the control's placement and behavior lets the user work more efficiently.
As a simple example of example of a good versus bad control placement and behavior in otherwise-decent applications, compare image masking in OmniGraffle and Keynote. In OmniGraffle, this uses the Image inspector where you have to first click on an unlabeled button ("Natural size") in order to enable the appropriate controls, then adjust size and position away in a low-fidelity fashion with an image thumbnail or by typing percentages into fields. Trying to resize the frame directly behaves in a bizarre and counterintuitive fashion.
In Keynote, masking starts with a sensibly named menu item or toolbar item, uses a HUD which pops up the instant you click on a masked image and allows for direct manipulation including a sensible display of the extent of the image you're masking. While you're dragging a masked image around, it even follows the guides. Advanced users can ignore the HUD entirely, just double-clicking the image to toggle mask editing and using the handles for sizing. It should be easy to see, with a few caveats (e.g. the state of "Edit Mask" mode should be visible in the HUD rather than just from the image; the outer border of the image you're masking should be more effectively used) Keynote is substantially better at this, in part because it doesn't use an inspector.
That said, if you do have a huge number of options and the standard tabbed inspector layout doesn't work for you, check out the Omni Group's OmniInspector framework. Try to use it for good, and hopefully you'll figure out how to obsess over UI as much as you do over graphics now :-)
(running in slow motion, reaching out in panic) Nnnnnoooooooo!!!!!
:-) Seriously, as I mentioned in reply to Ken's excellent answer, trying to force a "Windowsism" on an OS X UI is definitely a bad idea. In my opinion, the biggest problem with Windows UI is third-party developers inventing new and inconsistent ways of presenting UI, rather than being consistent and following established conventions. To a Mac user, that's the sign of a terrible application. It's that way for a reason.
I encourage you to rethink your UI app's implementation from the ground up with the Mac OS in mind. If you've done your job well, the architecture and model (sans platform-specific implementation) should clearly translate to any platform.
In terms of UI, you've been using a Mac for a year, so you should have a pretty good idea of "the norm". If you have doubts, it's best to post a question specifically detailing what you need to present and your thoughts on how you might do it (or asking how if you have no idea).
Just don't whack your app with the ugly stick by forcing it to behave as if it were running in Windows when it's clearly not. That's the kiss of death for an app to Mac users.

Resources