How would I go about skinning another program? I know this is a dumb question to ask, but I just want a general answer, what API functions would I be looking for? (gdi32 I'm pretty sure).
So far, I'v been trying to skin AIM, I have taken a DX project (vb) and made it blt to the AIM window, this comes out ugly and very slow, but I think this is the basic idea?
Posted on 2003-06-26 16:27:33 by KewLexX
I think you could subclass your target app and skin it as if it was your application.

PS: I'm not sure about the grammatical correctness of this sentence... I hope you can understand :grin:.
Posted on 2003-06-26 16:50:23 by LuHa
I understand the sentance but I don't know how to do that yet :) How would I skin my own app, what API functions would I be looking for
Posted on 2003-06-26 22:56:50 by KewLexX
Mostly BitBlt :D

BitBlt one item after another where you want it... BackGround, Buttons etc... Check with mousepos where User clicked and respond accordingly...

Using the term 'skin' you want to be flexible and don't include any bitmaps (or jpgs or whatever) into your rscs section. Keep them separate like in a folder you create or deliver upon install... Load the Default 'skin' or the User choosen one (Registry) and paint them on an empty window.

Start easy... BitBlt some item on 50,50 in an empty window during WM_PAINT and try intercepting WM_MOUSEDOWN and check where the mousepos is.. (lparam or wParam) - See if it's inwithin the 50,50 + lenght and width of the item you painted and create a MessageBox. Then start looking into how to use DC's (CreateCompatibleDC and so on...) (snippet section) which helps you load bitmaps into DC's or create DC's]

After that it's always the same... Paint it on the window and intercept the mouse and react correctly to it's clicks.
Posted on 2003-06-26 23:39:30 by JimmyClif
Nice reply, thanks
Posted on 2003-06-27 00:44:25 by KewLexX