Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Fornece uma classe base para vários tipos de objetos da interface gráfica (GDI) do Windows, como bitmaps, regiões, pincéis, canetas, paletas e fontes.
Sintaxe
class CGdiObject : public CObject
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CGdiObject::CGdiObject | Constrói um CGdiObject objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
| CGdiObject::Anexar | Anexa um objeto Windows GDI a um CGdiObject objeto. |
| CGdiObject::CreateStockObject | Recupera um handle de uma das canetas, pincéis ou fontes de stock pré-definidos do Windows. |
| CGdiObject::D eleteObject | Elimina o objeto Windows GDI associado ao CGdiObject objeto da memória, libertando todo o armazenamento do sistema associado ao objeto. |
| CGdiObject::D eleteTempMap | Elimina quaisquer objetos temporários CGdiObject criados por FromHandle. |
| CGdiObject::D etach | Desanexa um objeto Windows GDI de um CGdiObject objeto e devolve um handle ao objeto Windows GDI. |
| CGdiObject::FromHandle | Devolve um ponteiro para um CGdiObject objeto dado como handle a um objeto Windows GDI. |
| CGdiObject::GetObject | Preenche um buffer com dados que descrevem o objeto Windows GDI associado ao CGdiObject objeto. |
| CGdiObject::GetObjectType | Recupera o tipo do objeto GDI. |
| CGdiObject::GetSafeHandle | Retorna m_hObject a menos que this seja NULL, caso em que NULL é devolvido. |
| CGdiObject::UnrealizeObject | Reinicia a origem de um pincel ou reinicia uma paleta lógica. |
Operadores Públicos
| Nome | Description |
|---|---|
| CGdiObject::operator != | Determina se dois objetos GDI são logicamente iguais. |
| CGdiObject::operator == | Determina se dois objetos GDI são logicamente iguais. |
| CGdiObject::operador HGDIOBJ | Recupera um HANDLE para o objeto Windows GDI anexado. |
Membros de Dados Públicos
| Nome | Description |
|---|---|
| CGdiObject::m_hObject | Um HANDLE contendo o HBITMAP, HPALETTE, HRGN, HBRUSH, HPEN ou HFONT ligado a este objeto. |
Observações
Nunca se cria um CGdiObject direto. Em vez disso, cria-se um objeto a partir de uma das suas classes derivadas, como CPen ou CBrush.
Para mais informações sobre CGdiObject, veja Objetos Gráficos.
Hierarquia de herança
CGdiObject
Requerimentos
Cabeçalho: afxwin.h
CGdiObject::Anexar
Anexa um objeto Windows GDI a um CGdiObject objeto.
BOOL Attach(HGDIOBJ hObject);
Parâmetros
hObjeto
Um HANDLE para um objeto Windows GDI (por exemplo, HPEN ou HBRUSH).
Valor de retorno
Não nulo se a ligação for bem-sucedida; caso contrário, 0.
CGdiObject::CGdiObject
Constrói um CGdiObject objeto.
CGdiObject();
Observações
Nunca se cria um CGdiObject direto. Em vez disso, cria-se um objeto a partir de uma das suas classes derivadas, como CPen ou Cbrush.
CGdiObject::CreateStockObject
Recupera um handle de uma das canetas, pincéis ou fontes pré-definidos do Windows GDI e anexa o objeto GDI ao CGdiObject objeto.
BOOL CreateStockObject(int nIndex);
Parâmetros
nIndex
Uma constante que especifica o tipo de objeto padrão desejado. Consulte o parâmetro fnObject para GetStockObject no SDK do Windows para uma descrição dos valores apropriados.
Valor de retorno
Diferente de zero se a função for bem-sucedida; caso contrário, 0.
Observações
Chame esta função com uma das classes derivadas que corresponde ao tipo de objeto GDI do Windows, como CPen para uma caneta stock.
CGdiObject::D eleteObject
Elimina o objeto Windows GDI associado da memória ao libertar todo o armazenamento do sistema associado ao objeto Windows GDI.
BOOL DeleteObject();
Valor de retorno
Não nulo se o objeto GDI fosse eliminado com sucesso; caso contrário, 0.
Observações
O armazenamento associado ao CGdiObject objeto não é afetado por esta chamada. Uma aplicação não deve chamar DeleteObject um CGdiObject objeto que está atualmente selecionado para o contexto de um dispositivo.
Quando um pincel de padrão é eliminado, o bitmap associado ao pincel não é eliminado. O bitmap tem de ser eliminado de forma independente.
CGdiObject::D eleteTempMap
Chamada automaticamente pelo CWinApp handler de tempo ocioso, DeleteTempMap elimina quaisquer objetos temporários CGdiObject criados por FromHandle.
static void PASCAL DeleteTempMap();
Observações
DeleteTempMap desanexa o objeto Windows GDI associado a um objeto temporário CGdiObject antes de eliminar o CGdiObject objeto.
Example
// DeleteTempMap() is a static member and so does not need to
// be called within the scope of an instantiated CGdiObject object.
CGdiObject::DeleteTempMap();
CGdiObject::D etach
Desanexa um objeto Windows GDI de um CGdiObject objeto e devolve um handle ao objeto Windows GDI.
HGDIOBJ Detach();
Valor de retorno
A para o objeto GDI do Windows destacado; caso contrário, HANDLE NULL se não houver nenhum objeto GDI anexado.
CGdiObject::FromHandle
Devolve um ponteiro para um CGdiObject objeto dado como handle a um objeto Windows GDI.
static CGdiObject* PASCAL FromHandle(HGDIOBJ hObject);
Parâmetros
hObjeto
Um HANDLE para um objeto Windows GDI.
Valor de retorno
Uma pista para algo CGdiObject que pode ser temporário ou permanente.
Observações
Se um CGdiObject objeto não estiver já anexado ao objeto Windows GDI, um objeto temporário CGdiObject é criado e anexado.
Este objeto temporário CGdiObject só é válido até à próxima vez que a aplicação tiver tempo de inatividade no seu ciclo de eventos, altura em que todos os objetos gráficos temporários são eliminados. Outra forma de dizer isto é que o objeto temporário só é válido durante o processamento de uma mensagem de janela.
CGdiObject::GetObject
Preenche um buffer com dados que definem um objeto especificado.
int GetObject(
int nCount,
LPVOID lpObject) const;
Parâmetros
nCount
Especifica o número de bytes a copiar para o buffer lpObject .
lpObject
Aponta para um buffer fornecido pelo utilizador que deve receber a informação.
Valor de retorno
O número de bytes recuperados; caso contrário, 0 se ocorrer um erro.
Observações
A função recupera uma estrutura de dados cujo tipo depende do tipo de objeto gráfico, como mostrado pela seguinte lista:
| Objeto | Tipo de buffer |
|---|---|
CPen |
LOGPEN |
CBrush |
ESCOVA DE TRONCOS |
CFont |
LOGFONT |
CBitmap |
BITMAP |
CPalette |
PALAVRA |
CRgn |
Não suportado |
Se o objeto for um CBitmap objeto, GetObject devolve apenas a largura, altura e formato de cor do bitmap. Os bits reais podem ser recuperados usando CBitmap::GetBitmapBits.
Se o objeto for um CPalette objeto, GetObject recupera um WORD que especifica o número de entradas na paleta. A função não recupera a estrutura LOGPALETTE que define a paleta. Uma aplicação pode obter informações sobre entradas de paleta chamando CPalette::GetPaletteEntrries.
CGdiObject::GetObjectType
Recupera o tipo do objeto GDI.
UINT GetObjectType() const;
Valor de retorno
O tipo do objeto, se for bem-sucedido; caso contrário, 0. O valor pode ser um dos seguintes:
OBJ_BITMAP Bitmap
OBJ_BRUSH Brush
OBJ_FONT Fonte
OBJ_PAL Paleta
OBJ_PEN Pen
OBJ_EXTPEN Pen estendido
OBJ_REGION Região
OBJ_DC Contexto do dispositivo
OBJ_MEMDC Contexto do dispositivo de memória
OBJ_METAFILE Metaficheiro
OBJ_METADC Contexto do dispositivo Metafile
OBJ_ENHMETAFILE Metaficheiro melhorado
OBJ_ENHMETADC Contexto do dispositivo com metaficheiro aprimorado
CGdiObject::GetSafeHandle
Retorna m_hObject a menos que this seja NULL, caso em que NULL é devolvido.
HGDIOBJ GetSafeHandle() const;
Valor de retorno
Um HANDLE para o objeto Windows GDI anexado; caso contrário, NULL se nenhum objeto for anexado.
Observações
Isto faz parte do paradigma geral da interface de handle e é útil quando NULL é um valor válido ou especial para um handle.
Example
Veja o exemplo de CWnd::IsWindowEnabled.
CGdiObject::m_hObject
Um HANDLE contendo o HBITMAP, HRGN, HBRUSH, HPEN, HPALETTE ou HFONT ligado a este objeto.
HGDIOBJ m_hObject;
CGdiObject::operator !=
Determina se dois objetos GDI são logicamente iguais.
BOOL operator!=(const CGdiObject& obj) const;
Parâmetros
obj
Um apontador para um .CGdiObject
Observações
Determina se um objeto GDI no lado esquerdo não é igual a um objeto GDI no lado direito.
CGdiObject::operator ==
Determina se dois objetos GDI são logicamente iguais.
BOOL operator==(const CGdiObject& obj) const;
Parâmetros
obj
Uma referência a um .CGdiObject
Observações
Determina se um objeto GDI no lado esquerdo é igual a um objeto GDI do lado direito.
CGdiObject::operador HGDIOBJ
Recupera um HANDLE para o objeto Windows GDI anexado; caso contrário, NULL se nenhum objeto for anexado.
operator HGDIOBJ() const;
CGdiObject::UnrealizeObject
Reinicia a origem de um pincel ou reinicia uma paleta lógica.
BOOL UnrealizeObject();
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Embora UnrealizeObject seja uma função membro da CGdiObject classe, deve ser invocada apenas em CBrush ou CPalette objetos.
Para CBrush objetos, UnrealizeObject direciona o sistema para reiniciar a origem do pincel dado na próxima vez que for selecionado para o contexto de um dispositivo. Se o objeto for um CPalette objeto, UnrealizeObject dirige o sistema para realizar a paleta como se não tivesse sido previamente realizada. Da próxima vez que a aplicação chama a função CDC::RealizePalette para a paleta especificada, o sistema remapeia completamente a paleta lógica para a paleta do sistema.
A UnrealizeObject função não deve ser usada com objetos de origem. A UnrealizeObject função deve ser chamada sempre que uma nova origem de pincel é definida (através da função CDC::SetBrushOrg ). A UnrealizeObject função não deve ser chamada para o pincel atualmente selecionado ou para a paleta selecionada em qualquer contexto de visualização.
Consulte também
Gráfico de Hierarquia
Classe CBitmap
Classe CBrush
Classe CFont
Classe CPalette
Classe CPen
Classe CRgn