DECLARACAO NO COMPONENTE OCX

EPISCOPAL 15/09/2009 22:58:18
#322994
Suponhamos que eu tenho uma propriedade dentro da minha ocx ....

digamos que uma RichText ... ela tem a propriedade SelAlingmnet

na declaraçao fica:

Public Enum SelAlignment
rtfLeft = 1
rtfCenter = 2
rtfRight = 3
End Enum

qdo compilar e aplicar ao meu projeto, aparecerá na janela de propriedades >>> SelAlignment terá 3 opções
Até ai tudo bem ....... mas

Eu quero fazer uma propriedade para tamanho >>>> propriedade Zoom

só que eu quero que o usuário da OCX use somente numeros na caixa de propriedade Zoom
como eu procedo isto dentro do Public Enum

eu ja tentei

Public Enum Zoom
100
75
50
25
End Enum

e deu errado ............ qual a sintaxe correta?????

eu agradeço a quem me ajudar ...... !!!!!
ASHKATCHUP 16/09/2009 08:11:16
#323001
Cara, você já tentou digitar letras nas propriedades [Ô]Left[Ô] ou [Ô]Top[Ô] de qualquer componente? Ele só faz a validação quando você dá um [enter] ou sai da caixa de edição.
Ou seja, no evento [Ô]property let[Ô], você faz o teste para numéricos (isnumeric).
ROBIU 16/09/2009 08:12:01
#323002
Resposta escolhida
Public Enum Zoom
[100] = 1
[75] = 2
[50] = 3
[25] = 4
End Enum


Ou simplesmente assim:

Public Enum Zoom
[100]
[75]
[50]
[25]
End Enum
EPISCOPAL 16/09/2009 23:27:08
#323080
muito bem ROBIU

valeu pela dica .... deu certo sim ........
só que eu queria ir mais adiante .........

ta ficando assim na janela de propriedade do objeto ...... zoom

1 - 100
2 - 75
3 - 50
4 - 25


eu queria que só aparecesse numeros como na propriedade Top, Left, Width, etc .......


tem como??????
ASHKATCHUP 17/09/2009 08:06:43
#323084
Wolffire, você consegue digitar letras nas propriedades Top,Left,Width e Height. O que acontece é que há um código para validar se é um numero ou não.
ROBIU 17/09/2009 08:22:36
#323086
Na janela de propriedade vai aparecer a numeração. Quando chamar a propriedade via código não aparece os indeces. As propriedades que você citou não possui enum. O usuário digita o valor e não escolhe. Não tem enum:

Private lZoom As Long
Public Property Get Zoom() As Long
Zoom = lZoom
End Property

Public Property Let Zoom(ByVal Value As Long)
lZoom = Value
PropertyChanged
End Property


Ao digitar letras, não aceita
EPISCOPAL 17/09/2009 14:01:15
#323115
ROBIU ............... agora queria saber com faço pra oferecer para o usuário ........ as opções
25, 50, 75 e 100 .............. como opções de zoom??????


o codigo acima aceita qualquer valor certo????? so quero oferecer somente opções como ja descrita e nao queria que aparecesse assim na caixa de propriedades:

1 - 100
2 - 75
3 - 50
4 - 25

queria assim:
100
75
50
25

entendestes????????
ROBIU 17/09/2009 17:07:24
#323128
Para aparecer a lista só com enum e não tem como não exibir o indice.

Agora para evitar que digite outro valor:

Public Property Let Zoom(ByVal Value As Long)
Select Case Value
Case 25
Case 50
Case 75
Case 100
Case Else
MsgBox [Ô]Valores aceitos: 25,50,75,100[Ô]
Exit Property
End Select
lZoom = Value
PropertyChanged
End Property
EPISCOPAL 17/09/2009 19:18:42
#323146
ROBIU .......... vc me ajudou em muito ............ la vai mais uma pergunta
o meu indice do ZOOM ta assim

25 = 0
50 = 1
75 = 2
100 = 3
125 = 4
150 = 5
175 = 6
200 = 6
225 = 7
250 = 8

Ok !!!

como faço para começar o indice 3 >>> 100% ?????
toda vez q inicia o controle ele coloca indice 0 >>>> 25%

e tem mais ........ toda vez que insiro o controle no formulario a propriedade ZOOM recebe o foco ....... pq será ?????


PELO Q VC JA ME DISSE ..... VOU TER Q USAR COM INDICE MESMO ...........
EPISCOPAL 17/09/2009 19:20:46
#323147
Citação:

ASHKATCHUP



VALEU PELA FORÇA ........... EU SEI Q A PROPRIEDADE NAUM ACEITA LETRAS .........

SO QUERIA FAZER ALGO CONFORME MEU PENSAMENTO ............... MAS MESMO ASSIM VOU CONTINUAR OLHANDO OUTROS MODELOS DE CODIGOS DE OCX ........ PRA VÊ SE TEM UM JEITINHO DE FAZER COMO EU QUERO ........... RSRSRSRSRSRSRSR
ASHKATCHUP 17/09/2009 19:42:12
#323151
WolfFire:

Para deixar como default algum valor, você precisa setar no write e read properties.
Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas