Re: Still cant position Desktop icons (Win)
- Posted by Al Getz <Xaxo at aol.com> Oct 27, 2005
- 509 views
DB James wrote: > > Al Getz wrote: > SNIP > > > Hi Bernie, > > > > Well, i dont have any problem 'getting' the locations, the problem is > > there is no function i can call to place them where i want them. > > For example: > > MoveDesktopIcon(id,100,200) > > > > > > I can get the (100,200) part just fine, just cant make it move there > > or change it to say (200,300) . > > > > I think i've found one possible way so far, but it's not something > > i want to have to do. That is, modify the registry hive that controls > > the icon positions so that during bootup it reads them and positions > > the icons appropriately. Unfortunately, this requires changing the > > hive from another system such as DOS or bootup in another Win system > > in order to make the mods to the hive. This means i'd have to boot up > > in some other system first, then reboot to Win XP. I was hoping to > > avoid this entirely so im looking for another method. > > > > > > Take care, > > Al > > Hi Al, > > Don't know if this will help; found it at MS site: > > ----------------------------------------------------------------- > DrawIconEx Function > > The DrawIconEx function draws an icon or cursor into the specified device > context, > performing the specified raster operations, and stretching or compressing the > icon or cursor as specified. > > Syntax > > BOOL DrawIconEx( > > HDC hdc, > int xLeft, > int yTop, > HICON hIcon, > int cxWidth, > int cyWidth, > UINT istepIfAniCur, > HBRUSH hbrFlickerFreeDraw, > UINT diFlags > ); > > Parameters > > hdc > [in] Handle to the device context into which the icon or cursor will > be drawn. > xLeft > [in] Specifies the logical x-coordinate of the upper-left corner of > the icon or cursor. > yTop > [in] Specifies the logical y-coordinate of the upper-left corner of > the icon or cursor. > hIcon > [in] Handle to the icon or cursor to be drawn. This parameter can > identify > an animated cursor. > cxWidth > [in] Specifies the logical width of the icon or cursor. If this > parameter > is zero and the diFlags parameter is DI_DEFAULTSIZE, the function uses the > SM_CXICON > or SM_CXCURSOR system metric value to set the width. If this parameter is zero > and DI_DEFAULTSIZE is not used, the function uses the actual resource width. > > cyWidth > [in] Specifies the logical height of the icon or cursor. If this > parameter > is zero and the diFlags parameter is DI_DEFAULTSIZE, the function uses the > SM_CYICON > or SM_CYCURSOR system metric value to set the width. If this parameter is zero > and DI_DEFAULTSIZE is not used, the function uses the actual resource height. > > istepIfAniCur > [in] Specifies the index of the frame to draw, if hIcon identifies an > animated cursor. This parameter is ignored if hIcon does not identify an > animated > cursor. > hbrFlickerFreeDraw > [in] Handle to a brush that the system uses for flicker-free drawing. > If hbrFlickerFreeDraw is a valid brush handle, the system creates an offscreen > bitmap using the specified brush for the background color, draws the icon or > cursor into the bitmap, and then copies the bitmap into the device context > identified > by hdc. If hbrFlickerFreeDraw is NULL, the system draws the icon or cursor > directly > into the device context. > diFlags > [in] Specifies the drawing flags. This parameter can be one of the > following > values: > > DI_COMPAT > Draws the icon or cursor using the system default image rather > than > the user-specified image. For more information, see About Cursors. Windows > NT4.0 > and later: This flag is ignored. > DI_DEFAULTSIZE > Draws the icon or cursor using the width and height specified by > the system metric values for cursors or icons, if the cxWidth and cyWidth > parameters > are set to zero. If this flag is not specified and cxWidth and cyWidth are set > to zero, the function uses the actual resource size. > DI_IMAGE > Draws the icon or cursor using the image. > DI_MASK > Draws the icon or cursor using the mask. > DI_NOMIRROR > Windows XP: Draws the icon as an unmirrored icon. By default, the > icon is drawn as a mirrored icon if hdc is mirrored. > DI_NORMAL > Combination of DI_IMAGE and DI_MASK. > > Return Value > > If the function succeeds, the return value is nonzero. > > If the function fails, the return value is zero. To get extended error > information, > call GetLastError. <snip> Hi Quark, Thanks for the info, but unfortunately it's not just a matter of drawing them on the screen, as the op system has to be told where to draw them or else they will simply be redrawn at various times when the op sys decides to. Also, the op sys has to know where they are so it knows if they have been clicked or whatever too. Thanks anyway though. Take care, Al And, good luck with your Euphoria programming! My bumper sticker: "I brake for LED's"