Benski,

The application allows users to download alternative skins. They just download 1 large image and Bitblt cuts out the various images for each button(picturebox). The code to replace a skin is as follows.

Code:
Public Const SRCCOPY = &HCC0020

Public Sub LoadIFace()

'Load frmToolbar background
Call BitBlt(frmToolbar.picActPor.hDC, 0, 0, 152, 38, frmToolbar.picSourceImage.hDC, 476, 0, SRCCOPY)
    frmToolbar.picActPor.Refresh
    
Call BitBlt(frmToolbar.hDC, 0, 0, (frmToolbar.Width / Screen.TwipsPerPixelX), 118, frmToolbar.picSourceImage.hDC, 0, 114, SRCCOPY)
    frmToolbar.Refresh

'Load Info button graphic
Call BitBlt(frmToolbar.picHome.hDC, 0, 0, 54, 54, frmToolbar.picSourceImage.hDC, 0, 0, SRCCOPY)
    frmToolbar.picHome.Refresh

'Load Refresh button graphic
Call BitBlt(frmToolbar.picNews.hDC, 0, 0, 54, 54, frmToolbar.picSourceImage.hDC, 38, 0, SRCCOPY)
    frmToolbar.picNews.Refresh
    
'Load Prefs button graphic
Call BitBlt(frmToolbar.picEntertainment.hDC, 0, 0, 54, 54, frmToolbar.picSourceImage.hDC, 76, 0, SRCCOPY)
    frmToolbar.picEntertainment.Refresh

'Load Customise button graphic
Call BitBlt(frmToolbar.picSport.hDC, 0, 0, 54, 54, frmToolbar.picSourceImage.hDC, 114, 0, SRCCOPY)
    frmToolbar.picSport.Refresh

'Load Games button graphic
Call BitBlt(frmToolbar.picWeather.hDC, 0, 0, 54, 54, frmToolbar.picSourceImage.hDC, 152, 0, SRCCOPY)
    frmToolbar.picWeather.Refresh

'Load Games button graphic
Call BitBlt(frmToolbar.picMail.hDC, 0, 0, 54, 54, frmToolbar.picSourceImage.hDC, 228, 0, SRCCOPY)
    frmToolbar.picMail.Refresh
    
Call BitBlt(frmToolbar.picMediaPlayer.hDC, 0, 0, 54, 54, frmToolbar.picSourceImage.hDC, 380, 0, SRCCOPY)
      frmToolbar.picMediaPlayer.Refresh
      
Call BitBlt(frmToolbar.picSearch.hDC, 0, 0, 54, 54, frmToolbar.picSourceImage.hDC, 304, 0, SRCCOPY)
      frmToolbar.picSearch.Refresh
      
Call BitBlt(frmToolbar.picChannels.hDC, 0, 0, 54, 54, frmToolbar.picSourceImage.hDC, 266, 0, SRCCOPY)
    frmToolbar.picChannels.Refresh
    
Call BitBlt(frmToolbar.picProperties.hDC, 0, 0, 54, 54, frmToolbar.picSourceImage.hDC, 342, 0, SRCCOPY)
    frmToolbar.picProperties.Refresh

Call BitBlt(frmToolbar.picPause.hDC, 0, 0, 54, 54, frmToolbar.picSourceImage.hDC, 190, 0, SRCCOPY)
    frmToolbar.picPause.Refresh

Call BitBlt(frmToolbar.picHideTools.hDC, 0, 0, 58, 21, frmToolbar.picSourceImage.hDC, 418, 0, SRCCOPY)
    frmToolbar.picHideTools.Refresh
    
Call BitBlt(frmToolbar.picHideTicker.hDC, 0, 0, 58, 21, frmToolbar.picSourceImage.hDC, 514, 0, SRCCOPY)
    frmToolbar.picHideTicker.Refresh

End Sub
[Edited by charliecatney on 07-07-2000 at 11:45 AM]