Windows Foruddefineret Controls - Del 7 Volume - Windows brugergrænseflade Introduktion Dette er en del 7 af min serie, Windows Foruddefinerede Controls. For at forstå denne tutorial, de fleste du har læst alle de tidligere tutorials i serien. I denne del af serien ser vi på meddelelser, som ansøgningen kan sende til redigering kontrol. Vi ser også, hvordan man arbejder med LOWORD og HiWord. Endelig ser vi på en makro (funktion). Bemærk: Hvis du ikke kan se koden, eller hvis du tror noget mangler (brudt link, billede fraværende), bare kontakte mig på [email protected].
Det vil sige, kontakt mig for det mindste problem, du har om, hvad du læser. Beskeder, der kan sendes Et program kan sende en besked til en redigering kontrol. Beskederne er processer ved foruddefinerede vindue klassen procedure. For resten af denne serie, skal vi se på disse edit kontrol beskeder. Hvis du vil sende en besked til en kontrol, kan du bruge SendMessage funktion, hvis syntaks er: LRESULT WinAPI SendMessage (HWND hWnd, UINT Msg, wParam wParam, lParam lParam); Vi oplevede denne syntaks i en af de tidligere dele af serien. Denne funktion returnerer returværdien af meddelelsen.
For parametrene for funktionen, hWnd er håndtaget på kontrollen. MSG er budskabet kode (identifikator), såsom EM_GETSEL (se nedenfor). wParam og lParam er for eventuelle ledsagende data for meddelelsen kode. Lad os nu få de budskaber: Beskeder EM_CANUNDO Denne meddelelse bruges til at afgøre, om den seneste aktion i redigeringsobjektet kan fortrydes. Hvis det kan fortrydes, er returværdien ikke-nul. De wParam og lParam parametre for denne meddelelse er ikke brugt og skal hver være nul (støbt til wParam eller lParam herom).
EM_CHARFROMPOS Et program sender denne meddelelse til redigering kontrol til at bestemme karakteren nærmest et bestemt punkt i kundens område en redigering kontrol. Her er wParam parameter ikke anvendes; indstille den til NULL. LParam parameter har koordinaterne for det punkt i kontrollen klientområdet, i forhold til i venstre øverste hjørne af kundens område, screen enheder. Den LOWORD af lParam indeholder den vandrette koordinat, mens HiWord indeholder den lodrette koordinat. Afkastet værdi af beskeden returneres som LRESULT, som er den returnerede værdi af SendMessage funktionen.
Den LOWORD af LRESULT angiver nul-baserede indeks af den karakter nærmest det angivne punkt regnes fra det første tegn i den første linje. Hvis det angivne punkt er ud over det sidste tegn i redi