Sign in to follow this  
Followers 0
Onoitsu2

AutoIt3 Tooltip Support

8 posts in this topic

I am inquiring about how AutoIt3 is able to bypass the 80 byte limit that MFC forces upon tooltips. I am asking this on behalf of the MUSHclient users of the world, and the author of the wonderful Mushing program, Nick Gammon. If the source for that function call, or however it is done to bypass the 80 bytes could be posted, e-mailed, or simply if where that information was located could be passed along then myself and all of the users of that program would be most grateful and of course credits would be given where due.

Thank you...

-Onoitsu2


Things I have made:[font="Trebuchet Ms"]_CheckTimeBlock UDF(LT)MOH Call Ignore List (MOH = Modem On Hold)[/font]

Share this post


Link to post
Share on other sites



Hmm, sending me a personal email and asking on the forum? Tsk tsk.

The answer is: We do nothing to bypass it. I wasn't aware of the limit and I did not write any code to get around any limit. The function is rather unremarkable. The only thing I can suggest is don't use MFC.

Also, don't ask for the source. If we wanted you to have the source code for the ToolTip function... you would have the source for the ToolTip function. As unremarkable as it may be, it's still part of a closed source application. Respect that and don't ask for the source.

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Wow how ... umm what is the word ... well a nice one is "harsh" when there are several other rather better suited ones.

Please do not take offense at my request, it was not an order, it should have been taken as a compliment as your code is quite great to not have that limitation.

As per the not using MFC, well it is a lot too late for that, the program has used it for several years.

As per the E-Mail and forums, I was not sure how long ago that was your current e-mail, so I tried my luck at both, hoping that either would reach you Valik. I fully understand that it is a closed source program, but at the very least you might be able to point me to a site that was perhaps your inspiration for the tooltip code. All of the examples I've located still have the hard limit.

The following code lets you fire off a tooltip from AutoIt that is 1817 characters long, this was my reason for asking for the code of that function.

$message = ""
for $i=1 to 98
    $message = $message & 1
Next
ToolTip($message&"01" & @CR&$message&"02" & @CR&$message&"03" & @CR&$message&"04" & @CR&$message&"05" & @CR&$message&"06" & @CR&$message&"07" & @CR&$message&"08" & @CR&$message&"09" & @CR&$message&"10" & @CR&$message&"11" & @CR&$message&"12" & @CR&$message&"13" & @CR&$message&"14" & @CR&$message&"15" & @CR&$message&"16" & @CR&$message&"17" & @CR&$message&"18",0,0)
Sleep(5000)

Sorry if I offended, even though that should not have. And people ask for sources for things all the time, for nearly every program, and a simple NO would suffice.

The forums, since my last being actively involved seems to have lost its... for lack of a better wording Forum Etiquette that it usually stood up to.

-Onoitsu2

Edited by Valik
Caused code to wrap. Obnoxiously long lines suck.

Things I have made:[font="Trebuchet Ms"]_CheckTimeBlock UDF(LT)MOH Call Ignore List (MOH = Modem On Hold)[/font]

Share this post


Link to post
Share on other sites

Wow how ... umm what is the word ... well a nice one is "harsh" when there are several other rather better suited ones.

You're right, there are better suited words. Harsh is over-stating it by quite a lot. However, if you wish to apply harsh to this post, feel free, it's more appropriate.

Please do not take offense at my request, it was not an order,

Offense? Please.

it should have been taken as a compliment as your code is quite great to not have that limitation.

Except for the fact that my code is unremarkable and does nothing special at all. I have much more clever code in other places that are far more deserving of compliments than some stock code.

As per the not using MFC, well it is a lot too late for that, the program has used it for several years.

It would not be difficult to write a drop-in replacement around Tooltips. Assuming you can isolate why the limitation is in place.

As per the E-Mail and forums, I was not sure how long ago that was your current e-mail, so I tried my luck at both, hoping that either would reach you Valik. I fully understand that it is a closed source program, but at the very least you might be able to point me to a site that was perhaps your inspiration for the tooltip code. All of the examples I've located still have the hard limit.

