1. Colour Cursors
- Posted by chrissy <tubby.toast at NTLWORLD.COM> Sep 06, 2000
- 528 views
Hello, I'm trying to use colour cursors in my windows program (rather than just the monochrome ones win32lib allows). I've never messed around with low level Windows stuff before though so inevitably it hasn't worked. Can anyone tell me where I've gone wrong? Thanks, chris. include win32lib.ew --version 0.45r constant fIcon=allot(Long), xHotspot=allot(DWord), yHotspot=allot(DWord), hbmMask=allot(Long), hbmColor=allot(Long), SIZEOF_ICONINFO=allotted_size(), , main=create(Window,"My Window",0,Default,Default,330,330,0) atom struc_pt, bmp_pt, mask_pt, cursor_pt struc_pt=allocate_struct(SIZEOF_ICONINFO) bmp_pt=loadBitmapFromFile("cursor.bmp") mask_pt=loadBitmapFromFile("mask.bmp") store(struc_pt,xHotspot,1) store(struc_pt,yHotspot,1) store(struc_pt,hbmMask,mask_pt) store(struc_pt,hbmColor,bmp_pt) cursor_pt=c_func(xCreateIconIndirect,{struc_pt}) trackCursor(cursor_pt) --shouldn't this be documented by the way? procedure onOpen_main() setMousePointer(main,cursor_pt) end procedure onOpen[main]=routine_id("onOpen_main") WinMain(main,Normal)
2. Re: Colour Cursors
- Posted by chrissy <tubby.toast at NTLWORLD.COM> Sep 06, 2000
- 543 views
------=_NextPart_000_003D_01C0183C.D51FA860 charset="iso-8859-1" Oh and here are the files mentioned in the code - just squiggles to see if it works, really. chris. > Hello, > I'm trying to use colour cursors in my windows program (rather than just the > monochrome ones win32lib allows). I've never messed around with low level > Windows stuff before though so inevitably it hasn't worked. Can anyone tell > me where I've gone wrong? > > Thanks, > chris. ------=_NextPart_000_003D_01C0183C.D51FA860 name="cursor.zip"
3. Re: Colour Cursors
- Posted by =?iso-8859-1?B?U2tvZGE=?= <tone.skoda at SIOL.NET> Sep 07, 2000
- 520 views
i tried to help you but it seems it's pretty complicated thing, again one of those windows complicated things, like so many.
4. Re: Colour Cursors
- Posted by chrissy <tubby.toast at NTLWORLD.COM> Sep 07, 2000
- 511 views
> i tried to help you but it seems it's pretty complicated thing, again one of > those windows complicated things, like so many. > Oh well, thanks to anyone who had a look at it. Since this looks too difficult, I thought about loading the cursor from a .cur file instead. However, I haven't managed to get further than this:- include win32lib.ew constant ER) For some reason I get an error message saying it can't link to LoadCursorFromFile. I can't understand it. I'm using the WinAPI help file linked to by the RDS site and that lists this function. What's going on? chris.
5. Re: Colour Cursors
- Posted by chrissy <tubby.toast at NTLWORLD.COM> Sep 07, 2000
- 540 views
- Last edited Sep 08, 2000
Oooh I've got it working! I downloaded a DLL viewer and found that there was no LoadCursorFromFile in user32.dll - but there was a LoadCursorFromFileA (which works) and a LoadCursorFromFileW (which doesn't). What's the difference between them and why do you have to go to such methods to find out what they're *actually* called? Anyway here's a demo for the curious. --begin tested code include win32lib.ew constant TER), main=create(Window,"My Window",0,Default,Default,330,330,0) atom str, hcursor str=allocate_string("mycursor.cur") hcursor=c_func(xLoadCursorFromFile,{str}) free(str) trackCursor(hcursor) procedure onOpen_main() setMousePointer(main,hcursor) end procedure onOpen[main]=routine_id("onOpen_main") WinMain(main,Normal) --end chris. > Oh well, thanks to anyone who had a look at it. Since this looks too > difficult, I thought about loading the cursor from a .cur file instead. > However, I haven't managed to get further than this:- > > include win32lib.ew > constant > > ER) > > For some reason I get an error message saying it can't link to > LoadCursorFromFile. I can't understand it. I'm using the WinAPI help file > linked to by the RDS site and that lists this function. What's going on? > > chris. >
6. Re: Colour Cursors
- Posted by Derek Parnell <dparnell at BIGPOND.NET.AU> Sep 08, 2000
- 531 views
The "A" version is for ASCII and the "W" is for Unicode (Wide-characters). ----- Original Message ----- From: "chrissy" <tubby.toast at NTLWORLD.COM> To: <EUPHORIA at LISTSERV.MUOHIO.EDU> Sent: Friday, September 08, 2000 7:55 AM Subject: Re: Colour Cursors > Oooh I've got it working! I downloaded a DLL viewer and found that there > was no LoadCursorFromFile in user32.dll - but there was a > LoadCursorFromFileA (which works) and a LoadCursorFromFileW (which doesn't). > What's the difference between them and why do you have to go to such methods > to find out what they're *actually* called? Anyway here's a demo for the > curious. > > --begin tested code > include win32lib.ew > > constant > > TER), > main=create(Window,"My Window",0,Default,Default,330,330,0) > > atom str, hcursor > str=allocate_string("mycursor.cur") > hcursor=c_func(xLoadCursorFromFile,{str}) > free(str) > trackCursor(hcursor) > > procedure onOpen_main() > setMousePointer(main,hcursor) > end procedure > onOpen[main]=routine_id("onOpen_main") > > WinMain(main,Normal) > --end > > chris. > > > Oh well, thanks to anyone who had a look at it. Since this looks too > > difficult, I thought about loading the cursor from a .cur file instead. > > However, I haven't managed to get further than this:- > > > > include win32lib.ew > > constant > > > > > ER) > > > > For some reason I get an error message saying it can't link to > > LoadCursorFromFile. I can't understand it. I'm using the WinAPI help > file > > linked to by the RDS site and that lists this function. What's going on? > > > > chris. > >
7. Re: Colour Cursors
- Posted by Matthew Lewis <MatthewL at KAPCOUSA.COM> Sep 07, 2000
- 547 views
> > Oooh I've got it working! I downloaded a DLL viewer and > found that there > was no LoadCursorFromFile in user32.dll - but there was a > LoadCursorFromFileA (which works) and a LoadCursorFromFileW > (which doesn't). > What's the difference between them and why do you have to go > to such methods > to find out what they're *actually* called? Anyway here's a > demo for the > curious. As Derek mentioned, it's the difference between ASCII and Unicode characters. I don't know of any surefire method to determine this in every case, but a combination of Quickview'ing a DLL, looking at the source code header (winuser32.h, in this case), looking at other sources of documentation (Win32.hlp, MSDN, etc), and Trial and Error(tm) seem to cover it. Trial and Error seems to be quicker quite often, as long as you know that sometimes functions have the 'A/W' suffix, and sometimes have an 'x' prefix. Matt