OLE e na SecretariaOLE e na SecretariaUau, agora estamos de volta para o registro. Isso foi um monte de coisas para cobrir, apenas para obter um identificador de noções básicas de OLE. Como eu mencionei, OLE trabalha extensivamente com o registro. Quando um aplicativo registra-se com OLE como um servidor de aplicação em potencial, o processo de registo consiste na adição de um número de entradas no registro. Para aplicações OLE, como controles ActiveX, essas entradas são relativamente simples e fáceis de seguir. Mais aplicativos OLE complexo ter o Microsoft Word como um exemplo, têm centenas de entradas no registro e são normalmente difíceis de compreender. Vejamos um controle OLE simples o controle ActiveX chamado controle de calendário 10,0, que é um aplicativo disponível da Microsoft ( como parte do Office XP) que permite aos usuários inserir um calendário em seu documento. Sim, controle de calendário é 10,0 embutido em um documento do Word (você também pode inserir-lo em muitos outros tipos de documentos). Este uso, que é típico, é muito útil pensar em quantas vezes você precisou incluir um calendário em um documento. Saída Figura 6.4 para ver o Word e controle de calendário 10,0 trabalhar juntos. No documento que eu usei para este valor, eu realmente usou a data em que eu estava escrevendo este tutorial. Tamanho e posicionamento ...
Calendário 10,0 Control permite redimensionamento fácil. No entanto, algumas versões de controles ActiveX não funcionam tão bem quando incorporado em Word. Eles podem criar uma janela subjacente que faz o dimensionamento da janela principal do controle é difícil. Devido a isso, o controle integrado tende a redimensionar a sua exposição em maneiras inesperadas. Este não é um comportamento aceitável, devo acrescentar. Se você incorporar um objeto que é difícil de redimensionar, tente o seguinte: Primeiro redimensionar o controle em falta para torná-lo menor, e, em seguida, rapidamente, antes que o Word pode redimensioná-la clique na janela de base subjacente. Isso bloqueia a janela de base de modo que você pode redimensionar a janela do controle, conforme apropriado. Um simples clique duplo em qualquer lugar dentro da janela de base restaura a exibição normal. Calendar Control Microsoft 10,0 permite muita interação com outros documentos e aplicações-você pode definir o mês eo ano que desejar usando o drop-down list boxes. Entanto, por que você, usuário, interação outros querem? Fácil! Um exemplo clássico é o de inserir controle de calendário em uma página da Web, um documento cuja aplicação é o browser. Outro exemplo é o controle de calendário para incorporar em uma mensagem de correio electrónico. Ding! Será que a luz apaga? E-mail a todos em sua equipe e incluir na mensagem os detalhes de um encontro virtual com o calendário que mostra a data adequada. Você pode modificar as propriedades de objetos incorporados. Normalmente existem duas maneiras para definir as propriedades do objeto. A primeira é usar a interface de programação (geeky-ver Figura 6,5). Você também pode usar o objeto Object caixa de diálogo Propriedades (veja a Figura 6.6). A interface de programação permite o acesso a todas as propriedades possíveis, enquanto o objeto caixa de diálogo Propriedades permite a modificação rápida e simples de propriedades do objeto selecionado. Então, temos um controle de calendário Microsoft 10,0 aplicativo de servidor OLE implementado como um controle ActiveX. Vamos olhar para as entradas de registro para controle de calendário. Primeiro são as entradas em HKEY_LOCAL_MACHINE \ Software \ Classes \ CLSID. Estas entradas definir muito da interface de OLE: (8E27C92B-1264-101C-8A2F-040224009C02)] @ = "Calendar Control 10.0" As linhas acima são as colmeias (HKEY_LOCAL_MACHINE), key (Software), e subchaves (Classes \ CLSID), seguido por quaisquer valores que essas chaves pode conter. Um valor na forma de dados @ = indica a entrada do valor padrão encontrado em cada chave Registro e subchave. Observação: O Windows XP CLSID é idêntico ao do Windows NT 2000 CLSID. Surpreso? Não ser, como o CLSID vem do aplicativo, e não o sistema operacional. Além disso, controlo de calendário 10,0 provavelmente tem o mesmo CLSID como controle de calendário 9.0. Subchave O primeiro contém o CLSID para o controle de calendário 10,0 servidor. Este CLSID acontece ser 8E27C92B-1264-101C-8A2F-040224009C02, embora outras versões do Calendar Control (se fossem substancialmente diferentes) pode ter CLSIDs diferentes. O padrão variável de dados contém uma string descrevendo o programa. Note que essa seqüência é encontrado também na segunda seção do Registro, HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Mscal.Calendar.7, descritas a seguir. (8E27C92B-1264-101C-8A2F-040224009C02) \ CLSID @ = "8E27C92B-1264-101C-8A2F-040224009C02" Windows usa a seguinte subchave AuxUserType para breve, os nomes legíveis para a aplicação. Menus, regular e de pop-up, use estes nomes curtos. A Microsoft recomenda que os nomes em AuxUserType ser limitada a um máximo de 15 caracteres. A entrada, InprocHandler32, informa ao sistema que dentro do processo será usado. (8E27C92B-1264-101C-8A2F-040224009C02) \ InprocServer32 @ = "C: \ Program Files \ Microsoft Office \ Office10 \ MSCAL.OCX" Muitas aplicações utilizam InprocServer.dll como dentro do processo, embora este não é um requisito. Outra comumente usados dentro do processo é Mapi32.dll, que é usado pelo correio muitos objetos habilitados: Adequado para uso com o Windows XP, a entrada Insertable indica ao sistema que o aplicativo está listado na lista de inserir o novo objeto Inserção caixa de diálogo: (8E27C92B-1264-101C-8A2F-040224009C02) \ Insertable @ = "" A próxima entrada contém o aplicativo do caminho totalmente qualificado e nome do arquivo executável. Esta seqüência não é uma REG_EXPAND_SZ, por isso não usam as variáveis de substituição: (8E27C92B-1264-101C-8A2F-040224009C02) \ MiscStatus @ = "131473" Observação No MiscStatus, combinar os valores usando o binário, ou bit disso, a maneira mais fácil de fazer um bit é simplesmente adicionar os valores. Por exemplo, uma aplicação com as bandeiras: "O objeto define o primeiro site do cliente" (131072), "Ativar objeto quando ele é visível" (256) "O objeto está dentro para fora" (128) "O objeto não pode link dentro "(16), e" Quando o redimensionamento, o objeto é recomposto "(1) que armazena um valor de (131072 + 256 + 128 + 16 + 1) = 131473 na MiscStatus, que é exatamente o valor que está no nosso calendário MiscStatus Controle objeto. Em algumas entradas, a subchave Printable denota um objeto OLE que suporte o método IPrint imprimir (não é encontrado em todos os objetos somente aqueles que podem ser impressos usando o método IPrint): (8E27C92B-1264-101C-8A2F-040224009C02) \ Printable @ = "" Para um objeto que pode ser inserida, deve haver um valor associado ProgID (ProgID é uma abreviação para "identificador programático"). Este valor é composto por um nome curto, um tipo e um valor numérico (o valor numérico é muitas vezes um número de versão): (8E27C92B-1264-101C-8A2F-040224009C02) \ ProgID @ = "Mscal.Calendar.7" A secção de registo é criado com esse nome (ver item seguinte), onde os valores mais registro será armazenado para este objeto: (8E27C92B-1264-101C-8A2F-040224009C02) \ Verb @ = "" Verbos indicar os tipos de ação que o objeto pode ter. Sempre numeradas no registro, há três componentes para as entradas do verbo, como mostrado aqui: (8E27C92B-1264-101C-8A2F-040224009C02) \ Verb \ 0 @ = "& Editar, 0,2" Esse verbo exemplo, Editar, mostra três coisas. Primeiro, o texto usado no menu, & Edit. O & indica que a carta seguinte, que será destacada e utilizada como um valor hotkey. Há uma segunda seção do Registro para o objeto OLE Calendar Control 10.0. Esta secção, em HKEY_LOCAL_MACHINE \ Software \ Classes, é chamado Mscal.Calendar.7. Na subchave MSCAL.Calendar, há duas entradas de valor possível. Um deles é mostrado abaixo: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar] @ = "Calendar Control 10.0" A entrada do primeiro valor é o valor padrão (@ =) que contém o nome ( "Calendar Control 10,0"), utilizada na lista de inserir a caixa de diálogo Inserir Objeto. Um valor que segundo alguns objetos podem utilizar é EditFlags, que contém a editar bandeiras, expresso em valores hexadecimais. A subchave CLSID contém CLSID do objeto: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ CLSID] @ = "(8E27C92B-1264-101C-8A2F-040224009C02)" Quando presentes, a subchave seguinte (que trabalha com a tecnologia Microsoft DocObject OLE) podem conter informações sobre os recursos do objeto OLE: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Mscal.Calendar.7 \ DocObject] @ = "0" Projetado para uso em Windows 2000 e Windows XP, a seguinte entrada indica ao sistema que o pedido deve ser listado na lista de inserir a caixa de diálogo Inserir Novo Objeto: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ Insertable] @ = "" A subchave do protocolo é usado para compatibilidade com OLE 1 recipiente (cliente) aplicações: @ [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ protocol] = "" Há uma subchave no protocolo, chamado StdFileEditing. Dentro StdFileEditing, há uma série de itens, como mostrado aqui: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Word.Document.6 \ protocol \ StdFileEditin g] @ = "" A entrada padrão na StdFileEditing é uma seqüência vazia. [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Word.Document.6 \ protocol \ StdFileEditin g servidor \] @ = "C: \ \ PROGRA ~ 1 \ MICROS ~ 2 \ winword.exe" A subchave primeiro StdFileEditing é a subchave servidor. Dentro do servidor é a seqüência padrão contendo o nome completo do servidor de arquivos executáveis. (O controle de calendário não tem essa entrada, então eu mostrei a entrada para o Word.) Porque essa seqüência é REG_SZ, não use quaisquer variáveis substituíveis, como% SystemRoot%, na mesma. @ [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ protocol \ StdFileEditing \ verb] = "" A subchave seguinte em StdFileEditing é verbo. Dentro verbo são um ou mais subchaves numeradas; números começam com 0 e devem ser consecutivos. Cada verbo que a aplicação utiliza OLE em um menu será incluído, como mostrado aqui: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ protocol \ StdFileEditing \ verb \ 0] @ = "& Editar" Esse verbo é a seleção do menu Editar. O texto usado no menu é & Edit. O & indica que a carta seguinte, que será destacada e utilizada como um valor hotkey. Finalmente, uma versão ProgID independente é criado. Mesmo quando o controle é atualizado, esta entrada não vai mudar: HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ CLSID \ (8E27C92B-1264-101C-8A2F-040224009C02) \ VersionIndependentProgID @ = "MSCAL.Calendar" Como ProgID, este identifica o programa, sem quaisquer referências versão. um artigo submetido por Dessue Mathenes Isenção de responsabilidade:O nosso site não se responsabiliza pelo conteúdo deste artigo. Webarticles é uma fonte de informação livre. Importante: Este artigo "OLE e do Registro" foi traduzida por um software automático. Nós sentimos muito por quaisquer erros de ortografia que pode ter ocorrido. Obrigado pela sua compreensão.
|
|||||
| Online: 215 users browsing the articles directory |
|
|