I read MSDN.

The following code lets you fire off a tooltip from AutoIt that is 1817 characters long, this was my reason for asking for the code of that function.

$message = ""
   for $i=1 to 98
       $message = $message & 1
   Next
   ToolTip($message&"01" & @CR&$message&"02" & @CR&$message&"03" & @CR&$message&"04" & @CR&$message&"05" & @CR&$message&"06" & @CR&$message&"07" & @CR&$message&"08" & @CR&$message&"09" & @CR&$message&"10" & @CR&$message&"11" & @CR&$message&"12" & @CR&$message&"13" & @CR&$message&"14" & @CR&$message&"15" & @CR&$message&"16" & @CR&$message&"17" & @CR&$message&"18",0,0)
   Sleep(5000)
I've changed the code so that it wraps. In the future please refrain from posting such obnoxiously long lines. Nobody likes scrolling horizontally just to read text.

Sorry if I offended, even though that should not have. And people ask for sources for things all the time, for nearly every program, and a simple NO would suffice.

Except for the fact that AutoIt is closed source. It should be pretty obvious that if we are closed source then there is an implied "no". Otherwise... we wouldn't be closed source, now would we?

The forums, since my last being actively involved seems to have lost its... for lack of a better wording Forum Etiquette that it usually stood up to.

You dare talk about etiquette? You, the person who has both created a thread and contacted me privately wish to talk about etiquette? You, the person who asked to see part of the source to a closed source application want to talk about etiquette? That's called hypocrisy.

You set the tone of my response with your behavior. Had you sent this message to only one location you would have found me softer. Likewise, had you not asked for the source code to a closed source program I would have been softer still. So the only person you have to blame for the perceived lack of forum etiquette is yourself.

Finally, AutoIt is not doing anything special. I send the ToolTip messages in the documented ways. I don't use MFC. I read nothing more than MSDN. Whatever is happening is happening outside my control because I am doing nothing to bypass any limit.

Share this post


Link to post
Share on other sites

You set the tone of my response with your behavior. Had you sent this message to only one location you would have found me softer. Likewise, had you not asked for the source code to a closed source program I would have been softer still. So the only person you have to blame for the perceived lack of forum etiquette is yourself.

If the source for that function call, or however it is done to bypass the 80 bytes could be posted, e-mailed, or simply if where that information was located could be passed along then myself and all of the users of that program would be most grateful and of course credits would be given where due.

I asked plain and simply, and not only for the source code, but if that was not an option then perhaps the location you found out how to accomplish that. Well in your first posting, you did not state you only used MSDN, yet in your second, and apparently more brazen posting did state that, so I must thank you whole-heartedly about that, as you answered my question, even if I am being chewed out for simply covering my bases, as I was unsure if your e-mail was valid, or if someone else, other than you, Valik, would be able to answer my question. The forum posting was not directed to only yourself, so please stop getting all huffy about it, nowhere in it did I mention Valik please reply. I simply asked a question, and was not answered in any manner of the word, until your final posting. Now that I have my answer this will probably be the last question I EVER ask on this forum. I love the program, still using v3.1.1.123 (beta), as I've not needed anything more recent for what I do, which is Auto-Installers mostly.

If this is the overall attitude of the developers as a whole it is a shame that since my joining in 2006 it has diminished to such extremes. I remember when you could ask a question and be met with near a dozen answers, and most of those being edited to say "dang such and such beat me to it, fast typist" or something similar.

Again thank you for AutoIt, it is a great program, and thank you for the answer of MSDN only. I will have to fight my way through that horrid excuse for a site, and locate a non-MFC tooltip usage, for VC6.

-Onoitsu2


Things I have made:[font="Trebuchet Ms"]_CheckTimeBlock UDF(LT)MOH Call Ignore List (MOH = Modem On Hold)[/font]

Share this post


Link to post
Share on other sites

