Enum

2 respostas
edymrex

Alguém sabe o porque são colocados números no formato “0x70” nos campos da emun, a linguagem em questão é c#

public enum TYMED

{

TYMED_ENHMF = 0x40,

TYMED_FILE = 2,

TYMED_GDI = 0x10,

TYMED_HGLOBAL = 1,

TYMED_ISTORAGE = 8,

TYMED_ISTREAM = 4,

TYMED_MFPICT = 0x20,

TYMED_NULL = 0

}

2 Respostas

T

Essa enum trabalha com bits, por exemplo: TYMED_GDI | TYMED_ENHMF == 0x50 (ou seja, ligamos as opções GDI == 0x10 e ENHMF == 0x40).
Você tem de checar os bits, mais ou menos assim:

if ((t & TYMED_GDI) == TYMED_GDI) {
    /// opção TYMED_GDI ligada
}
if ((t & TYMED_GDI) == 0) {
    /// opção TYMED_GDI desligada
}
edymrex

p/thingol
Cara muito obrigado, deu pra ter uma idéia essa dúvida estava me artormentando.
Irei testar aqui, se tintar uma dúvida eu posto.

Criado 15 de julho de 2008
Ultima resposta 15 de jul. de 2008
Respostas 2
Participantes 2