C语言结构体和结构体数组示例 - Win32窗口程序演示
生活随笔
收集整理的這篇文章主要介紹了
C语言结构体和结构体数组示例 - Win32窗口程序演示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C語言結構體和結構體數組的使用;
/* C結構體和結構體數組示例,by bobo */#include <windows.h>LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;struct stu{char *name;int age;float score; }estus[] = {{"敏敏",20,97.99},{"芷若",20,98.99},{"曉芙",27,96.98}};int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow) {static TCHAR szAppName[] = TEXT ("struct Demo") ;HWND hwnd ;MSG msg ;WNDCLASS wndclass ;wndclass.style = CS_HREDRAW | CS_VREDRAW ;wndclass.lpfnWndProc = WndProc ;wndclass.cbClsExtra = 0 ;wndclass.cbWndExtra = 0 ;wndclass.hInstance = hInstance ;wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;wndclass.lpszMenuName = szAppName ;wndclass.lpszClassName = szAppName ;if (!RegisterClass (&wndclass)){MessageBox (NULL, TEXT ("This program requires Windows NT!"), szAppName, MB_ICONERROR) ;return 0 ;}hwnd = CreateWindow (szAppName,TEXT ("C結構體和結構體數組示例"), WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL, hInstance,NULL) ;ShowWindow (hwnd, iCmdShow) ;UpdateWindow (hwnd) ;while (GetMessage (&msg, NULL, 0, 0)){TranslateMessage (&msg) ;DispatchMessage (&msg) ;}return msg.wParam ; }LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {HDC hdc;PAINTSTRUCT ps;int i;char buffer[65];char dstr[20];struct stu stu1; switch (message){case WM_CREATE: return 0 ;case WM_LBUTTONDOWN:hdc = GetDC(hwnd);stu1.name="小昭";stu1.age=18;stu1.score=99.99;sprintf(dstr,"%.2lf",stu1.score);//將stu1.score保留2位小數賦值給dstrwsprintf(buffer, "姓名:%s,年齡:%d,成績:%s", stu1.name,stu1.age,dstr);TextOut(hdc, 300, 20, buffer, 35);for(i=0;i<3;i++){sprintf(dstr,"%.2lf",estus[i].score);wsprintf(buffer, "姓名:%s,年齡:%d,成績:%s", estus[i].name,estus[i].age,dstr);TextOut(hdc, 300, 45+25*i, buffer, 35);}return 0;case WM_PAINT:hdc = BeginPaint (hwnd, &ps); EndPaint (hwnd, &ps) ;return 0 ; case WM_DESTROY:PostQuitMessage (0) ;return 0 ;}return DefWindowProc (hwnd, message, wParam, lParam) ; }? ? 由于Windows API的wsprintf函數在格式化時不支持浮點類型,先用sprintf把浮點轉為字符串;
總結
以上是生活随笔為你收集整理的C语言结构体和结构体数组示例 - Win32窗口程序演示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记一次内核模块查看 - 初步通过文件厂商
- 下一篇: Oracle 检查点队列和HASH Bu