mIRC Home    About    Download    Register    News    Help

Print Thread
Emoticon Support via DLL? #101148 20/10/04 06:17 PM
Joined: Aug 2004
Posts: 24
B
Biggles Offline OP
Ameglian cow
OP Offline
Ameglian cow
B
Joined: Aug 2004
Posts: 24
Obviously this not a thread about the pro's and cons of emoticons in mIRC.

Also this is not a thread requesting a C++ tutorial.

Though I am genuinly interested to hear from fellow mIRC DLL programmers, About how conceptuallly, I should approach the very complex task of adding emoticon support to mIRC via a DLL.

Obviously I do not want to override mIRCs features. If I was happy with a sloppy implementation i would use a custom window+NHTML or a pic window or something else.

I am wanting to develop true emoticon support with perfect integration - This means none of mIRC's display and scripting features are overriden or 'relocated'.

Re: Emoticon Support via DLL? #101149 20/10/04 06:46 PM
Joined: Jul 2003
Posts: 742
MTec89 Offline
Hoopy frood
Offline
Hoopy frood
Joined: Jul 2003
Posts: 742
well i imagine that you need to use some kind of advanced edit box in place of mircs chat edit box (and not just the edit box where you type :P)

Last edited by MTec89; 20/10/04 06:46 PM.

http://MTec89Net.com
irc.freenode.net #MTec89Net
Re: Emoticon Support via DLL? #101150 20/10/04 06:55 PM
Joined: Aug 2004
Posts: 24
B
Biggles Offline OP
Ameglian cow
OP Offline
Ameglian cow
B
Joined: Aug 2004
Posts: 24
Hello,

Thanks for your reply, But this is the kind of solution I would want to avoid. It would override just about every single display feature mIRC has. It's the easy and ugly way to do it.

What i am looking for is way of manipulating the existing control and drawing the images onto it. I am not interested in slapping another control over the top of it.

Yes I know how to sbuclass a window and intercept messages and work with ownerdrawn controls... Anybody who has attempted this would know it is not so simple.

If you don't care about preserving features and seamless integration then i guess it is all very easy. But I want to do this properly.

wink

Re: Emoticon Support via DLL? #101151 21/10/04 02:41 AM
Joined: Mar 2003
Posts: 187
S
Soul_Eater Offline
Vogon poet
Offline
Vogon poet
S
Joined: Mar 2003
Posts: 187
you might be interested to know that mirc actually uses an advanced editbox. It's called a "richedit".

I make use of it in my DLL here:
http://www.mircscripts.org/comments.php?cid=2357

There are ways on how to use emoticsons at codeguru.com

Re: Emoticon Support via DLL? #101152 21/10/04 02:54 AM
Joined: Oct 2004
Posts: 11
C
Chesso Offline
Pikka bird
Offline
Pikka bird
C
Joined: Oct 2004
Posts: 11
Putting emoti's in a RichEdit is easy ive done it ind elphi for smallc hat application but in this case all you really need is the handle to mIRC's richedit to smack it in their.

Re: Emoticon Support via DLL? #101153 21/10/04 11:05 AM
Joined: Aug 2004
Posts: 24
B
Biggles Offline OP
Ameglian cow
OP Offline
Ameglian cow
B
Joined: Aug 2004
Posts: 24
Thanks for that guys,

Though, I'm not really interested in the box that you type in... I'm interested in manipulating the actual windows...

Chesso, Yep, Though khaled doesn't use a RichEdit for the channel windows, Only for the editbox - I'm not really interested in having images displayed there.

Re: Emoticon Support via DLL? #101154 21/10/04 11:49 AM
Joined: Oct 2004
Posts: 11
C
Chesso Offline
Pikka bird
Offline
Pikka bird
C
Joined: Oct 2004
Posts: 11
Where do you want the images displayed?

Normal Editbox/memobox same thing really don't support ole objects but richedit's do like msn msgr uses except im sure they use their own custom made one.

Re: Emoticon Support via DLL? #101155 21/10/04 01:33 PM
Joined: Aug 2004
Posts: 24
B
Biggles Offline OP
Ameglian cow
OP Offline
Ameglian cow
B
Joined: Aug 2004
Posts: 24
mIRC uses a custom drawn static control for channel windows etc, The images would have to be drawn on by the DLL along with the text.

This is where it get's tricky not to override mIRC's display and scripting features. And why a novel and unique approach is required, Which is really why I am asking here, I can't get my head around the best way to approach it. Infact I am starting to think this is not possible.


Re: Emoticon Support via DLL? #101156 21/10/04 04:16 PM
Joined: Dec 2002
Posts: 89
N
Necroman Offline
Babel fish
Offline
Babel fish
N
Joined: Dec 2002
Posts: 89
Everything is possible and everything has its cost.

