Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3671 connectés 

 


Dernière réponse
Sujet : comment imprimer avec C++ Builder
grrosminet Et y'aurrait pas moyen d'utiliser un QuickReport (sans pour autant utiliser un BDD) ?

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
grrosminet Et y'aurrait pas moyen d'utiliser un QuickReport (sans pour autant utiliser un BDD) ?
seblamb C'est normal, si tu imprime en 300 dpi ( 300 point par pouce) qui est ne général la résolution de l'imprimante, ton dessin en de 600 point fait 2 pouces ~= 5cm
Utilise la fonction TCustomForm::Print()
grrosminet J'utilise C++ Builder pour développer une appli, mais je ne réussit pas à faire une impression correcte :
 
je voudrait imprimer le contenu d'un objet de type TPageControl alors j'ai fait un joli copier-coller de l'exemple donné dans l'aide (cf ci-dessous) mais les impressions ne mesure gère plus de 5 cm x 5 cm alors que la taille du contrôle est de l'ordre de 600 x 600. Conclusion mon impression est illisible.
 
Si vous avez la solution, n'hésitez pas ==> grosminet@mageos.com   Merci.
 
voici l'exemple de l'aide de C++ Builder :
 
Cet exemple utilise une fiche contenant un bouton, un contrôle pages et une boîte de dialogue d'impression. Lorsque l'utilisateur clique sur le bouton, la boîte de dialogue d'impression est affichée. L'utilisateur peut sélectionner n'importe quel sous-ensemble de pages dans le contrôle de pages pour l'impression. Les pages sélectionnées sont alors imprimées.
Pour exécuter cet ensemble, vous devez inclure <Printers.hpp> dans votre fichier unité.
 
// ----------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
 
{
  PrintDialog1->Options.Clear();
  PrintDialog1->Options << poPageNums << poSelection;
  PrintDialog1->FromPage = 1;
  PrintDialog1->MinPage = 1;
  PrintDialog1->ToPage = PageControl1->PageCount;
  PrintDialog1->MaxPage = PageControl1->PageCount;
  if (PrintDialog1->Execute())
  {
    int Start, Stop;
    // détermine l'intervalle souhaité pour l'impression
    switch (PrintDialog1->PrintRange)
    {
      case prSelection:
 
        Start = PageControl1->ActivePage->PageIndex;
        Stop = Start;
        break;
      case prPageNums:
        Start = PrintDialog1->FromPage - 1;
        Stop =  PrintDialog1->ToPage - 1;
        break;
      default:  // prAllPages
        Start = PrintDialog1->MinPage - 1;
        Stop = PrintDialog1->MaxPage - 1;
        break;
    }
    // imprime les pages  
    Printer()->BeginDoc();
    for (int i = Start; i <= Stop; i++)
 
    {
      PageControl1->Pages[i]->PaintTo(Printer()->Handle, 10, 10);
      if (i != Stop)
        Printer()->NewPage();
    }
    Printer()->EndDoc();
  }
}
// ----------------------------------------------------------------

 

[edtdd]--Message édité par grrosminet--[/edtdd]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)