国产成人AV一区二区三区在线_国产成人精品无码免费看_国产成人无码无卡在线观看_国产精品成人A区在线观看_国产日韩精品欧美一区_国产亚洲精品自在久久蜜TV_久草热久草热线频97精品_久久久噜噜噜久久中文福利_久久婷婷五月综合色国产免费观看_日日狠狠久久偷偷色综合0,九一桃色在线观看,久久97精品久久久久久久不卡,国产成人精品亚洲精品

c語(yǔ)言如何檢測(cè)點(diǎn)擊的按鈕?

訪客2025-01-26 20:01:031

main.c:#include <windows.h>#include "resource.h"/* Declare Windows procedure */LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);/* Current app instance */HINSTANCE hInst;/* Make the class name into a global variable */TCHAR szClassName[] = TEXT("WindowsApp");int WINAPIWinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil){ HWND hwnd;/* This is the handle for our window */ MSG messages; /* Here messages to the application are saved */ WNDCLASSEX wincl; /* Data structure for the windowclass *//* Save this instance */hInst = hThisInstance; /* The Window structure */ wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */ wincl.style = CS_DBLCLKS;/* Catch double-clicks */ wincl.cbSize = sizeof (WNDCLASSEX); /* Use default icon and mouse-pointer */ wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION); wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION); wincl.hCursor = LoadCursor (NULL, IDC_ARROW); wincl.lpszMenuName = MAKEINTRESOURCE (IDC_12345); wincl.cbClsExtra = 0; /* No extra bytes after the window class */ wincl.cbWndExtra = 0; /* structure or the window instance */ /* Use Windows's default color as the background of the window */ wincl.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); /* Register the window class, and if it fails quit the program */ if (!RegisterClassEx (&wincl)) return 0; /* The class is registered, let's create the program*/ hwnd = CreateWindowEx (0,/* Extended possibilites for variation */szClassName,/* Classname */TEXT("12345"), /* Title Text */WS_OVERLAPPEDWINDOW, /* default window */CW_USEDEFAULT,/* Windows decides the position */0,/* where the window ends up on the screen */CW_USEDEFAULT,/* The programs width */0,/* and height in pixels */HWND_DESKTOP, /* The window is a child-window to desktop */NULL, /* No menu */hThisInstance,/* Program Instance handler */NULL/* No Window Creation data */); /* Make the window visible on the screen */ ShowWindow (hwnd, nFunsterStil); /* Run the message loop. It will run until GetMessage() returns 0 */ while (GetMessage (&messages, NULL, 0, 0)) { /* Translate virtual-key messages into character messages */ TranslateMessage(&messages); /* Send message to WindowProcedure */ DispatchMessage(&messages); } /* The program return-value is 0 - The value that PostQuitMessage() gave */ return messages.wParam;}/* This function is called by the Windows function DispatchMessage() */LRESULT CALLBACKWindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){PAINTSTRUCT ps;HDC hdc;RECT rt;TCHAR szHello[] = TEXT("今天你打卡了嗎?"); switch (message) /* handle the messages */ {case WM_COMMAND: switch (LOword(wParam)) { case IDM_ABOUT:MessageBox (hwnd, TEXT ("賈智淵制作"), TEXT ("About"), MB_OK | MB_ICONINFORMATION);break;case IDM_EXIT:DestroyWindow(hwnd);break;case IDM_QU:MessageBox (hwnd, TEXT ("今天你打卡了嗎,?"), TEXT ("問(wèn)"), MB_OK | MB_ICONINFORMATION | MB_OKCANCEL | MB_ICONINFORMATION);MessageBox (hwnd, TEXT ("去打卡!"),TEXT ("溫馨提示"), MB_OK | MB_ICONINFORMATION | MB_OKCANCEL | MB_ICONINFORMATION);default:return DefWindowProc(hwnd, message, wParam, lParam); } break; case WM_PAINT:hdc = BeginPaint(hwnd, &ps);/* TODO: Add any drawing code here... */GetClientRect(hwnd, &rt);DrawText(hdc, szHello, lstrlen(szHello), &rt, DT_CENTER);EndPaint(hwnd, &ps);break; case WM_DESTROY: PostQuitMessage (0);/* send a WM_QUIT to the message queue */ break; default: /* for messages that we don't deal with */ return DefWindowProc (hwnd, message, wParam, lParam); } return 0;}12345.rc:#include "resource.h"#include <windows.h>///////////////////////////////////////////////////////////////////////////////// Menu//IDC_12345 MENUBEGIN POPUP "&File" BEGIN MENUITEM "E&xit", IDM_EXIT END POPUP "&Help" BEGIN MENUITEM "&About ...",IDM_ABOUT END POPUP "&Q" BEGIN MENUITEM "&QU",IDM_QU ENDENDresource.h:#define IDM_EXIT10001#define IDM_ABOUT10002#defineIDM_QU 10003#define IDC_1234510101#define IDD_ABOUTBOX10102怎樣修改case IDM_QU:MessageBox (hwnd, TEXT ("今天你打卡了嗎,?"), TEXT ("問(wèn)"), MB_OK | MB_ICONINFORMATION | MB_OKCANCEL | MB_ICONINFORMATION);MessageBox (hwnd, TEXT ("去打卡!"),TEXT ("溫馨提示"), MB_OK | MB_ICONINFORMATION | MB_OKCANCEL | MB_ICONINFORMATION);部分來(lái)確認(rèn)點(diǎn)的是哪個(gè)按鈕(確認(rèn)/取消)

你是用MessageBox上的按鈕,所以可直接用它返回值來(lái)判斷

你的程序可以這樣改

case IDM_QU:if (MessageBox(hwnd, TEXT("今天你打卡了嗎?"), TEXT("問(wèn)"),MB_OK | MB_ICONINFORMATION | MB_OKCANCEL | MB_ICONINFORMATION)==IDCANCEL) //按下取消鍵,,未打卡{if (MessageBox(hwnd, TEXT("去打卡,!"), TEXT("溫馨提示"),MB_OK | MB_ICONINFORMATION | MB_OKCANCEL | MB_ICONINFORMATION)==IDOK){ //按下了確定}else{ //按下了取消}}else{///確定已打卡}default:

另外,,c語(yǔ)言win32的開(kāi)發(fā)模式目前只適合于學(xué)習(xí)了,實(shí)際開(kāi)發(fā)肯定要用C++和構(gòu)件了(不然開(kāi)發(fā)效率太低了)

文章評(píng)論