Let's suppose you've spent a year at reverse engineering and finally succeeded. Then a new version of mIRC gets released and breaks your brilliant hack completely. In fact, this has happened to many.

Your only realistic option is to convince Khaled to export some officially supported API to control channel windows. Basically, it would be a request to make mIRC modular - as other people will want another API to control the script editor (for advanced syntax highlighting), to control the UI (for internationalization), and so on.

Do you believe that it's likely to happen?

It appears to me that mIRC's monolithic architecture and development model are the primary reasons behind its sluggish progress.


Sincerely,
Necroman, #mIRC @ Undernet
Re: Emoticon Support via DLL? #101157 22/10/04 02:46 AM
Joined: Oct 2004
Posts: 11
C
Chesso Offline
Pikka bird
Offline
Pikka bird
C
Joined: Oct 2004
Posts: 11
That sounds like a much better idea.

Re: Emoticon Support via DLL? #101158 02/11/04 12:51 AM
Joined: Dec 2002
Posts: 37
O
oracel Offline
Ameglian cow
Offline
Ameglian cow
O
Joined: Dec 2002
Posts: 37
Take a look at imgmirc, which does exactly what you are talking about.


Bloop
Re: Emoticon Support via DLL? #101159 05/11/04 02:33 AM
Joined: May 2003
Posts: 79
A
Artwerks Offline
Babel fish
Offline
Babel fish
A
Joined: May 2003
Posts: 79
If you want to keep mIRC's display, and add emoticons to it, you can try out this addon by bub325 : Here. In order to make it work, you'll need to use a theme system you've coded, or a theme standard such as XTS or MTS.

Last edited by Artwerks; 05/11/04 02:34 AM.
Re: Emoticon Support via DLL? #101160 07/11/04 05:09 AM
Joined: May 2003
Posts: 79
A
Artwerks Offline
Babel fish
Offline
Babel fish
A
Joined: May 2003
Posts: 79
Also, if you want to see what I'm currently coding, I joined an image of it. I coded this into html using tags for the rendering. It's using js to display the html code without reloading (with nHTML.dll modified by FoLKeN^).


Re: Emoticon Support via DLL? #101161 11/11/04 10:57 PM
Joined: Mar 2003
Posts: 187
S
Soul_Eater Offline
Vogon poet
Offline
Vogon poet
S
Joined: Mar 2003
Posts: 187
it's been done. you need to learn how to search:



HTML Channel-Wrapper, using nhtmln.dll by me:
http://www.scriptsdb.org/comments.php?id=801

and a smiley viewer by Bub:
http://www.scriptsdb.org/comments.php?id=788

Its incredibly simple to do

Re: Emoticon Support via DLL? #101162 12/11/04 04:28 AM
Joined: Aug 2004
Posts: 24
B
Biggles Offline OP
Ameglian cow
OP Offline
Ameglian cow
B
Joined: Aug 2004
Posts: 24
Quote:

It's been done. you need to learn how to search


No need to give me the attitude. I said quite clearly that I was not after a solution like that.

Anyway the imgmirc.dll solution provided by Oracel is the best solution for emoticons in mIRC, IMO. It fulfills all the criteria I outlined in my post, Thank you Oracel.

FYI: The imgmirc.dll uses a very clever IAT patching technique which patches the TextOut API. Pretty clever huh?

Last edited by Biggles; 12/11/04 04:33 AM.
Re: Emoticon Support via DLL? #101163 12/11/04 12:00 PM
Joined: Dec 2002
Posts: 2,985
Watchdog Offline
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 2,985
Souleater has always been a very welcoming chap.

Re: Emoticon Support via DLL? [Re: Biggles] #185053 04/09/07 08:02 AM
Joined: Sep 2007
Posts: 32
S
SplitFire Offline
Ameglian cow
Offline
Ameglian cow
S
Joined: Sep 2007
Posts: 32
an old MSN thingie of mine, uses SmiliesView.dll:



on me:*:JOIN:#: { .raw part # $crlf join # }
Re: Emoticon Support via DLL? [Re: SplitFire] #194766 11/02/08 03:58 PM
Joined: Mar 2006
Posts: 393
T
The_JD Offline
Fjord artisan
Offline
Fjord artisan
T
Joined: Mar 2006
Posts: 393
I had something very similar... I think eXonyte is working on the same kind of thing using nHTLMn with execscript support.

I think the best option here would be to try and convince khaled to use richedit for the main mIRC window. wink

Edit: Just requested in feature suggestions!

Last edited by The_JD; 11/02/08 07:46 PM.

[02:16] * Titanic has quit IRC (Excess Flood)