Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [VB6] Stampare rettangoli

    ciao a tutti.

    Scusate l'incompetenza.

    MQualche anima gentile mi può dire come stampare un rettangolo con l'ogetto Printer?

    Ho rovistato in rete ma non ho trovato nulla.

    Pease help!!!

  2. #2
    codice:
    Printer.Line (10, 10)-(100, 200), RGB(&HFF, &H77, &H0), B
    '            ^^^^1^^^ ^^^^^2^^^^  ^^^^^^^^^^3^^^^^^^^^  ^4^
    Le parti indicate con 1 e 2 specificano le coordinate dell'angolo in alto a sinistra e di quello in basso a destra (non importa in che ordine), la parte indicata con il 3 specifica il colore del rettangolo, Long ottenibile tramite la funzione RGB (come in questo caso) o tramite QBColor; la parte indicata con il 4 indica al metodo Line di disegnare un rettangolo e non semplicemente una linea. Se fai seguire la B da una F il metodo Line provvederà anche a riempire il rettangolo. Inoltre facendo precedere le coordinate dalla parola chiave Step esse non saranno assolute ma relative all'ultima coordinata usata in un metodo grafico (ad esempio facendo precedere la parte 2 dalla parola chiave Step otterrai un rettangolo i cui angoli avranno coordinate (10,10)-(110, 210), perché saranno le coordinate (100,200) relative alle (10,10) specificate come primo argomento).
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    ti ringrazio tantissimo per l'aiuto che mi hai dato provo subito.

  4. #4
    Ho fatto questo:
    Printer.Line (10, 30)-(200, 40), B

    Ma mi stampa una riga sola non un rettangolo.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quelle sono le coordinate degli angoli ... se la y e' uguale per i due angoli (30) allora il rettangolo diventa una linea ...

  6. #6
    Originariamente inviato da techno
    Ho fatto questo:
    Printer.Line (10, 30)-(200, 30), B

    Ma mi stampa una riga sola non un rettangolo.
    Ma hai letto le spiegazioni di MItaly ??

    Se la coordinata Y e' sempre 30 sara' un rettangolo cosi' "stretto" da ridursi ad una linea, no ?

    Prova: Printer.Line (10, 30)-(200, 300 ), B
    IceCube_HT (VB6 fan Club)

  7. #7
    No ho sbagliato io a scrivere era 300 e no 30 ora ti posto quest'altro esempio che ho fatto:

    Printer.Line (10, 25)-(200, 35), B

    mi fa una linea trasversale una diagonale tra i due angoli.

  8. #8
    Il problema è un altro... se non specifichi il colore devi comunque mettere la virgola che indichi a VB che non specifichi tale parametro:
    codice:
    Printer.Line (10, 30)-(200, 40), , B
    . E il bello è che non ti dà nessun errore per via della fottutissima dichiarazione implicita delle variabili di VB6... morale della favola: metti sempre Option Explicit all'inizio dei tuoi moduli e del codice dei tuoi form (ancora meglio, abilita l'opzione di VB6 che lo inserisce automaticamente).
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Manca una virgola

    Printer.Line (10, 30)-(200, 40), , B

    (oops ... sei arrivato prima ...)

    P.S. Oltre ad essere d'accordo con MItaly, dico io, una volta che c'e' un suggerimento, e' cosi' difficile aprire un manuale, un libro, un sito e LEGGERE quello che c'e' scritto su un determinato comando, proprieta', metodo ??? Come si impara cosi' ??

  10. #10
    grazie a tutti funnziona va bene.
    finalmente o capito dopo mesi passati alla ricerca.
    grazie di nuovo.

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.