Main_OnCommand 函数的响应按钮段:
- void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
- {
- TCHAR cDriveExists[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- int nLen=0;
- switch(id)
- {
- case IDC_BTNRESULT: //响应计算圆面积按钮
- TCHAR cBanjing[256];
- GetDlgItemText(hwnd,IDC_EDTRADIUS,cBanjing,sizeof(cBanjing)/sizeof(TCHAR));
- double fBanjing,fZhouchang;
- fBanjing = atof(cBanjing);
- fZhouchang = 3.1415926*(fBanjing*fBanjing);
- TCHAR cZhouchang[256];
- gcvt(fZhouchang,10,cZhouchang);
- //SetDlgItemText(hwnd,IDC_EDTZHOUCHANG,cZhouchang);
- SetDlgItemText(hwnd,IDC_STC,cZhouchang);
- break;
- case IDC_BTNCALCHELP: //响应圆面积帮助按钮
- MessageBox(hwnd,TEXT("\n圆形面积计算公式:\n\n圆面积(s)=圆周率π(3.14)*半径(r)的平方。\t"),TEXT("计算公式"),MB_OK|MB_ICONASTERISK);
- break;
- case IDC_BTNGETDRIVERS: //获取用户磁盘信息按钮
- DWORD dwMydrivers;
- dwMydrivers = GetLogicalDrives();
- TCHAR cDrivers[256];
- itoa(dwMydrivers,cDrivers,2); //转换为字符串
- strrev(cDrivers); //反转字符串
- TCHAR cDriverscn[256];
- //MessageBox(hwnd,cDrivers,TEXT("调试"),MB_OK);
- //列出所有存在盘符
- int i;
- for(i=0;i<strlen(cDrivers);i++)
- {
- if(cDrivers[i]=='1')
- {
- cDriverscn[nLen] = cDriveExists[i];
- nLen++;
- }
- }
- cDriverscn[nLen]='\0';
- SetDlgItemText(hwnd,IDC_EDTMYDRIVERS,cDriverscn);
- //判断是否存在D盘
- if(cDrivers[4]='1')
- {
- SetDlgItemText(hwnd,IDC_EDTYESNOD,TEXT("有"));
- }
- else
- {
- SetDlgItemText(hwnd,IDC_EDTYESNOD,TEXT("无"));
- }
- //计算存在磁盘总数
- TCHAR cSUM[256];
- itoa(nLen,cSUM,10);
- SetDlgItemText(hwnd,IDC_EDTDRIVERSNUM,cSUM);
- break;
- default:break;
- }
- }
复制代码
#include "rsrc.inc" rsrc.inc文件里面的内容
-
- #define IDC_GRPCALC 1001
- #define IDC_GRP1 1014
- #define IDC_EDTRADIUS 1002
- #define IDC_BTNRESULT 1003
- #define IDC_BTNCALCHELP 1006
- #define IDC_BTNGETDRIVERS 1008
- #define IDC_STC1 1005
- #define IDC_EDTMYDRIVERS 1007
- #define IDC_EDTYESNOD 1009
- #define IDC_EDTDRIVERSNUM 1010
- #define IDC_STC2 1011
- #define IDC_STC3 1012
- #define IDC_STC4 1013
- #define IDC_STC 1015
复制代码
dialogs.dlg 文件的内容
-
- #define IDC_GRPCALC 1001
- #define IDC_GRP1 1014
- #define IDC_EDTRADIUS 1002
- #define IDC_BTNRESULT 1003
- #define IDC_BTNCALCHELP 1006
- #define IDC_BTNGETDRIVERS 1008
- #define IDC_STC1 1005
- #define IDC_EDTMYDRIVERS 1007
- #define IDC_EDTYESNOD 1009
- #define IDC_EDTDRIVERSNUM 1010
- #define IDC_STC2 1011
- #define IDC_STC3 1012
- #define IDC_STC4 1013
- #define IDC_STC 1015
- #include "dialogs.h"
- #include <windows.h>
- IDD_MAIN DIALOGEX 122,75,245,193
- LANGUAGE 4,2
- CAPTION "calc"
- FONT 8,"Tahoma",0,0,0
- STYLE WS_POPUP|WS_VISIBLE|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MAXIMIZEBOX
- BEGIN
- CONTROL "",IDC_EDTRADIUS,"Edit",WS_CHILD|WS_VISIBLE|WS_TABSTOP,102,29,54,13,WS_EX_CLIENTEDGE
- CONTROL "计 算",IDC_BTNRESULT,"Button",WS_CHILD|WS_VISIBLE|WS_TABSTOP,162,29,42,13
- CONTROL "帮 助",IDC_BTNCALCHELP,"Button",WS_CHILD|WS_VISIBLE|WS_TABSTOP,162,46,42,13
- CONTROL "获取磁盘信息",IDC_BTNGETDRIVERS,"Button",WS_CHILD|WS_VISIBLE|WS_TABSTOP,90,158,66,13
- CONTROL "计算结果:",IDC_STC1,"Static",WS_CHILD|WS_VISIBLE|WS_GROUP,60,48,40,9
- CONTROL "",IDC_EDTMYDRIVERS,"Edit",WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_READONLY,126,118,86,13,WS_EX_CLIENTEDGE
- CONTROL "",IDC_EDTYESNOD,"Edit",WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_READONLY,126,99,86,13,WS_EX_CLIENTEDGE
- CONTROL "",IDC_EDTDRIVERSNUM,"Edit",WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_READONLY,126,136,86,13,WS_EX_CLIENTEDGE
- CONTROL "系统中是否存在有 D 盘:",IDC_STC2,"Static",WS_CHILD|WS_VISIBLE|WS_GROUP,30,101,90,9
- CONTROL "系统中存在的所有磁盘:",IDC_STC3,"Static",WS_CHILD|WS_VISIBLE|WS_GROUP,30,120,88,9
- CONTROL "系统中逻辑驱动器个数:",IDC_STC4,"Static",WS_CHILD|WS_VISIBLE|WS_GROUP,30,138,88,9
- CONTROL "请输入圆的半径 r=",IDC_TEXT,"Static",WS_CHILD|WS_VISIBLE|WS_GROUP,34,31,68,9
- CONTROL "计算圆面积",IDC_GRPCALC,"Button",WS_CHILD|WS_VISIBLE|BS_GROUPBOX,22,14,202,59
- CONTROL "本地磁盘信息",IDC_GRP1,"Button",WS_CHILD|WS_VISIBLE|BS_GROUPBOX,22,84,202,94
- CONTROL "请输入半径",IDC_STC,"Static",WS_CHILD|WS_VISIBLE,104,48,54,9
- END
复制代码 |