Important alert: (current site time 7/16/2013 2:44:49 AM EDT)
 

winzip icon

MorphTextBox (UNICODE BETA) - Ownerdrawn Single Line TextBox Control

Email
Submitted on: 4/14/2007 4:42:11 PM
By: Option Explicit 
Level: Intermediate
User Rating: By 65 Users
Compatibility: VB 6.0
Views: 28600
author picture
(About the author)
 
     (14 Apr 2007 - Added Unicode Beta code from Pietro Cecchi) A totally owner-drawn usercontrol that provides most of the functionality of VB's single-line textbox. It allows you to set the background as a gradient or a picture. Text color and selection color are also customizable. All the usual stuff is here - PasswordChar, Locked, etc. I have tried to emulate standard textbox keyboard and mouse control as closely as possible, but have not gone bonkers trying to exactly emulate everything. My point was to make a suitable replacement, one that can be used in place of the boring VB textbox. This is version 1, so I'm expecting that you'll find things that need fixed or improved. Known issues listed in source. Comments and votes welcome.

 
winzip iconDownload code

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. Afterdownloading it, you will need a program like Winzip to decompress it.Virus note:All files are scanned once-a-day by Planet Source Code for viruses, but new viruses come out every day, so no prevention program can catch 100% of them. For your own safety, please:
  1. Re-scan downloaded files using your personal virus checker before using it.
  2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.
  3. Scan the source code with Minnow's Project Scanner

If you don't have a virus scanner, you can get one at many places on the net including:McAfee.com

 
Terms of Agreement:   
By using this code, you agree to the following terms...   
  1. You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
  2. You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   
  3. You may link to this code from another website, but ONLY if it is not wrapped in a frame. 
  4. You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.


Other 8 submission(s) by this author

 


Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this code (in the Intermediate category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments
6/1/2005 7:37:09 AMapidude

Nice work!
(If this comment was disrespectful, please report it.)

 
6/1/2005 9:18:51 AMPhantom Man

Excellent Control.
Glad To See people Giving Credit To The Coders Who's Code Made This Possible.

Next Thing: Multiline? That Would Be Nice.

Well Done.

Gary


(If this comment was disrespectful, please report it.)

 
6/1/2005 9:23:58 AMMatthew R. Usner

Gary I may not be a great VB coder but I've been programming for a living since the early 80's, and learned a long time that giving credit where it's due is the only honorable thing to do. That's why code thieves like Ilia HD. make me so mad. As far as multiline, I guess that would be a logical extension of this project. Also, a popup menu class. There's always one more thing... Thanks.

(If this comment was disrespectful, please report it.)

 
6/1/2005 10:24:21 AMRichard Mewett

Matt this is a very original submission - 5 * from me. I've always intended to have a go at this type of control but never started!
(If this comment was disrespectful, please report it.)

 
6/1/2005 10:59:27 AMMatthew R. Usner

Thank you Richard. I may have missed it, but I've done a lot of "Googling" for something like this and haven't found any open source - just shareware .OCX. Thanks for voting!
(If this comment was disrespectful, please report it.)

 
6/1/2005 1:29:33 PMMatthew R. Usner

Ilia HD (MoMoYa) just sent me a threatening email saying he's going to steal this code and post it as his. LOL!

(If this comment was disrespectful, please report it.)

 
6/1/2005 1:49:08 PM

Very impressive! 5 Globes from me! Keep up the good work...
(If this comment was disrespectful, please report it.)

 
6/1/2005 8:08:54 PMMatthew R. Usner

OK the glitch with selecting text when the mouse goes off the left part of the control has been fixed. Thanks to the anonymous tipster.

(If this comment was disrespectful, please report it.)

 
6/1/2005 9:33:24 PMMatthew R. Usner

Also tweaked the end key routine. Once in a while box would not display last character if the second-to-last character juuuust touched the border.
(If this comment was disrespectful, please report it.)

 
6/2/2005 7:47:43 AMkerplunk_boy

Like the fellas in here, 5 globes, and i also will like the multiline part... thanks for sharing
(If this comment was disrespectful, please report it.)

 
6/2/2005 8:04:39 AMNorm Cook

Nice job. Although you provide the mouse events, for the lazy programmer, you could go a step further and provide the context menus, e. g. Cut, Copy Paste, etc.
(If this comment was disrespectful, please report it.)

 
6/2/2005 8:51:37 AMMatthew R. Usner

Norm, I didn't include the menu for two reasons: 1) It gives the programmer the option to make their own custome menu. 2) on my somewhat lengthy to-do list are graphical pop-up menus and a scrollbar. These, when all put together, will make for a complete owner drawn multiline textbox setup. As for the lazy people, there will always be people that want one more thing so they don't have to do it themselves, and if they can't be bothered to run Menu Editor and define a few things in code, well, I'm not going to lose any sleep over it. Thanks for your input.

(If this comment was disrespectful, please report it.)

 
6/2/2005 1:12:40 PMM Bader

Looks great, however I would add 1 thing that MS has always left out of the text control which is a autoselect property of the text.
(If this comment was disrespectful, please report it.)

 
6/2/2005 1:34:49 PMMatthew R. Usner

You know, I HAD as SelectOnFocus property built in and then took it out. I figured that since it's so easy to change the SelStart and SelLength properties from code it would be almost redundant. Silly me! As soon as I get a free half hour I'll put it back in and resubmit. Thanks for the feedback and the vote!

(If this comment was disrespectful, please report it.)

 
6/2/2005 6:03:26 PMPS42

Matthew,

Thank you for sharing this code with us. Concisely written and well documented code. I find that many postings to this site are of limited value to me, but every now and then a real gem pops up. This is one of them.

Well done!
(If this comment was disrespectful, please report it.)

 
6/2/2005 6:16:39 PMMatthew R. Usner

Thanks PS42. Actually I could tighten up the code somewhat probably. Towards the end I was getting a little blinky from all the string manipulation. But thanks very much.

(If this comment was disrespectful, please report it.)

 
6/3/2005 1:22:55 AMHeriberto Mantilla Santamaría

Hi Matthew R. Usner

This control this great, only has a question it would be possible that the cursor of the Mouse twinkled as a normal TextBox.
(If this comment was disrespectful, please report it.)

 
6/3/2005 8:20:15 AMMatthew R. Usner

Hi Heriberto. I didn't want to put any Timer controls or anything in this control, so that's why the cursor doesn't blink. If there is some other way to provide auto-timing without wasting a lot of system resources I'd be happy to look into it. Thanks for the input and the vote.

(If this comment was disrespectful, please report it.)

 
6/3/2005 10:16:50 AMMatthew R. Usner

OK, for "M Bader" and anyone else that wanted it, I have added a SelectOnFocus property that, when the textbox receives the focus, automatically selects all text in the box. In the demo, the password textbox is the example. Thanks for the votes and support.

(If this comment was disrespectful, please report it.)

 
6/3/2005 12:23:16 PMCarles P.V.

Cool! Also clean and well commented code: something ususual :-) Keep it up.
(If this comment was disrespectful, please report it.)

 
6/3/2005 12:32:59 PMMatthew R. Usner

