Først og fremmest skal du ikke udføre både PrinterSetupDialog1->Execute() og PrintDialog1->Execute() på samme tid - førstnævnte er beregnet til 'Setup printer' funktionen som man tit finder under 'Filer' menuen, sidstnævnte til at lave midlertidige ændringer for det aktuelle dokument lige inden udskrift.
void __fastcall TForm1::ButtonPrintClick(TObject *Sender) { if (PrintDialog1->Execute()) DoPrint(); }
I fht. din "DoPrint()" metode, er der ingen nemme svar - du skal enten selv lave en form med dit print på, og så udskrive den vha. formen's (indbyggede) Print() metode, eller bruge QReport komponenterne. Der følger en on-line manual med QReport som du med fordel kan skrive ud inden du går i gang.
problemet med Print() er at den virker som screenshot da den bruger GetFormImage. dette kan jeg ikke bruge til noget da tit vil komme så mange resultater at ikke alle vil være synlige i DBgriden hmm jeg tror jeg vil kikke nærmere på den der QReport.
Jo, men hvis formen er større (f.eks. længere) end den kan vises, så printes den over flere sider - det er faktisk det QReport udnytter. QReport kan MEGET mere end det - bl.a. indehodler den en Preview() metode, som er ret fed, både på design tidspunktet og runtime.
nææ endeligt ikke .. og jeg kan heller ikke få QReport til at virke. så jeg er gået lidt i stå lige pt. men jeg syntes ikke at dit svar var til 50 point.
men vi kan godt finde ud af lidt med noget point til dig .. jeg er ny her så jeg ved ikke helt hvordan systemet fungere ud over jeg har afvist dit svar men du kan jo komme med et nyt hvis du vil have lidt point. som hvordan jeg for en Query som bliver lavet ved tryk på en knap til at blive skrevet i en QReport. så skal jeg nok også smide en hel del point oven i :)
det koster godt nok penge :( men da mit firma betaler mine udgifter .. så tænkte jeg fair nok :p
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.