|
-
Jun 2nd, 2000, 02:33 AM
#1
Thread Starter
Lively Member
I'm trying to get an idea of how most people would like to change VB's intrinsic controls (i.e. Form, MDI Form, Usercontrol, Menu, ListBox, ComboBox, etc.). There are many class modules out there that can add functionality to a form. Mostly, I'm thinking of what kinds of events VB could really use. Such as events for these messages:
To forms:
Properties: AlwaysOnTop, InTaskbar (one that can be changed at runtime)
Events:
[Window related]
WM_SHOWWINDOW (sent when window is shown or hidden)
WM_SIZING,
WM_ENTERSIZEMOVE,
WM_EXITSIZEMOVE (sent by the modal message loop during window dragging and resizing)
WM_ENABLE,
WM_DISABLE (obvious purpose)
[System messages that toplevel windows normally get]
WM_SETTINGCHANGE (sent when you change a Display setting, be it the screen size, or one of the settings in the Appearances tab)
WM_POWERBROADCAST (let your program be aware of power status and let it allow or reject Suspend requests!)
WM_COMPACTING (how about if your program could detect if your computer being overworked and respond accordingly?)
*********************************************************
To menus:
General:
This could be implemented very similar to a treeview control - the structure of a menu is essentially identical to that of a tree. That would make adding menus at runtime a snap 
Properties:
CheckedBitmap (as long, for bitmap handle)
UncheckedBitmap (as long, for bitmap handle)
OwnerDrawn (as boolean)
BarBreak (as boolean)
MenuBarBreak (as boolean)
RadioCheck (as boolean, shows radio dot instead of checkmark)
Align (Left, Center, or Top)
Default (as boolean, shows item as bold)
Highlighted (as boolean)
Events:
WM_DRAWITEM (sent to the parent to draw an item - for owner-drawn menus)
WM_INITMENUPOPUP (sent just before Windows displays a menu; good for disabling inappropriate commands - i.e. Cut/Copy when no text selected)
WM_UNINITMENUPOPUP (sent after the menu is closed; good for undoing changes done by WM_INITMENUPOPUP)
**********************************************************
To ComboBoxes:
General: I've always thought that combo boxes should be passable to procedures expecting Listboxes and Editboxes. After all, a Combo Box implements all the functionality of both; why shouldn't this be possible?
**********************************************************
These are just some of the things I've thought about when I tried to do something that is easy using API but is nearly or absolutely impossible in "regular" VB. I'm not talking about complex things like adding call-by-address support and multiple inheritance - I'm talking about simple things like throwing a few key events into the fray. Most of our intrinsic controls have the very same capabilities they did in VB 1.0 - it's really time for that to change.
I would really appreciate suggestions - that means vent all your pet peeves about VB's controls, folks.
- Steve
Real programmers use COPY CON PROGRAM.EXE
-
Jun 2nd, 2000, 02:37 AM
#2
I would like to set the Form's border style property at Runtime. I would also like the ability to add code to an event at runtime.
-
Jun 2nd, 2000, 02:43 AM
#3
Thread Starter
Lively Member
Yeah, that's exactly what I'm talking about...the little things that drive you nuts when you realize you can't do them. If I use API I can change the border style - why not with VB?
- Steve
Real programmers use COPY CON PROGRAM.EXE
-
Jun 2nd, 2000, 03:09 AM
#4
I would want an intristic gradient control.
its a bit time consuming to type it whenever I need it.
I dont need it enough to add it to its own module....
I would also like a tileimage function..
at least a few of these should be avaiable in vb7, because Fox told me that vb6 has its own set of bitblt constants. so you dont have to declare them...
vbMergeCopy
vbSrcCopy
etc.
thanks Fox!
-
Jun 2nd, 2000, 07:45 AM
#5
Hyperactive Member
I would give data bound controls a UCase property and a NumbersOnly property (or something similarly named), each with a boolean value that you could set at design time. That way there would be no more
Code:
Private Sub txt1_KeyPress(KeyAscii As Integer)
KeyAscii = UCase(Asc(Chr(KeyAscii)))
End Sub
'and no more
Private Sub txt1_KeyPress(KeyAscii As Integer)
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
KeyAscii = 0
End If
End Sub
'this has just been my
Int(Val("$0.02"))
-
Jun 2nd, 2000, 07:49 AM
#6
Hyperactive Member
can't beleive I forgot this one
i would also get rid of that ridiculous "Errors Occured" error that I get with Adodc when I try to put text into a numeric field or when the entry is too large for the field, amongst other things These are the same two errors that, in DAO, generate nice descriptive errors that indicate what is the problem.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|