Thanks Carles. I needed to take a break from the ownerdrawn scrolling container we discussed so I did this.
(If this comment was disrespectful, please report it.)

 
6/3/2005 2:42:02 PMMatthew R. Usner

Good news. One of the top coders on this site, Gary (Phantom Man) generously supplied code to generate a blinking API-generated caret. Project updated. Thanks, Gary, for making this a much better control and giving me something to learn from.

(If this comment was disrespectful, please report it.)

 
6/3/2005 3:11:43 PMPhishbowla

This is Awesome. *****
Adding multi-line would put it over the top.
(If this comment was disrespectful, please report it.)

 
6/3/2005 3:18:31 PMMatthew R. Usner

Thanks Phishbowla! Carles P.V. had good advice on that - to hold off until this, the "engine", so to speak, is more fully developed and tested. Sounds like a plan to me.
(If this comment was disrespectful, please report it.)

 
6/3/2005 5:32:47 PMHeriberto Mantilla Santamaría

Thanks to keep in mind my suggestion, I'll download the control again.

Congratulations.
(If this comment was disrespectful, please report it.)

 
6/3/2005 11:32:16 PMHeriberto Mantilla Santamaría

Hi again Matthew R. Usner

I found a small detail, when the text is selected in a normal Textbox and it maintains pressed the mouse and you go out of the Textbox the cursor of the mouse blinks (caret), good I don't know if it's possible to adapt this in your usercontrol.

Isn't problem but you can make it.
(If this comment was disrespectful, please report it.)

 
6/4/2005 4:23:51 AMPaul Turcksin

Excellent work. Thanks for sharing. And if you have the courage to implement it : rounded corners would be nice.
(If this comment was disrespectful, please report it.)

 
6/4/2005 9:23:47 AMMatthew R. Usner

Heriberto I see what you mean about the caret not blinking while the default vb textbox caret blinks. I'm glad to see people taking such an interest! I'll look at it, but I don't see that what you describe is a problem, just a observation. Thanks!

(If this comment was disrespectful, please report it.)

 
6/4/2005 9:25:39 AMMatthew R. Usner

Hi Paul, no, rounded corners are not a problem - as a matter of fact the ability is already built in. I will make a property and resubmit. Dana Seaman also sent me a snippet of helpful code that I want to implement. Thanks for the vote!

(If this comment was disrespectful, please report it.)

 
6/4/2005 9:27:27 AMMatthew R. Usner

"Anonymous guy" I'll look into moving the caret to the end of the selected word on a double-click. Never occured to me. Thanks.

(If this comment was disrespectful, please report it.)

 
6/4/2005 12:02:11 PMMatthew R. Usner

Thanks for all the votes!

I've tracked down the root cause of why certain fonts cause the caret to track improperly... it only happens with fonts set to bold. It happens with some fonts because some fonts have actual bold characteristics, while others just simulate a bold effect. Will keep working on it. Normal ("un-bold") seems fine with all fonts.

(If this comment was disrespectful, please report it.)

 
6/4/2005 3:29:05 PMMatthew R. Usner

Ok, I've added some new features. The textbox can now have rounded corners. Thanks to Paul Turcksin for the idea. Also, I've implemented a modified version of Dana Seaman's snippet to allow more keyboard text-edit capability. Ctrl-A now selects all text. Ctrl-C copies any selected text to the ClipBoard. Ctrl-X cuts selected text and puts in ClipBoard. And Ctrl-V pastes the ClipBoard's contents into the textbox at the cursor position. Thanks Dana. Please let me know if there are any issues with the new additions.

(If this comment was disrespectful, please report it.)

 
6/4/2005 4:15:44 PMMArio Flores G

Hi Matthew R. Thanks for the control.
It works great. one thing, i use Ctrl+ Insert, Shift+Delete, Shift+Insert, More Than Ctrl-C,V,X. and the control doesn't seem to paste the ClipBoard's contents into the textbox by using Shift+Insert. Haven't checked the code, so I dont really know if its a bug or just a missing feature.
(If this comment was disrespectful, please report it.)

 
6/4/2005 4:24:38 PMMatthew R. Usner

It's a feature not incorporated into the control, not a bug. I actually don't use any of those things in a single line textbox so I didn't even think to put them in. The reason Ctrl-C,V,X are in is because Dana Seaman was good enough to email me prototype code. I wasn't planning on exactly duplicating every feature of a textbox in this control but the fans of this control seem to think otherwise. ;)
I'll see what I can doo to add those in for you. Thanks for the kind words and the vote MArio.
(If this comment was disrespectful, please report it.)

 
6/4/2005 11:09:09 PMZhu JinYong

cursor should shift to right when typing asia characters.
(If this comment was disrespectful, please report it.)

 
6/5/2005 5:29:11 AMRichard Mewett

Getting better & better!
(If this comment was disrespectful, please report it.)

 
6/5/2005 9:02:15 AMMatthew R. Usner

Thanks Richard. It's because everybody around here is a slavedriver :-)

(If this comment was disrespectful, please report it.)

 
6/5/2005 9:05:17 AMMatthew R. Usner

Hi Zhu JinYong. Thank you for the vote. I'm not sure what you mean about the Asia characters. If you have special fonts that you use, email them to me, or if you have a sample project that would be fine also. But I honestly don't know if I can help.

(If this comment was disrespectful, please report it.)

 
6/5/2005 11:16:11 AMMatthew R. Usner

OK, some updates: Double-click now moves cursor to end of selected word, thanks "Anonymous Guy" for pointing it out. Text in password-enabled textbox cannot be copied to the clipboard. Shift-Insert and Shift-Delete keys added. (MArio please let me know if I did them right). As usual please let me know if everything is OK. Thanks.
(If this comment was disrespectful, please report it.)

 
6/5/2005 6:07:33 PM

Again thx for the upgrade. Ctrl+Insert doesn't Copy the selected text to the clipboard. Shift+Insert works fine for Paste. One question, not very important, is it possible to add a property to give the heigth of the selection bar? Now the selected area has the heigth of the control. Thx!
(If this comment was disrespectful, please report it.)

 
6/5/2005 6:15:37 PM

Little thingy... When inserting the clipboard's content with Ctrl+V (or Shift+Insert) the cursor doesn't move to end of the inserted text.
(If this comment was disrespectful, please report it.)

 
6/5/2005 7:11:47 PMMatthew R. Usner

"Anonymous Guy" - Ctrl-Insert now copies selected text to clipboard. Oversight on my part; MArio Flores G told me and I forgot anyway. Duh. Cursor now moves to end of inserted text on Ctrl-V/Shift+Insert. As far as the height of selection bar I had though of implementing a property for that but never did. It would have been an Enum with two values - [HeightOfText] and [HeightOfTextbox] or something to that effect. Is that kinda what you had in mind? Thanks for the good work with the electron microscope ahem.... :-)

(If this comment was disrespectful, please report it.)

 
6/5/2005 8:23:33 PMZhu JinYong

