X

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

Primeiros Passos para criação de uma Command bar no CorelDraw C#, Vba, Vsta, addin

Publicado: Modificado:

Bonus630

 

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




Faça doações com o botão do PayPal


Todos direitos reservados | 2003 à 2024 | Copyright © Bonus630 | Vr.:5.0