04. november 2002 - 14:36Der er
8 kommentarer og 1 løsning
Lidt WinAPI...
Heysa.
Det jeg skal lave, er noget der udregner RGB-farveværdien til OpenGL. Dette gøres ved at dividere med 255. F.eks.: 155 / 255.
Nu har jeg lavet 6 edit-felter. I de 3 første, skal man indtaste den rigtige RGB-værdi - i de 3 sidste viser den resultatet for hver enkelt. Dvs. at hvis jeg skrev 127,5 (halvdelen af 255). så ville den skrive 0.5 i felt 4.
Jeg bruger MSVC++ 6.0, og værdien skal være float, og den skal kun vise de første 4 cifre i de 3 sidste edit-felte. Nogen der kan hjælpe mig? Takker ;-)
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Okay, jeg har sendt sourcen. For en god ordens skyld, vil jeg lige vise koden her...
Til dialogens message map har jeg tilføjet: ON_CONTROL_RANGE(EN_CHANGE, IDC_R, IDC_B, OnChange)
Det bevirker at funktionen OnChange kaldes når en af de 3 edit-felters indhold ændres (EN_CHANGE). De er defineret lige efter hinanden i resource-filen med navnene IDC_R, IDC_G og IDC_B.
I headerfilen er funktionen erklæret sådan: afx_msg void OnChange(UINT nID);
Implementationen af OnChange ser således ud: void CRGBNormalizeDlg::OnChange(UINT nID) { CString csNumber; GetDlgItem(nID)->GetWindowText(csNumber); // Get the text for the edit that changed csNumber.Replace(',', '.'); // So that we can use both '.' and ',' as decimal seperator double dNormalized = atof(csNumber) / 255.0; // Calculate the normalized coler value csNumber.Format("%.3f", dNormalized); // Format the output with 3 decimals GetDlgItem(nID+3)->SetWindowText(csNumber); // Set the text... }
Ja det ved jeg godt :-) Det er pga. at jeg ikke har sat PHP-siden ind, som den mangler!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.