try to hold down right mouse to fully select a word (don't release right mouse),CPU will be 100% occupied.
(If this comment was disrespectful, please report it.)

 
6/5/2005 9:37:32 PMMatthew R. Usner

Hi Zhu. First of all, the right mouse button shouldn't be doing anthing in this initial version of the control. I forgot VB translates right-button double clicks also. Resubmitted so textbox ignores it. Heriberto Mantilla Santamaria tipped me off to the fact that when you hold down the left button in the textbox, the caret stops blinking. What happens is that when you hold the button down, and start moving the mouse, the mousemove event starts firing and doesn't stop. I've got that on my list. Thanks Zhu.


(If this comment was disrespectful, please report it.)

 
6/6/2005 1:36:07 AMMArio Flores G

Hi Matthew About CPU Over use and caret not blinking, just add a Flag that counts the selected Text. see the modifications http://www.geocities.com/sistec_de_juarez/txtboxp.zip ... DOWNLOAD IT AND SEE, the Adds are commented like this '//---ADD BY MFG
(If this comment was disrespectful, please report it.)

 
6/6/2005 6:27:04 AMHeriberto Mantilla Santamaria

Thanks MArio now is more similar to normal textbox, great idea.
(If this comment was disrespectful, please report it.)

 
6/6/2005 8:39:15 AMMatthew R. Usner

OK MArio, just downloaded, will check it out and resubmit. Thanks for taking the time to look at this!
(If this comment was disrespectful, please report it.)

 
6/6/2005 8:50:12 AMZhu JinYong

Matthew,check MFG's modifications.He got it.
(If this comment was disrespectful, please report it.)

 
6/6/2005 11:18:02 AMMatthew R. Usner

OK MArio, Heriberto and Zhu, have re-submitted with MArios tweaks (with mods because there was a problem selecting the last character). Dana maybe that's take care of your situation to but I'll check it out.
Thanks for everybody's interest in my project - I never expected this amount of feedback and votes. Keep'em both coming!
(If this comment was disrespectful, please report it.)

 
6/6/2005 10:16:15 PMAnders Lyman

Your color schemes always make me wince, but the code is always excellent!
5 from me.
(If this comment was disrespectful, please report it.)

 
6/6/2005 10:26:04 PMMatthew R. Usner

Yeah I know. Believe it or not I am quite good at user interfaces in my work, but this is just for play. The more gaudy the better, why not? Tr0piic also makes fun of my screen shots. That's OK. Thanks for the vote and for making me laugh.

(If this comment was disrespectful, please report it.)

 
6/7/2005 1:32:14 PM

Forgot to thank you for the upgrade and indeed, selection ([HeightOfText] and [HeightOfTextbox]), that was what I had in mind.

I am beginning to feel a little guilty. But one little buggy. Copy one line text shorter then the textbox width, then paste it many times till it reaches the textbox width. You will see that, paste doesn't work anymore + END-Keybutton also (maby it is an idea to move the text position with the cursor to the end). In this stadium clicking the mouse-Left-button helps activating the END-button. Thank you for your patience... :-)
(If this comment was disrespectful, please report it.)

 
6/7/2005 1:50:48 PMMatthew R. Usner

Oh, and I'll see about working that selection gradient heght property in.
(If this comment was disrespectful, please report it.)

 
6/7/2005 1:52:01 PM

Sorry! For the last bug report. Bug is not excactly what I thought it was. Paste works fine, the cursor moves to the end, but the text position doesn't compare to the cursor position, it is out of the drawing area. The cursor has to be visible if any key is pressed (also Ctrl+v/Shift+Insert).
(If this comment was disrespectful, please report it.)

 
6/7/2005 1:54:24 PM

Hehehe... LOL! Thank you... (Btw Anonymous = XeRoX)
(If this comment was disrespectful, please report it.)

 
6/7/2005 3:53:48 PMEvilgenious

Matthew is really enjoying VB.
Methew, dont submit your code next month bcoz PSC programmers will lose their thoughts of winning. As I have lost this month :)
5*****
(If this comment was disrespectful, please report it.)

 
6/7/2005 5:26:27 PMMatthew R. Usner

Not necessarily EvilGenious. Carles P.V. could submit a program on June 25th and still beat us all by the 30th! The top 4 finishers get the brass ring, remember. And winning a contest isn't everything (although I have to admit it would be nice to get a win under my belt). Thank you and good luck.
(If this comment was disrespectful, please report it.)

 
6/7/2005 5:37:55 PMMatthew R. Usner

OK XeRoX (and everyone else), the paste now moves the display correctly. I remove all vbCrLf's from the text before I display it, so that takes care of THAT glitch. And I have added a SelGradHeight property that allows you to have the selection gradient fill the textbox as it did before, or just highlight the text. Have fun!

(If this comment was disrespectful, please report it.)

 
6/7/2005 5:37:58 PMHeriberto Mantilla Santamaría

Hi Matthew R. Usner

Only question Alignment property in her you thought.
(If this comment was disrespectful, please report it.)

 
6/7/2005 5:43:31 PMMatthew R. Usner

Hi Heriberto, not sure I understand. Can you rephrase? Thanks.
(If this comment was disrespectful, please report it.)

 
6/7/2005 5:48:43 PMHeriberto Mantilla Santamaría

I wanted to know if the property Alignment this in your mind to implement it.

Thank you.
(If this comment was disrespectful, please report it.)

 
6/7/2005 6:03:52 PMMatthew R. Usner

I get it now. No, in a textbox, where the text scrolls right and left, I don't see any value in an alignment property. So I more than likely won't be adding it... Thanks for asking.
(If this comment was disrespectful, please report it.)

 
6/8/2005 1:39:47 AMEvilgenious

Yeah Methew You are right "Winning a contest isn't everything"
but it feels good when someone appreciate you.
well I am also enjoying VB like you but I am not experienced and logical like you.
My favourite on PSC is LaVolpe.
(If this comment was disrespectful, please report it.)

 
6/8/2005 7:36:55 AMPhantom Man

Hi Matthew

Nice Updates, But I Have To Point You In The Direction Of A Bug.

Your Delete Code Is Not Working Properly,
When You Open The App Then Click On One Of The Text Boxes Then Hit Delete The Text Is Deleted From The FIRST Character To The Selected Cursor Pos.

Gary
(If this comment was disrespectful, please report it.)

 
6/8/2005 10:15:47 AMMatthew R. Usner

Okay it's fixed now. I have no idea when that error first appeared. Thanks for catching it.

(If this comment was disrespectful, please report it.)

 
6/8/2005 12:23:17 PM

Woow Matthew, great update. Thank you again!
Little Bug-report:
If sample text = "You are the best Matthew!" and you are selecting this part= "Matthew" and not the "!", now push the DELETE/BACKSPACE, it deletes not only the selected part, but also the last character "!". This example is a little obscure, but couldn't tell this differently. One more thing, your SelGradHeight is great, is it possible to relate the cursor-heigth to the SelGradHeight?
Btw thx for the credits within your code. Lol! Thx! :-)
(If this comment was disrespectful, please report it.)

 
6/8/2005 12:29:15 PMMatthew R. Usner