I asked plain and simply, and not only for the source code, but if that was not an option then perhaps the location you found out how to accomplish that. Well in your first posting, you did not state you only used MSDN, yet in your second, and apparently more brazen posting did state that, so I must thank you whole-heartedly about that, as you answered my question, even if I am being chewed out for simply covering my bases, as I was unsure if your e-mail was valid, or if someone else, other than you, Valik, would be able to answer my question. The forum posting was not directed to only yourself, so please stop getting all huffy about it, nowhere in it did I mention Valik please reply. I simply asked a question, and was not answered in any manner of the word, until your final posting. Now that I have my answer this will probably be the last question I EVER ask on this forum. I love the program, still using v3.1.1.123 (beta), as I've not needed anything more recent for what I do, which is Auto-Installers mostly.

If you were going to ask on the forum, DON'T FUCKING EMAIL ME. That's the point you bloody git. Asking something where it can be publicly seen and contacting somebody privately about it is a very big no-no. It's rude and inconsiderate? Why? Because I was most of the way done writing the email to you when I noticed you posted on the forum. So basically I wasted several minutes writing something I ended up not using. Bet you didn't think of stuff like that, did you?

As for mentioning MSDN. Honestly? Do I have to? I mean for fuck's sake, this is the Windows API. If I have to explicitly mention I read MSDN then you need to just find something else to do if you can't work that one out on your own.

If this is the overall attitude of the developers as a whole it is a shame that since my joining in 2006 it has diminished to such extremes. I remember when you could ask a question and be met with near a dozen answers, and most of those being edited to say "dang such and such beat me to it, fast typist" or something similar.

Congratulations on being yet another stupid fuck who thinks an individual is representative of a group. Now let me make a similarly asinine generalization to get through to you how stupid your comment is: All people except me are stupid because you (who is not me) is stupid. See how that works? I'm making a generalization about your peers based upon your actions. Is that fair or intelligent? Nope, it's stupid. So here's a thought: Thinks of people as individuals and get over some stupid-ass fixation on a title. I am a complete asshole. Stop the presses, Valik is an asshole. Are the other developers? No. But I think they have a right to be an asshole to you after your idiotic attempt to lump them into the same asshole category as me.

Here's a thought: Use your goddamn brain. This is doubly true when you attempt to deal with somebody as mercurial as myself. Getting all whiny-bitchy because I was a bit terse with you is the fastest way to get reamed. Here's another thought: Look at what somebody says, not at how they say it. You'll find your experience dealing with others much more pleasant when you don't allow people like myself manipulate your reactions by word-choice. You got your answer, but you couldn't keep your word-hole shut with regards to the way you got your answer. Tsk tsk.

Share this post


Link to post
Share on other sites

I am a complete asshole. Stop the presses, Valik is an asshole.

Well I never assume anyone is one until, well they are, and your admitting it is well a very fresh thing on the internet in my experience, and I've been on the web since AOL 1.1. I am sorry if I was also snippy, but well as you stated you are an asshole, and I did not believe you to be one at first, giving you the benefit of the doubt, but now there is no doubt, and I am actually satisfied how this turned out, as I believe I too was wrong in having gotten huffy about this as well. As for MSDN, I was hoping there was another location you looked at, one of the other coding websites, as the MSDN, as I stated was garbage.

Thank you again Valik for at least wasting some time on me, and your willingness to admit that trait being unique to yourself is a nice thing to know, and I am sorry for making such an assumption of the other admins. Was just surprised that the mood had changed, must have never had assistance from you in the past then.

I hope you have a less annoying day tomorrow than I provided ....

-Onoitsu2


Things I have made:[font="Trebuchet Ms"]_CheckTimeBlock UDF(LT)MOH Call Ignore List (MOH = Modem On Hold)[/font]

Share this post


Link to post
Share on other sites

Temper, temper guys :D

As for the problem:

Why not split the 1800+ character string into 80 character pieces?

Then you can show them one by one until the whole strings has been shown.

If you can change the tooltip text while it's showing, you can let it "scroll" horizontally like those electronical LED boards.

I don't know much about MFC as I'm really a .NET programmer, but these are just some of my ideas.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0