Modifcare un icona [vb6][santi caltabiano].txt blocco note

410 views

Published on

Modifcare un icona [vb6][santi caltabiano].txt blocco note

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
410
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Modifcare un icona [vb6][santi caltabiano].txt blocco note

  1. 1. Modifcare un Icona [VB6][Santi Caltabiano].txtMODIFICARE UNICONASupponiamo si voglia modificare un icona a runtime per assegnarla ad un altrocontrollo comead esempio un Picture o ad un Panel del controllo Status Bar o ad una Tab delcontrollo SSTAB.In questo esempio ad un icona verrà sovrapposto il numero 23 racchiuso in unqudratino rotto (perottenere leffetto notifica di FaceBook).Lidea è semplice:1) Un picture sorgente contenente una label con sfondo rosso2) Si carica limmagine nella picture sorgente3) Si copia il risultato in una picture di destinazione susando la funzioneBitBlt.PROCEDIMENTO:1) Si crea un progetto con un form2) Ai Aggiungono i controlli - Picture: name=picSrc, Visible=False, AutoRedraw=False, Height=200 - Picture: name=picDes, Visible=False, AutoRedraw=True, Height=200 - Label: name=lbl, autoSize=True, backcolor=vbred; Font a 7pt - Command: name=Command13) - Image: name=Image1 (per mostrare il risultato)4) Codice contenuto nel modulo del form:------------------------------------------------------------------------------------Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, _ ByVal X As Long, ByVal Y As Long, _ ByVal nWidth As Long, _ ByVal nHeight As Long, _ ByVal hSrcDC As Long, ByVal xSrc AsLong, _ ByVal ySrc As Long, _ ByVal dwRop As Long) As LongPrivate Sub Command1_Click() Set Image1.Picture = createIcon(23)End SubPrivate Function createIcon(ByVal num As Long) As IPictureDisp Mostra i picture (altrimenti non funziona) picSrc.Visible = True picDes.Visible = True Ripulisce controlli Set picSrc.Picture = Nothing Set picDes.Picture = Nothing Numero che verrà sovrapposto allicona lbl.Caption = num Assegna dimensione controlli per la creazione dellimmagine picSrc.Height = 500 o laltezza del controllo finale picSrc.Width = 500 o la larghezza del controllo finale picDes.Height = picSrc.Width picDes.Width = picSrc.Width Centra la label orizzontalmente lbl.Left = Abs(picSrc.ScaleWidth - lbl.Width) / 2 Label in basso e spostata un po verso lalto lbl.Top = Abs(picSrc.ScaleHeight - lbl.Height - 40) Carica limmaggine nel controllo source picSrc.Picture = ImageListMain.ListImages(o.indiceIcona).Picture Copia limmagine nel controllo destinazione BitBlt picDes.hDC, 0, 0, 200, 200, picSrc.hDC, 0, 0, &HCC0020 Nasconde controlli picture picSrc.Visible = False picDes.Visible = False Pagina 1
  2. 2. Modifcare un Icona [VB6][Santi Caltabiano].txt Restituisce il risultato Set createIcon = picDes.ImageEnd Function------------------------------------------------------------------------------------Questo meccanismo può essere utilizzato per assegnare limmagine ad un oggettoPanel di uncontrollo status bar per gestire un effetto notifica in una tray icons. Pagina 2

×