I'll definitely look at it and repost when Ifigure it out. BTW like the sample sentence... ;-) No problem giving you a credit, your relentless debugging work has saved me the trouble of doing it myself!

(If this comment was disrespectful, please report it.)

 
6/8/2005 3:08:30 PMMatthew R. Usner

OK all, I have uploaded a fix for the deletion glitch. Hope this finishes up glitches with the delete. 'Delete' seems to be my blind spot in this project... sorry about any inconvenience. XeRoX, I'll look at the cursor height thingy next...

(If this comment was disrespectful, please report it.)

 
6/8/2005 9:02:32 PM

Thx Matthew! May I suggest something...
If textbox heigth is big, the drawings (selecting) are very slow. I think this is caused by long measuring time. There should be another way to draw this. What I can think is using the API-GradientFill for the gradient effects instead of Function-PaintGradient. This is really fast. I can send you an example if you want. Or using plain API-Rectangle, or another Enum for choosing Gradient or Ractangle (like VB textbox).
Another thing, when manipulating the textbox, it doesn't refresh/redraw (RedrawControl?), until you set the focus on with the mouse. By manipulating I mean, changing font size for example. I hope this can help... ;-)
(If this comment was disrespectful, please report it.)

 
6/8/2005 9:09:48 PMMatthew R. Usner

I use a VB gradient draw routine instead of gradientfill api because i use the middle-out gradient a lot in my projects. (i.e. color1 to color2 back to color1.) I am assuming you've run this compiled? It obviously does much better compiled. If it's possible to provide middle-out gradient effects, and partial DC drawing, with API-Gradient fill, I
of course would be interested. I havent really tested these api's out so I don't know. For a single line textbox I don't think that the height will be that large in normal circumstances. For a multi-line textbox it will be an issue.
(If this comment was disrespectful, please report it.)

 
6/8/2005 10:29:03 PM

It is possible with gradientfill if you slice it in two and use two time gradientfill (mirror) in function. But Matthew I must say sorry, so I do :-). I spoke too soon. I tried the API, but didn't change a bit. Compiling did tha thing! :-D
Hoping to see the caret's height textheight! ;-D Thx thx!
(If this comment was disrespectful, please report it.)

 
6/9/2005 2:03:22 PM

Hi Matthew, can you add a property for textcolor within the selection bar in your next upgrade? There is a FocusTextColor, but no SelectTextColor. Thx!
(If this comment was disrespectful, please report it.)

 
6/9/2005 3:13:34 PMMatthew R. Usner

Yeah that's something I've thought of also but I'm trying to get the "all bold fonts" issue sorted out first. Rest assured, caret height and selected text color are on the list. That'll be $87.50, please. :-)
(If this comment was disrespectful, please report it.)

 
6/9/2005 7:55:30 PMMatthew R. Usner

OK, I believe the one major issue regarding this control has been solved. Control now incorporates TrueType font detection code so that the caret should track properly in bold fonts, whether TrueType or not. Play around with different TT and non-TT fonts (in Bold) and hopefully all will work well.

(If this comment was disrespectful, please report it.)

 
6/9/2005 10:05:36 PMMatthew R. Usner

Well I probably spoke too soon. More fonts work properly in bold, (non-tt specifically) but other fonts, ones that you probably don't use too often, still don't caret-track properly. I'll probably have to learn the ins and outs of the LOGFONT and TEXTMETRIC structures more to compensate for all fonts. However, this revision was still worth the upload. Will keep hackin' away at it till I get it totally.

(If this comment was disrespectful, please report it.)

 
6/10/2005 12:32:03 PMMatthew R. Usner

Thanks. Just remember I don't have all fonts working yet; although this control is perfectly usable as is. Looking forward to your test results.
(If this comment was disrespectful, please report it.)

 
6/10/2005 12:35:30 PMMatthew R. Usner

I see that because I pointed out to VBSquared software that their solicitation of their "free" demo skin control the other day is spam, they rated one of my other submissions 1 globe out of spite. That should tell everyone that I was right - VBSquared is a bunch of spammers that are trying to lure you to their site in the hopes you'll buy their products. Quit posting your non-code spam on this site you spammers.

(If this comment was disrespectful, please report it.)

 
6/10/2005 6:08:02 PMMatthew R. Usner

Added CaretHeight property. Caret now can be either the height of the textbox (minus the borderheight+2 pixels) or the height of text in the current font.
(If this comment was disrespectful, please report it.)

 
6/10/2005 9:24:42 PMMatthew R. Usner

Added SelTextColor property. You can now choose any color to display text in when said text is selected. XeRoX, I know this goes without saying, but check it out carefully. It's in the SetText routine, it works OK in my tests but you have a knack for finding stuff... :-)

(If this comment was disrespectful, please report it.)

 
6/10/2005 10:24:30 PMMatthew R. Usner

Please keep the feedback (and votes, if you like) coming folks! All the feedback so far has motivated me to take this control to a much better place than it was on the first of the month.
(If this comment was disrespectful, please report it.)

 
6/11/2005 6:10:12 AM

Matthew, missing last function I thnik: Undo (Ctrl+Z)
Thx!
(If this comment was disrespectful, please report it.)

 
6/11/2005 7:55:15 AM

Matthew, sorry bug report! ;-)
Using [Shift+Delete] keys.
Enter any string to MorphTextBox and go to the end of text and use [Shift+Delete]. You will see that (Focus)TextColor changes to SelTextColor. Now one more time [Shift+Delete] results an Error!
(If this comment was disrespectful, please report it.)

 
6/11/2005 7:57:14 AMMatthew R. Usner

Yeah, I've already had both of those in the back of my mind. Hopefully sometime this weekend.
(If this comment was disrespectful, please report it.)

 
6/11/2005 9:12:48 AMMatthew R. Usner

Try it now. What a weird little bug. Didn't happen every time under the exact same test circumstances.
(If this comment was disrespectful, please report it.)

 
6/11/2005 4:03:54 PMMatthew R. Usner

Fixed (hopefully) as small bug in BackSpace routine that caused it to occasionally crash when backspacing in a long (wider than textbox) string.

(If this comment was disrespectful, please report it.)

 
6/11/2005 4:05:44 PMMatthew R. Usner

Oh, and thanks for the vote Kelly! If the creator of VBCorLib is giving me props I must be doing SOMETHING right... :-)

(If this comment was disrespectful, please report it.)

 
6/11/2005 6:24:32 PMcoder86

Interesting idea. Now try making text box with round edges :) You know they made windows with round edges, now it's the time for a text box to have round edges... In the end we will request the manufacturer of monitors to develop round monitors, round laptops, etc... :-)

hm, actually the first television was a bit round.... history repeats itself :)

I give you 5 dots in advance...

and have you tried to use in the textbox my
(If this comment was disrespectful, please report it.)

 
6/11/2005 6:26:26 PMcoder86

..I mean.. have you tried to use in the textbox my Kanguroo vector font that I posted here a few days ago?

notice: it's not [ Kangaroo ], it's [ Kanguroo ]!
(If this comment was disrespectful, please report it.)

 
6/11/2005 8:14:50 PM

