- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Funções AdvPL
- Ponto de Entrada MT105SCR Pixel Dinamico
Perguntas Ponto de Entrada MT105SCR Pixel Dinamico
- will
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 81
- Obrigados Recebidos: 0
7 anos 3 semanas atrás #32386
por will
Ponto de Entrada MT105SCR Pixel Dinamico foi criado por will
Boa Noite Alguém já usou o ponto de entrada MT105SCR?
Estou tentando colocar um ComboBox na tela de Solicitação de Armazém.
Entretanto essa tela ela é dinâmica de acordo cada resolução do Windows o ODLG cria o seus campos.
Como estou colocando valor fixo no ODLG, dependendo da tela meu combo box nem aparece.
alguém sabe uma função para pegar o pixel do windows para mim fazer calculo antes de carregar o componente de combobox na ODLG?
Segue parte do codigo:
User Function MT105SCR()
Local oDlg := ParamIxb[1]
Local nPosicao := ParamIxb[2]
Local OGet := ParamIxb[3]
Public aComboTipoSA := {}
Public cComboTipoSa := Space(1)
Public nComboTipoSa := 1
Public oComboTipoSa := Nil
aAdd( aComboTipoSA, 'Teste' )
aAdd( aComboTipoSA, 'Teste1' )
IF nPosicao == 3
@ 005, 605 SAY OemToAnsi("Tipo") SIZE 268, 8 OF oDlg PIXEL
@ 005, 625 COMBOBOX oComboTipoSa VAR cComboTipoSa ITEMS aComboTipoSA SIZE 50,10 PIXEL OF oDlg on change nComboTipoSa := oComboTipoSa:nAt
ENDIF
Return(NIL)
Veja que ao passar esse valor chumbado @ 005, 605 @ 005, 625 de acordo a resolução desposiciona.
Estou tentando colocar um ComboBox na tela de Solicitação de Armazém.
Entretanto essa tela ela é dinâmica de acordo cada resolução do Windows o ODLG cria o seus campos.
Como estou colocando valor fixo no ODLG, dependendo da tela meu combo box nem aparece.
alguém sabe uma função para pegar o pixel do windows para mim fazer calculo antes de carregar o componente de combobox na ODLG?
Segue parte do codigo:
User Function MT105SCR()
Local oDlg := ParamIxb[1]
Local nPosicao := ParamIxb[2]
Local OGet := ParamIxb[3]
Public aComboTipoSA := {}
Public cComboTipoSa := Space(1)
Public nComboTipoSa := 1
Public oComboTipoSa := Nil
aAdd( aComboTipoSA, 'Teste' )
aAdd( aComboTipoSA, 'Teste1' )
IF nPosicao == 3
@ 005, 605 SAY OemToAnsi("Tipo") SIZE 268, 8 OF oDlg PIXEL
@ 005, 625 COMBOBOX oComboTipoSa VAR cComboTipoSa ITEMS aComboTipoSA SIZE 50,10 PIXEL OF oDlg on change nComboTipoSa := oComboTipoSa:nAt
ENDIF
Return(NIL)
Veja que ao passar esse valor chumbado @ 005, 605 @ 005, 625 de acordo a resolução desposiciona.
Por favor Acessar ou Registrar para participar da conversa.
- Leno2
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 47
- Obrigados Recebidos: 0
5 anos 7 meses atrás #32715
por Leno2
Respondido por Leno2 no tópico Ponto de Entrada MT105SCR Pixel Dinamico
Olá Will, conseguiu resolver esta questão? estou passando por isso...
Caso tenha conseguido, pode me ajudar?
Os meus campos são criados e ficam escondidos em algum lugar da tela... rsrsrs. Sei que foram criados, pois dou mais 3 "TABs" para pular para a linha do acols!!!
Obrigado,
Segue abaixo o meu fonte:
#INCLUDE "PROTHEUS.CH"
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ ºAutor ³LENO ALVES º Data ³ 17/01/19 º±±
±± Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo. º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±º Ponto de entrada para colocar campos customizados na solicitação ao armazen º±±
±± º±±
±±º º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±º º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function MT105SCR()
Local oDlg := ParamIxb[1]
Local nPosicao := ParamIxb[2]
Local OGet := ParamIxb[3]
Public xcEdit1 := Space(06) // PROPOSTA
Public xcEdit2 := Space(02) // CLIENTE
Public xcEdit3 := Space(06) // LOJA
//IF nPosicao == 4
@ C(1), C(7) SAY OemToAnsi("Proposta") SIZE 30, 8 OF oDlg PIXEL
@ C(1), C(10) MsGet xcEdit1 Size 71, 9 COLOR CLR_BLACK Picture "@!" F3 "ADY" PIXEL OF oDlg
@ C(1), C(20) SAY OemToAnsi("Cliente") SIZE 30, 8 OF oDlg PIXEL
@ C(1), C(22) MsGet xcEdit2 Size 71, 9 COLOR CLR_BLACK Picture "@!" F3 "SA1" PIXEL OF oDlg
@ C(1), C(23) SAY OemToAnsi("Loja") SIZE 30, 8 OF oDlg PIXEL
@ C(1), C(25) MsGet xcEdit3 Size 71, 9 COLOR CLR_BLACK Picture "@!" PIXEL OF oDlg
//ENDIF
Return
/*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Programa ³ C() ³ Autores ³ Norbert/Ernani/Mansano ³ Data ³10/05/2005³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descricao ³ Funcao responsavel por manter o Layout independente da ³±±
±±³ ³ resolucao horizontal do Monitor do Usuario. ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function C(nTam)
Local nHRes := oMainWnd:nClientWidth // Resolucao horizontal do monitor
If nHRes == 640 // Resolucao 640x480 (soh o Ocean e o Classic aceitam 640)
nTam *= 0.8
ElseIf (nHRes == 798).Or.(nHRes == 800) // Resolucao 800x600
nTam *= 1
Else // Resolucao 1024x768 e acima
nTam *= 1.28
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Tratamento para tema "Flat"³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If "MP8" $ oApp:cVersion
If (Alltrim(GetTheme()) == "FLAT") .Or. SetMdiChild()
nTam *= 0.90
EndIf
EndIf
Return Int(nTam)
Caso tenha conseguido, pode me ajudar?
Os meus campos são criados e ficam escondidos em algum lugar da tela... rsrsrs. Sei que foram criados, pois dou mais 3 "TABs" para pular para a linha do acols!!!
Obrigado,
Segue abaixo o meu fonte:
#INCLUDE "PROTHEUS.CH"
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ ºAutor ³LENO ALVES º Data ³ 17/01/19 º±±
±± Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo. º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±º Ponto de entrada para colocar campos customizados na solicitação ao armazen º±±
±± º±±
±±º º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±º º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function MT105SCR()
Local oDlg := ParamIxb[1]
Local nPosicao := ParamIxb[2]
Local OGet := ParamIxb[3]
Public xcEdit1 := Space(06) // PROPOSTA
Public xcEdit2 := Space(02) // CLIENTE
Public xcEdit3 := Space(06) // LOJA
//IF nPosicao == 4
@ C(1), C(7) SAY OemToAnsi("Proposta") SIZE 30, 8 OF oDlg PIXEL
@ C(1), C(10) MsGet xcEdit1 Size 71, 9 COLOR CLR_BLACK Picture "@!" F3 "ADY" PIXEL OF oDlg
@ C(1), C(20) SAY OemToAnsi("Cliente") SIZE 30, 8 OF oDlg PIXEL
@ C(1), C(22) MsGet xcEdit2 Size 71, 9 COLOR CLR_BLACK Picture "@!" F3 "SA1" PIXEL OF oDlg
@ C(1), C(23) SAY OemToAnsi("Loja") SIZE 30, 8 OF oDlg PIXEL
@ C(1), C(25) MsGet xcEdit3 Size 71, 9 COLOR CLR_BLACK Picture "@!" PIXEL OF oDlg
//ENDIF
Return
/*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Programa ³ C() ³ Autores ³ Norbert/Ernani/Mansano ³ Data ³10/05/2005³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descricao ³ Funcao responsavel por manter o Layout independente da ³±±
±±³ ³ resolucao horizontal do Monitor do Usuario. ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
Static Function C(nTam)
Local nHRes := oMainWnd:nClientWidth // Resolucao horizontal do monitor
If nHRes == 640 // Resolucao 640x480 (soh o Ocean e o Classic aceitam 640)
nTam *= 0.8
ElseIf (nHRes == 798).Or.(nHRes == 800) // Resolucao 800x600
nTam *= 1
Else // Resolucao 1024x768 e acima
nTam *= 1.28
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Tratamento para tema "Flat"³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If "MP8" $ oApp:cVersion
If (Alltrim(GetTheme()) == "FLAT") .Or. SetMdiChild()
nTam *= 0.90
EndIf
EndIf
Return Int(nTam)
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Funções AdvPL
- Ponto de Entrada MT105SCR Pixel Dinamico
Tempo para a criação da página:0.139 segundos