Jump to content
Fivewin Brasil

GetPrintDC()


Theotokos

Recommended Posts

Pessoal, boa tarde! preciso de uma ajuda utilizo esta função a baixo para o usuario selecionar a impressora e o numero de copia que deseja, mas a tela aparece normalmente o usuario seleciona, mas não executa conforme a alteração. Ex: Se a impressora 1 é a default e o usuario seleciona a impressora 2, e coloca por ex. 3 copia. na hora de imprimir, imprime 1 copia na impressora 1


If GetPrintDC( GetActiveWindow() ) <> 0

*** rotina de impressao

end

id=code>id=code>

Perfil.jpg

Link to comment
Share on other sites

Pessoal, boa tarde! preciso de uma ajuda utilizo esta função a baixo para o usuario selecionar a impressora e o numero de copia que deseja, mas a tela aparece normalmente o usuario seleciona, mas não executa conforme a alteração. Ex: Se a impressora 1 é a default e o usuario seleciona a impressora 2, e coloca por ex. 3 copia. na hora de imprimir, imprime 1 copia na impressora 1


If GetPrintDC( GetActiveWindow() ) <> 0

*** rotina de impressao

end

id=code>id=code>

Perfil.jpg

Link to comment
Share on other sites


hDC := GetPrintDC( GetActiveWindow() )

if hDC == 0

cImpressoras := prnGetname()

MSGINFO("Impressão cancelada pelo usuário","..::Impressão")

Return .f.

endif

id=code>id=code>

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632 - TIM

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

Faz assim:


PRINTER oPrnTest NAME "BLA BLA BLA"

oPrnTest:setpage(1)

oPrnTest:SetPortrait()

oPrnTest:setsize(2159,1397) ///Para selecionar meia folha

oPrnTest:SetCopies(nCopias) ///Quantidade de copias a imprimir

id=code>id=code>

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632 - TIM

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

Assim OK! mas a função GetPrintDC() não funciona? penso que se ela abre a janela da impressora com as configuraçãoes deveria ao menos retornar algo que possamos "setar" as novas opções...

citação:

Faz assim:


PRINTER oPrnTest NAME "BLA BLA BLA"

oPrnTest:setpage(1)

oPrnTest:SetPortrait()

oPrnTest:setsize(2159,1397) ///Para selecionar meia folha

oPrnTest:SetCopies(nCopias) ///Quantidade de copias a imprimir

id=code>id=code>

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632 - TIM

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066


id=quote>id=quote>

Perfil.jpg

Link to comment
Share on other sites

Olá Rone

Uso a função abaixo com win32prn()+GetPrinters() e funciona bém, a qde de cópias creio que se passado como parâmetro deve funcionar "nunca usei" eu uso um "for next".

//-------------- SELECIONAR IMPRESSORA

FUNCTION SIMSEL3()

LOCAL oBmp

local vIMPCARNE:=GetPrinters()

local oIMP1,nIMP1:= ascan(vIMPCARNE)

SEMIP := .F.

SEIMP := "N"

DEFINE DIALOG TELAIMPR RESOURCE "SELIMP" title"Selecione a impressora"

REDEFINE BITMAP oBmp ID 1 RESOURCE "IMPRESS" OF TELAIMPR adjust

REDEFINE COMBOBOX oIMP1 ID 101 ITEMS vIMPCARNE OF TELAIMPR VALID SAIMCARN(oIMP1)

REDEFINE BUTTON ID 102 cancel ACTION (SIMSEL31(oIMP1),TELAIMPR:End()) WHEN SEMIP

REDEFINE BUTTON ID 103 cancel ACTION TELAIMPR:End()

ACTIVATE DIALOG TELAIMPR CENTERED

return .t.

//------------------------

FUNCTION SIMSEL31(oIMP1)

LOCAL aPrn := oIMP1

local oPrinter := win32prn():New(aPrn)

oPrinter:Landscape := .F.

oPrinter:FormType := 9

oprinter:SetPrintQuality(-1)

oPrinter:Copies := 1 // NUMERO DE CÓPIAS

oprinter:create()

oprinter:startdoc()

//------------------- INICIO DA IMPRESSAO

oprinter:setfont("Courier New",8)

ncol:=oprinter:GetCharWidth()

nlin:=oprinter:GetCharHeight()

...

...

...

oprinter:enddoc()

oprinter:destroy()

...

...

RETURN .T.

//------------------------- HABILITA IMPRESSÃO

FUNCTION SEIMP()

SEIMP := "S"

RETURN .t.

Vander

HbMake v1.17

xHarbour build 0.99.70 Intl. (SimpLex)

Borland C++ 5.5.1

fivewin 6.12 (FREE)

Workshop 4.5

MEdit

Link to comment
Share on other sites

  • 12 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...