Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    162

    [VB6] Recuperare l'hdc (handle) di oggetti

    Salve, sto facendo esperimenti con la funzione bitblt che ad un certo punto mi chiede l'handle dell'oggetto sorgente e di quello destinazione.

    Ora usando ad esempio la funzione bitblt per copiare un'immagine da una picturebox ad un altra è semplice perchè per l'oggetto picture posso scrivere

    Picture1.hDC

    Se al posto del Picturebox volessi usare un altro oggetto (windowsmediaplayer, Quicktimecontrol...) c'è un metodo una funzione per recuperare l'handle di questi oggetti?

    Spero di essere stato sufficentemente chiaro
    Ciao

  2. #2
    Dunque, puoi ottenere un handle ad un device context tramite la funzione GetDC che prende come unico argomento l'handle alla finestra del controllo.

    es:

    IN UN PROGETTO

  3. #3
    Dunque, puoi ottenere un handle ad un device context tramite la funzione GetDC che prende come unico argomento l'handle alla finestra del controllo.

    es:

    IN UN PROGETTO INSERISCI UN CONTROLLO A TUA SCELTA (IO HO USATO UN APPLE QUICKTIME PLAYER) E UN PULSANTE E COPIA IL CODICE SEGUENTE:

    Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function Rectangle Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long


    Private Sub Command1_Click()
    Dim dc As Long
    dc = GetDC(QTControl1.hwnd)
    'disegno un rettangolo sul controllo
    Rectangle dc, 0, 0, 50, 50
    End Sub

    RIASSUNTO:

  4. #4
    RIASSUNTO:

    -INSERISCI UN CONTROLLO,

    -PASSA L'HANDLE DELLA FINESTRA (hWnd) ALLA GetDC

    -USA LA DWORD (IN vb è UN LONG) COME HANDLE AD UN DC

  5. #5
    DIMENTICAVO DI DIRE CHE OGNI CONTROLLO PUò ESSERE CONSIDERATO COME UNA FINESTRA ED è QUINDI DOTATO DI UNA HWND (ANCHE SE NONO SEMPRE IL CONTROLLO LA ESPONE).

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Originariamente inviato da calldavid
    DIMENTICAVO DI DIRE [...]
    Invece di scrivere miriadi di messaggi uno dopo l'altro, tutto in maiuscolo, inserisci la tua risposta in una...sola risposta, per favore.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.