Hehehe Matthew, badgered to actually do it by XeRoX? But it worked, it is very nice now... :-)
Btw when entering Maxlength=0 it doesn't disable Maxlength like the VB-TextBox.
Second if you already entered f.e. 20 characters in MorphTextBox and then change to maxlength=10, it doesn't respons to the given legth till it is down to 10 chars. When changes are made, it would be pleasant for the user if MorphTextBox corrects and cuts till it is 10 characters long automaticly. Thx for the patience ;-)!!
(If this comment was disrespectful, please report it.)

 
6/11/2005 8:44:37 PMMatthew R. Usner

Not yet but that's the first thing I thought of when I saw your font, coder86. I will try it. And the textbox does have rounded edges. Check for the Curvature property. Thanks for the dots!

(If this comment was disrespectful, please report it.)

 
6/11/2005 8:48:41 PMMatthew R. Usner

Good idea on the cutting of the text to new MaxLength, will incorporate that. I'll look at the MaxLength = 0 thing. Thanks!
(If this comment was disrespectful, please report it.)

 
6/12/2005 12:43:31 PMMatthew R. Usner

Added a Changed event that fires whenever text is changed. Tweaked the MaxLength property to automatically cut the text to proper length when MaxLength changes, thanks XeRoX. And as an added bonus, if you can call it that, someone asked me for a version of my MorphContainer that supports individual rounding of corners. So that's included as well. Thanks Carles P.V. for the help. Updated screen shot to annoy Anders Lyman some more... :)

(If this comment was disrespectful, please report it.)

 
6/12/2005 7:46:27 PMMatthew R. Usner

Fixed a minor bug in the KeyPress routine. It caused the caret to lock when there was no text and MaxLength property was set to 0. XeRoX maybe that's what you were seeing.
(If this comment was disrespectful, please report it.)

 
6/13/2005 12:07:03 PM

Yes that is nicely solved indeed.
I realy don't dare to report any bugs after your beaty punishment anymore. But here, a last one (I hope :-)). The first textbox, MaxLength= 0. Now select a string, copy, paste with Shift+Insert, till you get an Overflow (Run-Time Error: 6, Ln 1252, Col 1). Sorry, I thought my debugging was helping you. It wasn't my purpose to bother you.
(If this comment was disrespectful, please report it.)

 
6/13/2005 12:09:45 PMMatthew R. Usner

Like I said don't take offense. You've helped me TREMENDOUSLY and I thank you. I just don't think it's necessary to leave me ten messages a day... :-) I'll look at this when I get home... thanks.
(If this comment was disrespectful, please report it.)

 
6/13/2005 2:32:03 PMMatthew R. Usner

Ok XeRoX, for once it isn't my fault. What you have uncovered is the limit for the length of a string that can be passed to the .TextWidth method. That limit, although not in my VB documentation (natch) is 32767. So until I get away from TextWidth, which I need to do eventually to get every font in the known universe working, I don't see this as a problem. And you're probably the only person in the world that ever tried to put 32768 characters in a single-line textbox... ahem.

(If this comment was disrespectful, please report it.)

 
6/14/2005 8:46:08 AMMatthew R. Usner

OK sports fans, added Ctrl+Z undo capability. Up to the last 10 changes to the text can be undone.
(If this comment was disrespectful, please report it.)

 
6/14/2005 8:47:56 AM

Run-time error 6: Overflow
Solution maby:
http://support.microsoft.com/default.aspx?scid=kb;en-us;298825
(If this comment was disrespectful, please report it.)

 
6/14/2005 9:02:28 AMMatthew R. Usner

Ah, for the "TextWidth" issue. I had
already thought of this approach -
breaking the string into substrings -
but as I said, TexdWidth will be going
out the door when I have "Every Single
Font In The Universe" capabilty. So
I'm not going to worry about it today.

(If this comment was disrespectful, please report it.)

 
6/14/2005 9:42:44 AM

A slick control - and two days of tinkering w/o being able to break it in any new or exciting ways - 5*
(If this comment was disrespectful, please report it.)

 
6/14/2005 10:22:05 AMMatthew R. Usner

Alpha thanks for the vote and the nice words. But don't assume all is bug free just yet. I made it crash just this morning and am still trying to nail it down.

(If this comment was disrespectful, please report it.)

 
6/14/2005 3:59:49 PM

Exceptional Work.
Although, control doesn't rebuild correctly when font has chaged in Running Mode, it is more worthy then the 5 Globes From Me!!
Thank you for sharing.
(If this comment was disrespectful, please report it.)

 
6/14/2005 4:39:25 PMMatthew R. Usner

I'll certainly take a look at that and resubmit when I fix it. Thank you for the kind words and the vote.

(If this comment was disrespectful, please report it.)

 
6/15/2005 11:14:22 AMMatthew R. Usner

Control should properly redisplay when changing fonts now. Don't forget I'm still trying to get all fonts working though.
(If this comment was disrespectful, please report it.)

 
6/15/2005 2:56:32 PM

Nicely solved Matthew R. Usner,
Looks splendiferous. May I use your control in one of my App's?
One thing though: the caret position doesn't display well.
What I did:
1. Changed font to bold
2. Then set the caret to the end
3. Changed font to thin again
4. Then used TAB-key to set focus on
the control.
5. Now the caret is showing far from
the end of the text.

Succes with the other fonts.
(If this comment was disrespectful, please report it.)

 
6/15/2005 3:08:30 PMMatthew R. Usner

Of course you can use this Riccardo. All I ever ask is that you keep the credits intact in the source. That way I, and the other people that contributed to this control, get their fair share of credit. I'll look at your font scenario and get back to you. I really never change fonts from code in a control so bear with me... When I started this project I really had no idea how much goes into a supposedly simple thing like a single line textbox control. I guess I'm finding out lol. I'll email you when I figure it out. Thanks very much.
(If this comment was disrespectful, please report it.)

 
6/15/2005 9:18:00 PMMark T.

Great control, Matt. Love the well-commented code. Five globes. What's next?
(If this comment was disrespectful, please report it.)

 
6/15/2005 10:05:47 PMMatthew R. Usner

Hi Mark. (Mark is a guy I do freelance programming work for; it's nice to have the guy I work for sucking up to me! :-) ) Mark, next is the "multiline" aspect of this control, which means first I have to do scrollbars. Assuming I ever get this initial project finished... sigh... Thanks. You get a discount on your next assignment ($5.00 - $1.00 per globe). Aren't I generous?
(If this comment was disrespectful, please report it.)

 
6/17/2005 12:26:23 PMLaVolpe

Matt, good to see your post reappeared.
(If this comment was disrespectful, please report it.)

 
6/17/2005 12:31:51 PMMatthew R. Usner

Phew! Thanks LaVolpe for your input on this situation. Off to see if Dirk's is back also.
(If this comment was disrespectful, please report it.)

 
6/17/2005 12:34:45 PMMatthew R. Usner

Well, when you access the code from the leaderboard, it still says it's removed. However, a positive step forward.
(If this comment was disrespectful, please report it.)

 
6/17/2005 12:36:16 PMD. Rijmenants

Finally I got through! ;-)) Hi again Matt. That was an (globe)expensive blackout! Now about this code: great. The result looks rather simple, but code is all but simple! 5 O's from the competition ;-)
(If this comment was disrespectful, please report it.)

 
6/17/2005 12:44:34 PMMatthew R. Usner

