/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Printer i windows (Borland C++ 5)
Fra : Michael Houmaark


Dato : 24-12-01 14:32

Hej Alle.

Jeg sider og roder lidt med at udskrive til en printer, men jeg kan ikke
lige se hvordan jeg
finder (sætter) magen i top, bund, venstre, højer.

Jeg kan godt finde ud af hvor stort et felt jeg må skrive til, men det ville
være godt at vide hvor stor hele siden var i pixels med magen så jeg selv
kan regne på magen Fx hvis jeg lige pludselig vil bruge en anden printer der
ikke køre med lige så stor mag.

Et lille eksempel af det jeg har lavet :

int Height2 = Printer()->PageHeight; // finder højten på en siden uden
magen :(
int Width2 = Printer()->PageWidth; // finder bræden på en siden uden
magen :(

Printer()->BeginDoc(); // starter selve den side jeg skal skrive ud til
Printer()->Title = "Test2 Label"; // skriver en titel på selve dukomentet
for(int i = 0; i < 10; i++) // Løkke så man kan se stregen
Printer()->Canvas->Rectangle(1+i,1+i,Height2-i,Width2-i); //
laver en kasse i det yderste felt på papiret

// så jeg finder ud af der ikke har regnet uden magen :(
Printer()->EndDoc(); // printer ud

Så hvis der er nogen der lige ved eller har arbejdet med dette før ville jeg
være glad for lidt hjælp

MvH
Michael



 
 
Ivan Johansen (29-12-2001)
Kommentar
Fra : Ivan Johansen


Dato : 29-12-01 22:32

Michael Houmaark wrote:

> Jeg sider og roder lidt med at udskrive til en printer, men jeg kan ikke
> lige se hvordan jeg
> finder (sætter) magen i top, bund, venstre, højer.
>
> Jeg kan godt finde ud af hvor stort et felt jeg må skrive til, men det ville
> være godt at vide hvor stor hele siden var i pixels med magen så jeg selv
> kan regne på magen Fx hvis jeg lige pludselig vil bruge en anden printer der
> ikke køre med lige så stor mag.

Følgende giver dig papirets størrelse i pixels:
HDC hPrnDC=Printer()->Handle;
int PaperWidth = GetDeviceCaps(hPrnDC, PHYSICALWIDTH);
int PaperHeight = GetDeviceCaps(hPrnDC, PHYSICALHEIGHT);

Jeg håber du kan bruge det.

Ivan Johansen


Michael Houmaark (31-12-2001)
Kommentar
Fra : Michael Houmaark


Dato : 31-12-01 13:16

wrote: Ivan Johansen

> Følgende giver dig papirets størrelse i pixels:
> HDC hPrnDC=Printer()->Handle;
> int PaperWidth = GetDeviceCaps(hPrnDC, PHYSICALWIDTH);
> int PaperHeight = GetDeviceCaps(hPrnDC, PHYSICALHEIGHT);

Tak men det er mest magen jeg er ude efter.
Hvis du kan sige mig hvor jeg finder den ville jeg være en lykkelig mand *G*
Skal bruge både at kunne sætte den og kun aflæse den (alle mager)

MvH
Michael Houmaark



Ivan Johansen (02-01-2002)
Kommentar
Fra : Ivan Johansen


Dato : 02-01-02 00:20

Michael Houmaark wrote:

> wrote: Ivan Johansen
>>Følgende giver dig papirets størrelse i pixels:
>> HDC hPrnDC=Printer()->Handle;
>> int PaperWidth = GetDeviceCaps(hPrnDC, PHYSICALWIDTH);
>> int PaperHeight = GetDeviceCaps(hPrnDC, PHYSICALHEIGHT);
>>
> Tak men det er mest magen jeg er ude efter.
> Hvis du kan sige mig hvor jeg finder den ville jeg være en lykkelig mand *G*
> Skal bruge både at kunne sætte den og kun aflæse den (alle mager)

Jeg er ikke helt sikker på hvad det egentligt er du mangler. Printerens
fysiske begrænsninger, som hvor tæt der kan skrives på papirets kant,
kan findes med GetDeviceCaps(), men disse kan selvfølgelig ikke ændres.
Ud fra disse informationer, kan du vælge på hvilke positioner du vil
skrive.

Ved hjælp af SelectClipRgn() kan du specificere nogle grænser, som der
ikke kan skrives uden for.

SetViewportOrgEx() bruges til at specificere pladseringen af kooridantet
(0,0).

Du kan finde flere informationer om disse funktioner i Windows SDK, men
du skal også være velkommen til at spørge igen.

Ivan Johansen


Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste