Fönster Klasser - Del 4 Volym - Windows User Interface Inledning Detta är en del 4 av min serie Window Classes. Jag antar att du har läst alla tidigare tutorials före detta. Du bör vara att läsa tutorials i angiven ordning. I denna del av serien, tittar vi på fördefinierade fönster markörer. Obs: Om du inte kan se koden, eller om du tror att något saknas (bruten länk, bild frånvarande), bara att kontakta mig på [email protected]. Det vill säga, kontakta mig för minsta problem du har om vad du läser.
WNDCLASSEX och Markör WNDCLASSEX struct är typedef struct tagWNDCLASSEX {UINT cbSize; UINT stil; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON HICON; HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; HICON hIconSm; } WNDCLASSEX, * PWNDCLASSEX; En klass är en uppsättning av fönsteregenskaper. Alla fönster kan välja en viss registrerad klassen när det skapas. Egenskaperna tilldelas som värden till medlemmarna i WNDCLASSEX struct. Vårt intresse i denna tutorial är hCursor medlem av struct.
Markören Markören här innebär muspekaren. Markören kan ha olika typer av former. Windows har fördefinierade former, som du kan använda. Identifierarna för dessa fördefinierade markörer (former) och deras betydelser: IDC_APPSTARTING: Standard Arrow och Small Timglas IDC_ARROW: Standard Arrow IDC_CROSS: Crosshair IDC_IBEAM: Text I-Beam IDC_NO: Slashed Circle IDC_SIZEDALL: IDC_SIZENESW: Dubbel pekade Arrow pekar nordost och sydväst IDC_SIZENS: Dubbel pekade pilen pekar mot norr och söder. IDC_SIZENWSE: Dubbel pekade Arrow pekar nordvästra och sydöstra.
IDC_SIZEWE: Dubbel spetsiga pil som pekar väst och öst. IDC_UPARROW: Vertical Arrow IDC_WAIT: Hourglass. Tilldela hCursor Programmering av användargränssnittet är ganska knepigt. Du behöver inte tilldela någon av ovanstående identifierare till hCursor medlem av WNDCLASSEX struct. Vad måste tilldelas hCursor är ett handtag av markören och inte identifierare markören. Och så användargränssnittet ger en funktion som kallas loadCursor funktionen. Den här funktionen returnerar ett handtag till markören, om den lyckas i sin verksamhet eller null om det misslyckas.
Anta att du vill att Arrow Standard markören. Identifieraren är IDC_ARROW. För hCursor medlem, skriver du: wcx.hCursor = LoadCursor (NULL, IDC_ARROW); Här är wcx identifierare som du väljer för struct. hCursor är markören medlem i struct redan deklarerats av användargränssnittet. LoadCursor är den funkt