mIRC Home    About    Download    Register    News    Help

Print Thread
#101148 20/10/04 06:17 PM
B
Biggles
Biggles
B
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'.

Joined: Jul 2003
Posts: 733
M
Hoopy frood
Offline
Hoopy frood
M
Joined: Jul 2003
Posts: 733
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.
B
Biggles
Biggles
B
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

Joined: Mar 2003
Posts: 187
S
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

C
Chesso
Chesso
C
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.

B
Biggles
Biggles
B
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.

C
Chesso
Chesso
C
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.

B
Biggles
Biggles
B
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.


N
Necroman
Necroman
N
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.

C
Chesso
Chesso
C
That sounds like a much better idea.

O
oracel
oracel
O
Take a look at imgmirc, which does exactly what you are talking about.

Joined: May 2003
Posts: 79
A
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.
Joined: May 2003
Posts: 79
A
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^).


Joined: Mar 2003
Posts: 187
S
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

B
Biggles
Biggles
B
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.
Joined: Dec 2002
Posts: 2,958
W
Hoopy frood
Offline
Hoopy frood
W
Joined: Dec 2002
Posts: 2,958
Souleater has always been a very welcoming chap.

S
SplitFire
SplitFire
S
an old MSN thingie of mine, uses SmiliesView.dll:


Joined: Mar 2006
Posts: 392
T
Pan-dimensional mouse
Offline
Pan-dimensional mouse
T
Joined: Mar 2006
Posts: 392
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)

Link Copied to Clipboard