Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1 2
L'image est ancrée à une datawindow et occupe tout l'espace disponible de la datawindow. Cette detawindow est elle-même placée par-dessus ma datawindow qui contient les données textuelles, pour faire illusion.
Hors ligne
Mais non, tu mets une dw, un picture control, tu mets à jour ta dw et ton picture control lorsque les données change. Tu prends le HDC de ton picture control (lui, tu peux, il en a 1) et tu l'imprimes.
Hors ligne
Dit comme ça... Ca parait simple... Mais là je n'y comprends plus rien aux HDC :-/
J'ai tenté de récupérer celui de ma fenêtre pour l'imprimer, en passant par GetDC de user32.dll, ou par CreateDC de gdi32.dll. J'ai aussi voulu obtenir le HDC de mon imprimante via l'OCX MSComDLG de Microsoft.
Au final je ne sais même plus comment je dois m'y prendre si je veux tenter d'obtenir le HDC de mon Picture Control.
Enfin, je ne cherche pas à simplement imprimer le picture control, mais toute la datawindow (logos, titre, données textuelle, image, ...).
Hors ligne
Va dans l'aide PB, et recherche la fonction handle...
Hors ligne
Return value
Long. Returns the handle of objectname. If objectname is an application and previous is true, Handle always returns 0.
If objectname cannot be referenced at runtime, Handle returns 0 (for example, if objectname is a window and is not open).
messagebox('', string(handle(ma_datawindow.object.mon_picture_control)))
Moi ça me retourne 0.
PowerBuilder 10.2.0 build 8075.
C'est précisément pour ça que je cherche une solution de contournement ;)
Dernière modification par Nyphel (10-10-2008 14:19:47)
Hors ligne
Et le handle(ma_datawindow) te retroune quoi ?
Tu n'as pas de handle sur les objets ionternes à une DW. Il n'existe pas pour window, ils sont 'dessinés' par PB.
Place un picture control 'normal'.
Hors ligne
Le handle de ma datawindow est correctement retourné.
Si je place un picture control par-dessus ma datawindow, alors je devrai imprimer toute la fenêtre et non plus uniquement la datawindow. Dès lors cette solution ne me convient pas car :
- ma datawindow et mon picture control seront masqués. Si ils sont masqués et que j'imprime la fenêtre, alors Pb ne les imprime pas.
- en admettant que je rende temporairement visibles ma datawindow et mon picture control pour imprimer la fenêtre, alors l'impression est de type Screenshot/ImpriEcran : Pb imprime ce qu'il voit, y compris les mesnus, barres d'actions et icones de la fenêtres, barre des tâches et menu démarrer de Windows.
Hors ligne
Pages: 1 2