bonus630

`Não sou Programador Profissional, faço por diversão. Tecnologia é meu hobbie.`


Categorias



qrcode Tutorial - Primeiros Passos para criação de Command bar no CorelDraw C#, Vb, vsta, addinVisualize esta página no seu Smartphone com este QRcode


Visual Studio CorelDraw Addon Template



Se você não é "poweruser", utilize um antivírus n


Geospeleo Estudos Espeleológicos


Desenvolvimento em php, c#, javascript, android. Aplicações web com php e javascript, aplicações desktop com c#, e mobile android. Integração de sistemas web e local.

Criação de adicionais para aplicativos de terceiros com suporte, photoshop com javacript para criação de tarefas automatizadas entre outras funções, coreldraw com c# para automatizar,calcular, e integrar com web e outros sistemas.


Corel na Veia


CSS válido!


> > >

Primeiros Passos para criação de Command bar no CorelDraw C#, Vb, vsta, addin

Autor: | Categoria: CorelDraw SDK



Neste Tutorial veremos os primeiros passos para a criação de uma barra de comandos no CorelDraw, uma barra funcional, que gerará escalas topográficas. É recomendado o conhecimento de C# e o básico das ferramentas do CorelDraw, estarei utilizando o VisualStudio 2013 para programar e a versão do meu Corel é a X6, é possível que em outras versões do Corel o FrameWork seja diferente, já o VisualStudio não faz muita diferença a versão utilizada.
No CorelDraw ainda existem outras formas de criar uma barra de comandos, por macros usando Visual Basic, e Plugin utilizando C/C++.

Criando o projeto no Visual Studio


Abra o seu Visual Studio e crie um projeto "WPF User Control Library" conforme a figura abaixo.


Este tipo de projeto nos permite trabalhar com os formulários do windows,"Windows Forms", e ao ser compilado gerará uma dll, que será carregado no nosso CorelDraw.

Dependências do projeto


Depois do projeto criado e aberto, você precisa adicionar duas dll de referências, vá a pasta de instalação do CorelDraw depois programs ou programs64, dependendo da versão do seu corel 32 ou 64 bit, e finalmente em Assemblies e adicione as seguintes:
Corel.Interop.CorelDRAW.dll e Corel.Interop.VGCore.dll.

A primeira gerencia a aplicação e a segunda a interface.Basicamente trabalharemos somente com a primeira, e principalmente com a classe Application.

Layout


Para o layout de nossa barra, vou utilizar um botão, dois textbox, e duas labels, os textbox vão chamar txt_projecao e txt_escala, e o botão se chamará btn_gerar, os textos conforme a imagem.

Hora do Código


Primeiro vamos criar um objeto do tipo Corel.Application, este pode dar conflito com Windows.Application.


Explicando o código:

Na linha 16 utilizei a instrução using para referenciar o namespace Corel.Interop.CorelDRAW, já que este será bastante utilizado.

Na linha 25 criei uma variável Corel Application, coloquei o endereço completo do namespace para não dar conflito com o Windows.Application.

Na linha 26 modifiquei o construtor para receber uma referencia do Corel Application, essa referencia é passada para nossa comand bar pelo Corel assim que ele a carregar.

Na linha 28 inicializei nossa variável criada na linha 25, utilizando nossa referencia obtida no construtor.

Na linha 29 defini a unidade de medida do documento para centímetros.

Como esta é uma aplicação bem simples vou criar tudo em um único método, que será chamado pelo nosso botão btn_gerar. 

Vamos adicionar o evento click no botão.


Vamos criar algumas variáveis.


Temos um objeto do tipo Layer, que é retornado pelo CreateLayer, esse método cria uma nova layer no coreldraw. Temos dois doubles,com o tamanho total da escala e a proporção, que são obtidos pela conversão dos campos de entrada fornecidos pelo usuário, temos também uma lista que será utilizada mais para frente, e uma variável do tipo color.

Agora temos um laço que irá preencher nossa lista.Nada que necessite atenção especial, ele pegará o tamanho total e dividirá no meio e arredondará o valor.



Agora outro laço, fiquem a vontade para otimizar este algorítimo.

Na linha 55 o método CreateRectangle2, cria um retângulo na layer ativa, ou seja a selecionada no momento, ou ainda você pode utilizar a layer criada no laço anterior.

A linha 74 temos a criação de uma linha, e na 75 a criação de textos.

Na linha 94 também é criado um retângulo, mas na 95 preenchemos ele com nossa cor criada anteriormente.

Criando assim a variação entre retângulos brancos e pretos para compor nossa régua.  




E finalizando nossa barra temos, na linha 100 a seleção de todos os retângulos e linhas criadas no laço anterior, na 101 marcamos eles na seleção e na 102 agrupamos.

Na linha 104 criamos outro texto.

Na 108 alinhamos o texto.

E por fim agrupamos tudo.



De um Ctrl+shift+B para criar nossa DLL, se o build for bem sucedido vá para o próximo passo.

Instalando, e testando nossa Barra no Corel

Abra o Corel, Vá até Ferramentas>Personalização>Barra de Comandos>Novo, crie um novo com nome que desejar, este nome será utilizado mais a frente. Um quadrinho vai aparecer.


Agora vá até, Ferramentas>Macros>Macro Manager, ou Alt+Shift+f11



No editor de macros do Corel crie um método com nome que desejar, e adicione a linha

Call FrameWork.CommandBars(nomeBarra).Controls.AddCustomControl(nomeClasse, dllPath)

Substitua nomeBarra pelo nome que da barra customizada criada no Corel.

Substitua nomeClasse pelo nome da sua class no projeto da barra, não se esqueça do namespace antes do nome da classe.

Substitua dllPath pelo caminha da dll gerada no seu projeto.

Execute com f5 ou no botão play do editor macro.


Faça o teste


Erros na Instalação


Se sua barra ficar vazia após esse processo, verifique os nomes da classe e da barra e o caminho da dll, verifique se o CorelPaint está instalado, e Visual Tool for Application, se não estiverem basta rodar o setup e adiciona-los, verifique também se não outro aplicativo não nativo carregado no seu Corel, alguns podem dar problemas em outros.

Faça o download do projeto aqui


Demostração


Referências



Voltar

C
o
m
e
n
t
a
r


Mostrar Comentários
Bonus630

/bonus630 /bonus630 /bonus630 /bonus630 email Linkedin /bonus630 bonus630@hotmail.com @bonus630 /bonus630
Todos os Direitos Reservados - Bonus630
Criado e desenvolvido por Reginaldo
Email:Bonus630@gmail.com

Mostrar Citações