Yeah. After all these years of programming I assumed just because a on-line textbox appears simple, implementing it would be simple also. As you can see from the code and feedback, it didn't turn out that way. Maybe one day I'll learn. But not today... :-) Thanks for the vote Dirk.
(If this comment was disrespectful, please report it.)

 
6/17/2005 12:45:33 PMMatthew R. Usner

^ "One-line", not "on-line". Duh.
(If this comment was disrespectful, please report it.)

 
6/17/2005 1:11:15 PM

Welcome back! :-)
(If this comment was disrespectful, please report it.)

 
6/17/2005 1:11:34 PMJim K

M.R.U

Just excellent. Thank's alot for sharing such outstanding work.

Regards,
Jim K
(If this comment was disrespectful, please report it.)

 
6/17/2005 1:47:53 PMMatthew R. Usner

You're quite welcome... I'm still amazed at the level of interest in this submission. The only explanation I can come up with is because at least it's something that hasn't been seen on PSC a million times before. Just remember I do not have all font issues quite worked out yet. I was just starting to take an in-depth look at the TEXTMETRIC font structure when PSC's upload problem happened. Now I can get back to that. Thanks for the vote and the nice words.
(If this comment was disrespectful, please report it.)

 
6/17/2005 5:28:45 PMLaVolpe

Matt, what font issues? Expand offline & I'm sure I can give you some advice.
(If this comment was disrespectful, please report it.)

 
6/17/2005 5:51:42 PMMatthew R. Usner

Answered offline. Thanks.
(If this comment was disrespectful, please report it.)

 
6/18/2005 7:52:05 AM

Awesome work, thanx for sharing!!! Excelent vote from me.

(If this comment was disrespectful, please report it.)

 
6/18/2005 8:10:23 AM

Stumbled on an error though:
Subscript out of range, through mapping characters. Copy/Paste long string, then change text by code with a shorter string. -->> Error!
I used you code in form Sub Command1_Click.
(If this comment was disrespectful, please report it.)

 
6/18/2005 9:42:56 AMMatthew R. Usner

Yeah I know about that one... I've been frantically trying to get another feature working and I've let it slide temporarily. I'm on it now. Thanks very much for the feedback and the vote.
(If this comment was disrespectful, please report it.)

 
6/18/2005 12:54:36 PMJim Jose

Hi Mathew,

I think i am late to give u the mark. Now u got it.

Congragulations!!! on ur success
(If this comment was disrespectful, please report it.)

 
6/18/2005 1:22:21 PMMatthew R. Usner

Semi-success. I won't consider this complete till I have all the font considerations figured out (which by the way, sports fans, LaVolpe has gotten me on the correct path, so hopefully FAIRLY soon I'll have 'all font in the known universe' capbility!)
Thanks very much Jim!

(If this comment was disrespectful, please report it.)

 
6/19/2005 3:25:30 AMJim Jose

Matt, I found a bug there,

First I selected a text then use backspace to delete it. On undoing it could not retained the text selection and the carent position.

I did a minor check and and I think u should call 'AddToStack' before 'DeleteSelection'

(If this comment was disrespectful, please report it.)

 
6/19/2005 9:12:54 AMMatthew R. Usner

Fixed following bug listed a few comments above: "Copy/Paste long string, then change text by code to a shorter string. -->> Error!"

Jim Jose when I reproduced your situation the text was restored fine. Currently I am not restoring the selection gradient on an undo; perhaps that's what you meant.

(If this comment was disrespectful, please report it.)

 
6/19/2005 11:10:47 AM110100100

Wow. Very nice control. I also enjoyed your gradient container control, great work. Thank you.
(If this comment was disrespectful, please report it.)

 
6/19/2005 1:57:21 PMMatthew R. Usner

Hey thanks 110100100! Check back in a day or two and I'll have an update that can support more fonts.
(If this comment was disrespectful, please report it.)

 
6/20/2005 10:43:46 AMDavid K Richmond

Matthew: Just looking at the code (afterall that's a lot of what psc is about), well structured, easy to read, lots of comments and credits where appropriate. Looks like you have spent a lot of time of this project. 5 from me and well deserved! =[8-)
(If this comment was disrespectful, please report it.)

 
6/20/2005 10:54:59 AMMatthew R. Usner

Ok sports fans, here's my latest. This should allow the caret to track correctly with all fonts (I haven't tested italic thoroughly though). There's a minor event happening when text is selected in some Bold fonts where the selected text gets drawn at a one-pixel offset. However, this is a major step forward for this control and I want to thank LaVolpe for getting me on the right track to correct caret-positioning. The file unzips to a different-named folder so it won't overwrite your existing one.

(If this comment was disrespectful, please report it.)

 
6/20/2005 10:58:01 AMMatthew R. Usner

David K. Richmond - Thanks! I HAVE spent a lot of time on this project. Only 20-25 hours went into the project when I first submitted it. Many more than that afterwards, because of all the positive response. It's a darn good thing I do most of my career work from my home now. Gives me time to play on the clock. Ahem... :-)


(If this comment was disrespectful, please report it.)

 
6/20/2005 12:28:50 PMMatthew R. Usner

Also, a big Thanks to Riccardo, who has helped me with testing.
(If this comment was disrespectful, please report it.)

 
6/20/2005 1:23:56 PMRiccardo Cohen

You are welcome Matthew. Again thanks for sharing such a great control! Love to see your name scintillate in the hall of fame.
Now, I am impatient for the day you come with the MultiLine support. Many Thanx!
(If this comment was disrespectful, please report it.)

 
6/20/2005 11:24:43 PMLaVolpe

Matt glad I could help & congrats on COTM. P.S. The advice I gave is user-friendly for single line text; multiline is more difficult; but doable
(If this comment was disrespectful, please report it.)

 
6/21/2005 4:35:45 AMDavid K Richmond

Matthew: I think you may need a Clipboard.Clear command before any Clipboard.SetText ? I left this out once and occasionally the clipboard would not have the corresponding copied text later when I tried to paste it. =[8-|
(If this comment was disrespectful, please report it.)

 
6/21/2005 8:32:45 AMMatthew R. Usner

OK David I will put that in; I always do when I use the clipboard but I guess I forgot this time. LaVolpe, I ain't won nuttin yet but thanks again for the help.
(If this comment was disrespectful, please report it.)

 
6/21/2005 12:17:17 PMLaVolpe

^^Technicality. The fat lady is clearing her throat.
(If this comment was disrespectful, please report it.)

 
6/22/2005 9:59:57 PMWong Yat Seng

so many comments posted into this submission ... guess i'll just pop by and say hi.
(If this comment was disrespectful, please report it.)

 
6/23/2005 5:46:12 PMMatthew R. Usner

Fixed a glitch reported by one of my
spies that selected text gradient wasn't getting redrawn when the control lost focus, then regained focus using Tab.


(If this comment was disrespectful, please report it.)

 
6/23/2005 9:44:27 PMMatthew R. Usner

Also added a 'Clipboard.Clear' per David K. Richmond's suggestion, thanks David.
(If this comment was disrespectful, please report it.)

 
6/24/2005 10:37:26 PMHeriberto Mantilla Santamaria

Hi Matthew R. Usner this new screenshot is powerful and I see this control is more compatible.

Thanks.

(If this comment was disrespectful, please report it.)

 
6/28/2005 9:37:27 AMMatthew R. Usner

Corrected a very minor glitch that happened when text was selected from right to left with the mouse in very long text. Thanks Riccardo. Glad to see the reports dwindling down; I choose to interpret that as a positive sign that I'm finally getting it right... :-)

(If this comment was disrespectful, please report it.)

 
6/29/2005 2:03:54 AMBrian Matthew Anderson

Matt - noticed our buddy Ilia HD is gone? Maybe Ian actually banned his IP finally. Anyway, a belated 5 globes from me. Not that you'll need it to get COTM or anything - you're only 100 globes ahead of 2nd place...
(If this comment was disrespectful, please report it.)

 
6/29/2005 9:22:31 AMMatthew R. Usner

Thanks for the vote Brian! It all helps feed my massive ego (just kidding).

(If this comment was disrespectful, please report it.)

 
6/30/2005 4:33:08 PMMatthew R. Usner

Added Riccardo Cohen's triple-click code (Or, as Light Templer calls it, "Tribble-Click". I like that better!) It seems to work fine, let me know if there are any issues.
(If this comment was disrespectful, please report it.)

 
7/1/2005 4:17:29 AMJim Jose

Congrats Matt , U did it :-))

Keep up nice working....
(If this comment was disrespectful, please report it.)

 
7/1/2005 8:08:25 AMMatthew R. Usner

Thanks Jim, I'm just lucky you didn't submit your "McCalendar" control earlier in the month. I LOVE that control.
(If this comment was disrespectful, please report it.)

 
7/1/2005 8:10:23 AMMatthew R. Usner

Ahh, I've just noticed you've taken care of that issue for July... Good. You deserve to win with this.
(If this comment was disrespectful, please report it.)

 
7/6/2005 5:57:37 PMRichard Mewett

Congratulations Mr COTM!
(If this comment was disrespectful, please report it.)

 
7/6/2005 6:07:26 PMMatthew R. Usner

I'm... getting all... misty... :-) Thanks for everyone's feedback and votes. Now I can go back to being an a$$hole! j/k.

(If this comment was disrespectful, please report it.)

 
7/7/2005 9:13:32 AMackid32

Hi Matthew R. Usner

Fine code, and it is very useful one for me.

Can you help me to solve one problem.
I want to add a property to enable the ENTER key act like the TAB. (ie. if i press the ENTER Key the focus shift to the next control)
(Now i use keydown event of the VB Textbox to check the key and use sendkeys "{TAB}"

all i want is, is there any simple way to do this with your text.

Thanks

(If this comment was disrespectful, please report it.)

 
7/7/2005 10:23:54 AMMatthew R. Usner

Ackid32, got the message and I'll look into it and see if I can help out here... thanks.
(If this comment was disrespectful, please report it.)

 
7/7/2005 12:31:15 PMD. Rijmenants

Congratulations on your COTM, keep on producing code, the more, the better OOOOOOOOOOOOOOOOOOOOOOOOOOOO ;-))
(If this comment was disrespectful, please report it.)

 
7/7/2005 4:22:40 PMMatthew R. Usner

OK I have added a new property (.EnterEmulateTab). If set to True, the Enter key acts like the Tab key and pushes the focus to the next control. This is good for data entry forms I bet. Note: If you use this, then ALL MorphTextBoxes must also have this property set, or what's the point? :-)

(If this comment was disrespectful, please report it.)

 
7/7/2005 4:24:59 PMMatthew R. Usner

BTW - Thanks to ackid32 for a good idea.
(If this comment was disrespectful, please report it.)

 
7/8/2005 12:07:51 AMackid32

Hi,
Thanks for the quick reply, but using Sendkeys is a problem (it gives some side effects like Numlock light blink, sound - (In my project)). Even i use keybd_event api in my project, when i press ENTER it will skip the next control some times. Im not checking your code with my project yet. i will report any side effects then.

can you suggest a code without the sendkeys? is it possible?

thanks

EnterEmulateTab
If KeyCode = 13 Then
SendKeys "{TAB}"
Exit Sub ' don't pass along KeyDown event.
End If
End If

(If this comment was disrespectful, please report it.)

 
7/10/2005 1:04:20 PMMatthew R. Usner

Well, I'll look into it... I guess you could built a TabOrder list of all controls on a form and perform a .SetFocus method call based on that. That has the advantage of being able to just tab around MorphTextboxes, not all controls, if you wish. But there may be a more elegant way to do it.
(If this comment was disrespectful, please report it.)

 
7/14/2005 3:40:14 AMackid32

HI Matthew R. Usner

im now using ur control with great, it missing
1. Alignment Property (usefull when type numbers or amounts)
2. Validate Event

Thanks

(If this comment was disrespectful, please report it.)

 
7/14/2005 11:12:35 AMMatthew R. Usner

Hi Ackid, does this mean the "Enter key as Tab key" feature is working for you OK? Um, as far as an alignment property, I won't be adding that because it has no place in a scrolling textbox control. And I'll look into the Validate event. Thanks.

(If this comment was disrespectful, please report it.)

 
7/14/2005 9:37:34 PMMatthew R. Usner

Ackid32, I looked into the CausesValidation/Validate event tandem and it seems there is no support for these events in UserControls. It's a great idea and I'll dig deeper to see if there's a way to simulate it, although I have no idea at this point.
(If this comment was disrespectful, please report it.)

 
7/15/2005 1:57:17 AMackid32

hi
thanks for the reply
Im waiting long for a neat Textbox control with all the properties VB has. I found some but not use. Here i came to found that 80% of ur control fulfil my search.

but without these two properties (alignment/validate), im unable to use ur control.

so my wait continues...

any how thanks for your kind replies and wish u a good future.

Thanks
(If this comment was disrespectful, please report it.)

 
7/15/2005 7:18:14 AMVesa Piittinen

Does this support Unicode? That is a one MUST requirement when making VB control replacements (which I see very very rarely...)
(If this comment was disrespectful, please report it.)

 
7/15/2005 10:25:29 AMMatthew R. Usner

ackid32, I haven't given up yet; I'll email you when I have a final answer on the Validate. I don't see why anyone would need Alignment in a variable length text entry field however. It just makes zero sense to me. However, I'll look into it as you're the second person who has inquired into it. Vesa, no Unicode support, but I know who to ask to find out how to incorporate it. Thanks.

(If this comment was disrespectful, please report it.)

 
7/15/2005 4:36:29 PMLibor Blaheta

That means this control won't support Unicode?
(If this comment was disrespectful, please report it.)

 
7/15/2005 5:45:54 PMMatthew R. Usner

