Documentation composant par D.Glodt (c)2000-2001 Appendix A: QCanvasEx

QCanvasEx Composant

QCanvasEx est un controle identique a Qcanvas avec ajout de dessin d'icones et de fonctionnalités avec le presse papier.

 

 
 
 

QCanvasEx Proprietés
Champs Type L/E Defaut

QCanvasEx Methodes
Methode Type Description Parametres
DrawIco SUB(left%,top%,handle%) Dessine un icone 3
CopyToClipboard SUB(rect as QRECT) Copie l'image dans le presse papier 1
PasteFromClipboard SUB(x%,y%) Colle l'image du presse papier 2
GetWidthClipboard FUNCTION as INTEGER Retourne la largeur image du presse papier 0
GetHeightClipboard FUNCTION as INTEGER Retourne la hauteur image du presse papier 0

QCanvasEx Evenements
Evenement Type Déclenchement Parametres
OnClipboard (Present as boolean) Etat de présence image dans le presse papier 1

QCanvasEx Exemples

Voir exemple du composant QICON
$typecheck on
$INCLUDE "Rapidq.inc"
$INCLUDE "Object\QCanvasEx.inc"

declare sub OuvrirClick
declare sub FermerClick
declare sub QuitterClick
declare sub Copier
declare sub Coller
declare sub Present(flag as integer)

const title="Viewer picture"
dim bitmap as QBITMAP
dim source as QRECT
CREATE Form AS QFORM
    Caption =title
    Width = 600
    Height = 600
    Center
    CREATE Menu AS QMAINMENU
      CREATE item1 AS QMENUITEM
        Caption="&Fichier"
        CREATE item2 AS QMENUITEM
          Caption="&Ouvrir"
          OnClick=OuvrirClick
        END CREATE
        CREATE item4 AS QMENUITEM
          Caption="&Fermer"
          OnClick=FermerClick
        END CREATE
        CREATE item5 AS QMENUITEM
          Caption="-"
        END CREATE
        CREATE item6 AS QMENUITEM
          Caption="&Quitter"
          OnClick=QuitterClick
        END CREATE
      END CREATE
      CREATE item11 as QMENUITEM
        Caption="&Edition"
        CREATE item12 as QMENUITEM
          Caption="&Copier"
          OnClick=Copier
        END CREATE
        CREATE item13 as QMENUITEM
          Caption="&Coller"
          OnClick=Coller
          Enabled=false
        END CREATE
      END CREATE
    END CREATE
    CREATE ScrollBox1 AS QSCROLLBOX
        AutoScroll = 1
        Align=5
        Color = &HFFFFFF
        CREATE image AS QCanvasEx
            width=1000
            height=1000
            OnClipboard=Present
        END CREATE
    END CREATE
END CREATE

bitmap.PixelFormat=6
Form.ShowModal

sub OuvrirClick
  dim file as QOPENDIALOG
  
  file.Filter="Fichiers bitmap(*.bmp)|*.bmp"
  file.InitialDir=CurDir$
  if file.Execute then
    bitmap.Bmp=file.FileName
    image.draw(0,0,bitmap.bmp)
    Form.Caption=title+"-"+file.FileName
  end if
end sub

sub FermerClick
  image.repaint
  Form.Caption=title
end sub

sub QuitterClick
  Form.Close
end sub

sub Copier
  source.left=0
  source.top=0
  source.right=bitmap.width
  source.bottom=bitmap.height
  image.copyToClipboard(source)
end sub

sub coller
  image.pasteFromClipboard(20,20)
  form.caption=str$(image.GetWidthClipboard)+"*"+str$(image.GetHeightClipboard)
end sub

Sub Present(flag as integer)
  item13.enabled=flag
End Sub