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 ;-)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.