Windows Fördefinierade Controls - Del 8 Volym - Windows User Interface Introduktion Detta är en del 8 av min serie, Windows fördefinierade Controls. För att förstå denna tutorial, du helst ha läst alla tidigare tutorials i serien. I denna del av serien, ser vi på knapptyper i Windows. 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.
Button En knapp är en kontroll som användaren kan klicka för att ge underlag till en ansökan. Idag Windows API UI har åtta knappar. Vi ska titta på innebörden av de åtta knapparna i den här guiden. Tryckknapp en tryckknapp är den vanliga rektangulära knappen. Prova följande kod för att se vad en knapp ser ut: #include using namespace std; LResult ÅTER MainWndProc (HWND hwnd, UINT uMsg, WPARAM wParam, lParam lParam) {switch (uMsg) {default: tillbaka DefWindowProc (hwnd, uMsg, wParam, lParam); } Återvända 0; } Int WinAPI WinMain (HINSTANCE hinstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {WNDCLASSEX wcx; wcx.
cbSize = sizeof (wcx); wcx.style = CS_HREDRAW | CS_VREDRAW; wcx.lpfnWndProc = MainWndProc; wcx.cbClsExtra = 0; wcx.cbWndExtra = 0; wcx.hInstance = hinstance; wcx.hIcon = NULL; wcx.hCursor = LoadCursor (NULL, IDC_ARROW); wcx.hbrBackground = (HBRUSH) (COLOR_BACKGROUND + 1); wcx.lpszMenuName = NULL; wcx.lpszClassName = "MainWClass"; wcx.
hIconSm = NULL; RegisterClassEx (& wcx); HWND hwndMain; hwndMain = CreateWindowEx (0, "MainWClass", "Huvudfönstret", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hinstance, NULL); if (hwndMain!) return false; Showwindow (hwndMain, SW_SHOW); UpdateWindow (hwndMain); HWND hwndPush; hwndEdit1 = CreateWindowEx (0, "KNAPP", "Push Button", WS_CHILD | BS_PUSHBUTTON, 100, 100, 90, 25, hwndMain, (HMENU) 1, hinstance, NULL); Showwindow (hwndPush, SW_SHOW); UpdateWindow (hwndPush); MSG msg; BOOL BRET; while ((Bret = GetMessage (& msg, hwndMain, 0, 0)) = 0!) {if (Bret == -1) {//hantera felet och eventuellt avsluta programmet} else {TranslateMessage (& msg); DispatchMessage (& msg); }} Återvända msg.
wParam; } Du kan använda följande kommando vid kommandotolken för att kompilera koden: g ++ winpush.cpp -mwindows -o winpush.exe Du skapar en kontrollknappen på samma sätt som du skapar en redigeringskontroll. Med kontrollknappen, är kategoriknappen. Namnet på knappen (fönster) b