mIRC Home    About    Download    Register    News    Help

Print Thread
Emoticon Support via DLL? #101148
20/10/04 06:17 PM
20/10/04 06:17 PM
Joined: Aug 2004
Posts: 24
B
Biggles Offline OP
Ameglian cow
Biggles  Offline OP
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
20/10/04 06:46 PM
Joined: Jul 2003
Posts: 742
Ohio, U.S.A.
MTec89 Offline
Hoopy frood
MTec89  Offline
Hoopy frood

Joined: Jul 2003
Posts: 742
Ohio, U.S.A.
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
20/10/04 06:55 PM
Joined: Aug 2004
Posts: 24
B
Biggles Offline OP
Ameglian cow
Biggles  Offline OP
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
21/10/04 02:41 AM
Joined: Mar 2003
Posts: 187
S
Soul_Eater Offline
Vogon poet
Soul_Eater  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
21/10/04 02:54 AM
Joined: Oct 2004
Posts: 11
C
Chesso Offline
Pikka bird
Chesso  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
21/10/04 11:05 AM
Joined: Aug 2004
Posts: 24
B
Biggles Offline OP
Ameglian cow
Biggles  Offline OP
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
21/10/04 11:49 AM
Joined: Oct 2004
Posts: 11
C
Chesso Offline
Pikka bird
Chesso  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
21/10/04 01:33 PM
Joined: Aug 2004
Posts: 24
B
Biggles Offline OP
Ameglian cow
Biggles  Offline OP
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
21/10/04 04:16 PM
Joined: Dec 2002
Posts: 89
N
Necroman Offline
Babel fish
Necroman  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
22/10/04 02:46 AM
Joined: Oct 2004
Posts: 11
C
Chesso Offline
Pikka bird
Chesso  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
02/11/04 12:51 AM
Joined: Dec 2002
Posts: 37
O
oracel Offline
Ameglian cow
oracel  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
05/11/04 02:33 AM
Joined: May 2003
Posts: 79
Quebec, Canada
A
Artwerks Offline
Babel fish
Artwerks  Offline
Babel fish
A

Joined: May 2003
Posts: 79
Quebec, Canada
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
07/11/04 05:09 AM
Joined: May 2003
Posts: 79
Quebec, Canada
A
Artwerks Offline
Babel fish
Artwerks  Offline
Babel fish
A

Joined: May 2003
Posts: 79
Quebec, Canada
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
11/11/04 10:57 PM
Joined: Mar 2003
Posts: 187
S
Soul_Eater Offline
Vogon poet
Soul_Eater  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
12/11/04 04:28 AM
Joined: Aug 2004
Posts: 24
B
Biggles Offline OP
Ameglian cow
Biggles  Offline OP
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
12/11/04 12:00 PM
Joined: Dec 2002
Posts: 2,984
Hill End, NSW, Australia
Watchdog Offline
Hoopy frood
Watchdog  Offline
Hoopy frood

Joined: Dec 2002
Posts: 2,984
Hill End, NSW, Australia
Souleater has always been a very welcoming chap.


Induced IRC
irc.induced.net
Re: Emoticon Support via DLL? [Re: Biggles] #185053
04/09/07 08:02 AM
04/09/07 08:02 AM
Joined: Sep 2007
Posts: 32
Neverlands
S
SplitFire Offline
Ameglian cow
SplitFire  Offline
Ameglian cow
S

Joined: Sep 2007
Posts: 32
Neverlands
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
11/02/08 03:58 PM
Joined: Mar 2006
Posts: 393
New South Wales, Australia
T
The_JD Offline
Fjord artisan
The_JD  Offline
Fjord artisan
T

Joined: Mar 2006
Posts: 393
New South Wales, Australia
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)