Download continuar - sinclair
Transcript
Janelas Acesso irrestrito às janelas Usando VISUAL BASIC e as rotinas da API, é possível manipular as janelas das aplicações, de maneira a criar utilitários, desktops etc. Existem vários tipos de objetos internos do Windows, que iremos Cleuton Sampaio de Melo Jr abordar de acordo com o andamento do assunto. Para ilustrar, veja alguns tipos de objetos da GDI: Em um ambiente multitarefa como o Windows, existem muitos objetos ativos ao mesmo tempo. O Windows é o responsável pelo gerenciamento de todos os recursos das aplicações. Janelas, Controles, BitMaps etc são Objetos de propriedade do Windows, que as aplicações utilizam para se comunicarem com os usuários. No DOS um programa entra em execução e assume a propriedade sobre todos os dispositivos do sistema. Tela, teclado, periféricos, tudo passa a ser controlado pelo próprio programa. Isto é que toma difícil a multitarefa no DOS, pois você nunca sabe o que os outros programas irão precisar. Para evitar este problema, no Windows todo acesso a periféricos é feito através do próprio sistema. Se um programa precisa montar uma Janela, ele precisa solicitar ao Windows a criação e permissão de uso da mesma. 0 Windows armazena os objetos criados em suas tabelas internas, organizandoos na memória (real e virtual) de OBJETO IDENTIFICAÇÃO DESCRIÇÃO BitMap hBitMap Uma área de memória para Cursor hCursor Device Context hDC Um emulador de dispositivo. ícone hlcone Uma imagem 32x32 pixels. Instance hlnstance Uma imagens. Uma imagem para o mouse pointer. instância de . uma aplicação Windows, ou melhor: uma cópia ativa dela. Window hWnd Uma Janela. Vamos demonstrar o uso de HANDLES e de objetos GDI com um pequeno projeto. O PROJETO acordo com suas necessidades. Desta maneira, não seria possível acessar um recurso, como corretamente um recurso é através de um código que o identifique Este programa é a base para que você crie seu próprio PROGRAM MANAGER (ou NORTON DESKTOP, se preferir). Ele permite que organizemos o Desktop do Windows minimizando as Janelas que nas tabelas do Windows. Este código é o HANDLE ou MANIPULADOR não nos interessam no momento. uma Janela, através de um endereço de memória, pois o Windows manipula os endereços constantemente. 0 único modo de usar Para se ter uma idéia do que ele faz, observe o formulário na (em inglês). Um HANDLE é um número INTEIRO (16 bits) que identifica figura 1. Ele possui uma UST BOX com os HANDLES e TÍTULOS de unicamente um recurso. As variáveis HANDLEs iniciam seu nome por um "h" minúsculo, e tem sua definição como: todas as Janelas ativas no momento. Um simples Click do mouse em uma linha, alternará o estado da Janela de minimizada para normal ou vice-versa, mantento sempre a Janela do programa em primeiro plano. 0 Botão REFRESH permite atualizar a lista com novas Janelas, e o TERMINAR encerra o programa. Simples, não? Quando o programa entra, ele atualiza a lista de Janelas utilizando funções da API. A seguir ele fica aguardando um comando. Um Click na lista alterna o estado da Janela. As funções da API que permitem isto estão definidas no módulo WORG.BAS: DIM hJan as Integer ou DIM hJan% Windows Organizer r !«!■■ niiiBi &Hf709 ÍH1020 1 Gvittnciadui 4hi PiuRn«m«a Di.WMoa '*** Declaração das rotinas API: Declare Function lslconic% Lib "User" (ByVal hWnd%) Declare Function GetWindow% Lib "User" (ByVal hWnd%, ByVal wCmd%) Declare Function GetWindowText% üb "User" (ByVal hWnd%, ByVal Rgural 34 MICRO SISTEMAS lpString$, ByVal aint%)