Libor, there is no Unicode support yet. However I contacted someone who recently added Unicode support to his control so I will look at some code he sent and see what I have to do. Patience!
(If this comment was disrespectful, please report it.)

 
7/15/2005 5:49:18 PMLibor Blaheta

Ok, thanks ;-)
(If this comment was disrespectful, please report it.)

 
7/17/2005 7:19:44 PMredbird77

Once again, great job! PSC is flipping out a bit when I try to vote, but I'll come back and leave some stars ;)

One idea, though. Something that seems to get overlooked even among the control-authoring greats is the abitlity to create custom categories in the Property Browser window.

Go to Tools -- Procedure Attributes, then click on the "Advanced" button and then choose (or type your own) category.

This would stop all your custom properties from showing up under "Misc".

Keep up the good work!
(If this comment was disrespectful, please report it.)

 
7/17/2005 10:10:21 PMMatthew R. Usner

Thanks for the tip. I totally didn't think of that (a common refrain as you'll see if you actually take to scroll through all the comments!) I still have some work to do (Unicode, Validate), but I'll add your idea to the list! Thanks for the feedback Redbird77.
(If this comment was disrespectful, please report it.)

 
1/13/2006 8:55:57 PMBarf

Awesome Project! Ty Very Much!

I would love to have this in a multiline textbox as well. My graphical problems would be over lol.

Thanks again! That mo-fo is the shizznit! LOL I am sooo no ghetto but I thought that was funny.

Peace
(If this comment was disrespectful, please report it.)

 
1/14/2006 9:11:46 AMOption Explicit

Er, thanks... "Barf"... :) As far as making this multiline, I DO want to do it someday. First I have to clean this version up and make it more efficient. I was so busy incorporating everyone's suggestions (see above feedback) that it came out kinda hodgepodge and could be tweaked for efficiency. Multiline will come eventually but have no idea when - it's a big conversion.
(If this comment was disrespectful, please report it.)

 
1/23/2006 2:47:38 PMSteven Atkiss

Just a BIG THANK YOU. as you know i've been trying to pick up the whole control design thing, with the help of your controls I have been able to gain a good understanding of what I need to do. When I decided it was time to start creating my controls, I have to admit the first place i looked was MORPH.


(If this comment was disrespectful, please report it.)

 
1/24/2006 7:22:48 AMOption Explicit

Nice compliment! Thanks Steven. I'm still learning to do these controls properly, but I'm glad my submissions have helped someone.
(If this comment was disrespectful, please report it.)

 
3/17/2006 10:56:33 PMSomesh Doshy

Great Code 5 star rating
(If this comment was disrespectful, please report it.)

 
3/24/2006 9:58:16 AMjerry123456789

this code is so awesome dude i wish i could give you more than 5
(If this comment was disrespectful, please report it.)

 
3/24/2006 7:01:33 PMOption Explicit

Thanks Somesh and Jerry. It's really not that great of a piece of code imo but it has the advantage of being unique on PSC. I need to update this! :)
(If this comment was disrespectful, please report it.)

 
10/26/2006 1:22:41 PMJavi P. D.

Very good User Control, but Can it be with multiline?
(If this comment was disrespectful, please report it.)

 
10/26/2006 6:29:10 PMOption Explicit

Hi Javi, thanks very much for the feedback and vote. A multiline version of this would be so massively different I would have to basically start from scratch, borrowing parts of this control and placing it into a whole new control. I like to graphically draw everything, so not are we talking just multiline, which will be difficult enough itself, but also ownerdrawn vertical (and maybe horizontal) scrollbars. I have a lot of the necessary code already in other controls (see MorphListBox for an example of graphical vertical scrollbar) but haven't yet attempted to put it all together for a multiline MorphTextBox. I want to do it and will as soon as possible.
(If this comment was disrespectful, please report it.)

 
4/8/2007 10:14:29 AMOption Explicit

I was on VBCity a few weeks ago and helped someone with a problem they were having with the intrinsic VB textbox .Validate property. Noticed this did not have a comparable property so I added one. I look at this code and sigh because it's pretty sloppily written; however it was one of my first submissions so I guess it's acceptable ;) One of these days I'm gonna rewrite this whole thing... but not today.
(If this comment was disrespectful, please report it.)

 
4/9/2007 3:25:47 PMpietro ing. cecchi

@ Option Explicit

I have the code to add unicode support to this nice text box!
Write to my email:
pietrocecchi@inwind.it

5 globes from me
(If this comment was disrespectful, please report it.)

 
4/9/2007 5:24:01 PMOption Explicit

Petro, replied off line about Unicode. Thanks for the vote; that give me 60! I am still amazed by the response to this control; it is not one of my best coding efforts and I thought MorphListBox would have bested it in the voter log. But apparently this textbox struck a chord with a lot of people here. Thanks everyone for all the suggestions and support.
(If this comment was disrespectful, please report it.)

 
4/14/2007 4:44:36 PMOption Explicit

Pietro Cecchi has kindly provided some test code so (hopefully) this textbox is on its way to providing Unicode support. I would very much appreciate it if those PSC users whose languages depend on Unicode would try this out and provide feedback. It's in a separate folder from the normal MorphTextBox control. THANK YOU PIETRO for working so hard on this.
(If this comment was disrespectful, please report it.)

 
4/14/2007 6:59:19 PMOption Explicit

By the way, yes I am aware of RightToLeft issues. I am more interested at this point how the characters display and manipulate, and I will worry about fully implementing RightToLeft at some future point in time. Just thought I'd head some of you guys off at the pass :)
(If this comment was disrespectful, please report it.)

 
4/16/2007 6:23:04 AMJorgen Levesen

Hi there,
Exelent work as far as I can see. The control is working fine in your test project - but when trying in one of my programes I get the error:
"Type mismatch" in the line:
Set m_Font = Ambient.Font.
Do you have any idea what to do ?

Kind regards
Jorgen
(If this comment was disrespectful, please report it.)

 
4/18/2007 4:53:23 PMHeriberto Mantilla Santamaria

Hi Matt, wow now you incorpore the Unicode text, is possible add the menu Matt?
(If this comment was disrespectful, please report it.)

 
4/18/2007 5:55:05 PMOption Explicit

Hi Heriberto. If I develop ownerdrawn context menus, it will be submitted as a separate project (a class, so that it can be attached to anything). I can create a virtual window and paint to it (see MorphRangeRoamer for an example of that). But I need to subclass that virtual window also, and I'm having a tough time working that out.
(If this comment was disrespectful, please report it.)

 
4/19/2007 9:50:52 AMMoisii Norbert

5*
(If this comment was disrespectful, please report it.)

 
12/16/2008 12:16:29 PMChris

Fantastic, the Unicode support is a great bonus. Thanks a million!
(If this comment was disrespectful, please report it.)

 
9/28/2009 9:03:38 AM

absolutely great!
(If this comment was disrespectful, please report it.)

 
7/12/2011 3:42:18 PM

I may desire to incorporate some of the morphlistbox code into my project (which I try to sell).
May I have permission given credits to your name ?
Thx in advance,
RJ

(If this comment was disrespectful, please report it.)

 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular code, please click here instead.)
 

To post feedback, first please login.