telbook.c
来自「minigui PDA系统 可实现手机功能」· C语言 代码 · 共 573 行 · 第 1/2 页
C
573 行
if(hwnd == hCtrl2 && nc == MYBUTTON_MOUSEMOVE)
{
SetWindowAdditionalData(hwnd, (DWORD)&add_mousemove);
}
if(hwnd == hCtrl3 && nc == MYBUTTON_MOUSEMOVE)
{
SetWindowAdditionalData(hwnd, (DWORD)&search_mousemove);
}
if(hwnd == hCtrl4 && nc == MYBUTTON_MOUSEMOVE)
{
SetWindowAdditionalData(hwnd, (DWORD)&alter_mousemove);
}
if(hwnd == hCtrl5 && nc == MYBUTTON_MOUSEMOVE)
{
SetWindowAdditionalData(hwnd, (DWORD)&delete_mousemove);
}
if(hwnd == hCtrl6 && nc == MYBUTTON_MOUSEMOVE)
{
SetWindowAdditionalData(hwnd, (DWORD)&return_mousemove);
}
if(hwnd == hCtrl7 && nc == MYBUTTON_MOUSEMOVE)
{
SetWindowAdditionalData(hwnd, (DWORD)&sim_mousemove);
}
InvalidateRect (hwnd, NULL, TRUE);
}
*/
static int InitWinProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
int i=0;
time_t now;
char time_buf[50];
struct tm* timenow;
char *wday[]={"Sun", "Mon", "Tue" ,"Wed" ,"Thu" ,"Fri" ,"Sat"};
FILE *DTRfp;
switch (message)
{
case MSG_CREATE:
createwin(hDlg);
/*LoadBitmap (HDC_SCREEN, &delete_pushed, "image/button/d13.jpg");
LoadBitmap (HDC_SCREEN, &delete_unpushed, "image/button/d11.jpg");
LoadBitmap (HDC_SCREEN, &delete_mousemove, "image/button/d12.jpg");
LoadBitmap (HDC_SCREEN, &add_pushed, "image/button/a3.jpg");
LoadBitmap (HDC_SCREEN, &add_unpushed, "image/button/a1.jpg");
LoadBitmap (HDC_SCREEN, &add_mousemove, "image/button/a2.jpg");
LoadBitmap (HDC_SCREEN, &search_pushed, "image/button/s3.jpg");
LoadBitmap (HDC_SCREEN, &search_unpushed, "image/button/s1.jpg");
LoadBitmap (HDC_SCREEN, &search_mousemove, "image/button/s2.jpg");
LoadBitmap (HDC_SCREEN, &sim_pushed, "image/button/sim3.jpg");
LoadBitmap (HDC_SCREEN, &sim_unpushed, "image/button/sim1.jpg");
LoadBitmap (HDC_SCREEN, &sim_mousemove, "image/button/sim2.jpg");
LoadBitmap (HDC_SCREEN, &dial_pushed, "image/button/d03.jpg");
LoadBitmap (HDC_SCREEN, &dial_unpushed, "image/button/d01.jpg");
LoadBitmap (HDC_SCREEN, &dial_mousemove, "image/button/d02.jpg");
LoadBitmap (HDC_SCREEN, &return_pushed, "image/button/r03.jpg");
LoadBitmap (HDC_SCREEN, &return_unpushed, "image/button/r01.jpg");
LoadBitmap (HDC_SCREEN, &return_mousemove, "image/button/r02.jpg");
LoadBitmap (HDC_SCREEN, &alter_pushed, "image/button/u3.jpg");
LoadBitmap (HDC_SCREEN, &alter_unpushed, "image/button/u1.jpg");
LoadBitmap (HDC_SCREEN, &alter_mousemove, "image/button/u2.jpg");
SetNotificationCallback (hCtrl1, notify_proc);
SetNotificationCallback (hCtrl2, notify_proc);
SetNotificationCallback (hCtrl3, notify_proc);
SetNotificationCallback (hCtrl4, notify_proc);
SetNotificationCallback (hCtrl5, notify_proc);
SetNotificationCallback (hCtrl6, notify_proc);
SetNotificationCallback (hCtrl7, notify_proc);
*/
SetNotificationCallback (GetDlgItem (hDlg, IDM_NAME), search_proc);
SetNotificationCallback (GetDlgItem (hDlg, IDM_PHONE), search_proc);
SetNotificationCallback (GetDlgItem (hDlg,IDM_LIST), list_proc);
print(hDlg,IDM_LIST);
return 0;
case MSG_PAINT:
hdc = BeginPaint (hDlg);
SetBkMode(hdc, BM_TRANSPARENT);
SetTextColor(hdc, PIXEL_red);
TextOut(hdc,5, 5,"姓名");
TextOut(hdc,5, 35,"号码");
EndPaint (hDlg, hdc);
return 0;
case MSG_MOUSEMOVE:
/*SetWindowAdditionalData(hCtrl1, (DWORD)&dial_unpushed);
SetWindowAdditionalData(hCtrl2, (DWORD)&add_unpushed);
SetWindowAdditionalData(hCtrl3, (DWORD)&search_unpushed);
SetWindowAdditionalData(hCtrl4, (DWORD)&alter_unpushed);
SetWindowAdditionalData(hCtrl5, (DWORD)&delete_unpushed);
SetWindowAdditionalData(hCtrl6, (DWORD)&return_unpushed);
SetWindowAdditionalData(hCtrl7, (DWORD)&sim_unpushed);
*/
InvalidateRect (hCtrl1, NULL, TRUE);
InvalidateRect (hCtrl2, NULL, TRUE);
InvalidateRect (hCtrl3, NULL, TRUE);
InvalidateRect (hCtrl4, NULL, TRUE);
InvalidateRect (hCtrl5, NULL, TRUE);
InvalidateRect (hCtrl6, NULL, TRUE);
InvalidateRect (hCtrl7, NULL, TRUE);
break;
///*
case MSG_COMMAND:
SendDlgItemMessage (hDlg, IDM_LIST, LB_RESETCONTENT, 0, (LPARAM)0);
switch (wParam) {
case IDM_ADD://添加
addItem(hDlg);
print(hDlg,IDM_LIST);
break;
case IDM_SEARCH://查找
search(hDlg,IDM_LIST,search_name,search_num);
break;
case IDM_MODIFY://修改
{
if(strcmp(list,"")==0)
{
MessageBox(hDlg,"请选择一位要修改的联系人","确定",MB_OK|MB_BASEDONPARENT);
break;
}
parse(list);
modify(hDlg,mod_name,mod_num);
print(hDlg,IDM_LIST);
}
break;
case IDM_DELETE://删除
if(strcmp(list,"")==0)
{
MessageBox(hDlg,"请选择一位要删除的联系人","确定",MB_OK|MB_BASEDONPARENT);
break;
}
parse(list);
deleteFromFile();
MessageBox(hDlg,"删除成功!","确定",MB_OK|MB_BASEDONPARENT);
strcpy(search_name,"");
strcpy(search_num,"");
SetWindowText (GetDlgItem (hDlg, IDM_NAME), "");
SetWindowText (GetDlgItem (hDlg, IDM_PHONE), "");
print(hDlg,IDM_LIST);
break;
///////////////////////////////////////////////////////////////////////////////
case IDM_CALL://打电话
GetWindowText(GetDlgItem (hDlg, IDM_PHONE),buff_num, 20);
if(CALL_ANS == 0 )
{
printf("%d\n",DTRfp = fopen("data/telalready.txt","a+"));
gprs_call(buff_num, strlen(buff_num));
strcpy(CI.tel_number,buff_num);
printf("%s\n",CI.tel_number);
printf("time\n");
time(&now);
timenow=localtime(&now);
printf("%d\n",timenow->tm_wday);
sprintf(time_buf,"%d-%d-%d %d:%d:%d %s",
timenow->tm_year+1900,timenow->tm_mon+1,timenow->tm_mday,
timenow->tm_hour,timenow->tm_min,timenow->tm_sec,wday[timenow->tm_wday]);
strcpy(CI.tel_time,time_buf);
printf("tel_time=%s",CI.tel_time);
fwrite(&CI, sizeof(_CALLINFO), 1, DTRfp);
fclose(DTRfp);
printf("tel_num = %s",buff_num);
CALL_NOCARRIER = 1;
CALL_ANS = 1;
AnsweringDialog(hDlg);
}
break;
/////////////////////////////////////////////////////////////////////////////////////////
case IDM_BROWSE://浏览SIM卡
tty_writecmd("at+cpbr=?",strlen( "at+cpbr=?"));
//tty_writecmd("at+cpbr=1,5",strlen( "at+cpbr=1,5"));
break;
case IDM_RETURN://返回
DestroyMainWindow (hDlg);//销毁主窗口,发送MSG_DESTROY消息
PostQuitMessage (hDlg );//退出消息循环,发送MSG_QUIT消息
break;
}
return 0;
//*/
case MSG_ERASEBKGND://用图片填充背景
{
HDC hdc = (HDC)wParam;
const RECT* clip = (const RECT*) lParam;
BOOL fGetDC = FALSE;
RECT rcTemp;
if (hdc == 0) {
hdc = GetClientDC (hDlg);
fGetDC = TRUE;}
if (clip) {
rcTemp = *clip;
//将屏幕坐标转换为客户区坐标
ScreenToClient (hDlg, &rcTemp.left, &rcTemp.top);
ScreenToClient (hDlg, &rcTemp.right, &rcTemp.bottom);
IncludeClipRect (hdc, &rcTemp);
}
FillBoxWithBitmap (hdc, 0, 0, 0, 0, &bmp_bkgnd);
if (fGetDC)
ReleaseDC (hdc);
return 0;
}
case MSG_CLOSE:
/* UnloadBitmap (&bmp_bkgnd);
UnloadBitmap (&return_pushed);
UnloadBitmap (&return_unpushed);
UnloadBitmap (&return_mousemove);
UnloadBitmap (&dial_pushed);
UnloadBitmap (&dial_unpushed);
UnloadBitmap (&dial_mousemove);
UnloadBitmap (&add_pushed);
UnloadBitmap (&add_unpushed);
UnloadBitmap (&add_mousemove);
UnloadBitmap (&delete_pushed);
UnloadBitmap (&delete_unpushed);
UnloadBitmap (&delete_mousemove);
UnloadBitmap (&alter_pushed);
UnloadBitmap (&alter_unpushed);
UnloadBitmap (&alter_mousemove);
UnloadBitmap (&search_pushed);
UnloadBitmap (&search_unpushed);
UnloadBitmap (&search_mousemove);
UnloadBitmap (&sim_pushed);
UnloadBitmap (&sim_unpushed);
UnloadBitmap (&sim_mousemove);
*/
DestroyMainWindow (hDlg);//销毁主窗口,发送MSG_DESTROY消息
PostQuitMessage (hDlg );//退出消息循环,发送MSG_QUIT消息
return 0;
}
return DefaultMainWinProc(hDlg, message, wParam, lParam);
}
int telbook (HWND hWnd)
//int MiniGUIMain(int argc,const char *argv[])
{
HDC hdc;
MSG Msg;
//HWND hMainWnd;
MAINWINCREATE CreateInfo;
if( LoadBitmap(HDC_SCREEN,&bmp_bkgnd,"image/background/bkgnd29.jpg"))
return -1;
RegisterMyButtonControl ();
CreateInfo.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION;
CreateInfo.dwExStyle = WS_EX_NONE;
CreateInfo.spCaption = "通讯录";
CreateInfo.hMenu = 0;
CreateInfo.hCursor = GetSystemCursor(0);
CreateInfo.hIcon = 0;
CreateInfo.MainWindowProc = InitWinProc;
CreateInfo.lx = 0;
CreateInfo.ty = 0;
CreateInfo.rx = 320;
CreateInfo.by = 216;
CreateInfo.iBkColor = COLOR_lightwhite;
CreateInfo.dwAddData = 0;
CreateInfo.hHosting = hWnd;
hMainWnd= CreateMainWindow (&CreateInfo);
hWnd_Tel=hMainWnd;
if (hMainWnd == HWND_INVALID)
return -1;
ShowWindow(hMainWnd, SW_SHOWNORMAL);
while (GetMessage(&Msg, hMainWnd)) {
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
UnregisterMyButtonControl ();
MainWindowThreadCleanup (hMainWnd);
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?