📄 havecallwindow.c.bak
字号:
#include"comm.h"
#include<string.h>
#define IDC_BUTTON1 300
#define IDC_BUTTON2 301
char callName[20];
char callTelnumber[20];
HWND hwnd_CallWin;
static void callback_button(HWND hwnd, int id, int nc, DWORD add_data)
{
if((nc==BN_CLICKED)&&(id==IDC_BUTTON1))//接听
{
gprs_ans();
}
else if((nc==BN_CLICKED)&&(id==IDC_BUTTON2))//拒绝
{
gprs_hold();
SendMessage(hwnd_CallWin,MSG_CLOSE,0,0);//关闭窗口
}
}
static int SecondWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
{
HWND hwnd_button1,hwnd_button2;
switch (message) {
case MSG_CREATE:
hwnd_button1=CreateWindow (
CTRL_BUTTON,
"接听",
WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE|BS_NOTIFY,
IDC_BUTTON1,
50, 100, 50, 25,
hWnd,
0);
SetNotificationCallback(hwnd_button1,callback_button);
hwnd_button2=CreateWindow (
CTRL_BUTTON,
"拒绝",
WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE|BS_NOTIFY,
IDC_BUTTON2,
200, 100, 50, 25,
hWnd,
0);
SetNotificationCallback(hwnd_button2,callback_button);
break;
case MSG_PAINT:
{
HDC hdc;
hdc = BeginPaint(hWnd);
SetBkColor(hdc,PIXEL_yellow);
SetTextColor(hdc,PIXEL_blue);
TextOut(hdc,10,10,"姓名:");
TextOut(hdc,10,30,"电话:");
TextOut(hdc,10,50,"来电!!!!!!");
TextOut(hdc,50,10,callName);
TextOut(hdc,50,30,callTelnumber);
EndPaint(hWnd,hdc);
}
break;
case MSG_COMMAND:
break;
case MSG_CLOSE:
DestroyMainWindow (hWnd);
PostQuitMessage (hWnd);
return 0;
}
return DefaultMainWinProc(hWnd, message, wParam, lParam);
}
int haveCallWindow(char telnumber[20])
{
char * name;
name=findData(telnumber);//根据电话号查找姓名
if(name==NULL)
strcpy(callName,"陌生人");
else
strcpy(callName,name);
strcpy(callTelnumber,telnumber);
MSG Msg; //定义消息变量
HWND hMainWnd; //定义句柄
MAINWINCREATE CreateInfo;//定义窗口信息的结构体变量 CreateInfo
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 = SecondWinProc;//该窗口的消息处理函数指针
CreateInfo.lx = 0;//窗口左上角相对屏幕的绝对横坐标,以象素点表示
CreateInfo.ty = 0;//窗口左上角相对屏幕的绝对纵坐标,以象素点表示
CreateInfo.rx = 320;//窗口右下角相对屏幕的绝对横坐标,以象素点表示
CreateInfo.by = 240;//窗口右下角相对屏幕的绝对纵坐标,以象素点表示
CreateInfo.iBkColor = COLOR_yellow;//窗口背景颜色
CreateInfo.dwAddData = 0;//附带给窗口的一个 32 位值
CreateInfo.hHosting = HWND_DESKTOP; //窗口消息队列的托管窗口
hMainWnd = CreateMainWindow (&CreateInfo); //创建窗口
hwnd_CallWin= hMainWnd;
if (hMainWnd == HWND_INVALID)
return -1;
ShowWindow(hMainWnd, SW_SHOWNORMAL);//显示窗口
while (GetMessage(&Msg, hMainWnd)) {//从消息队列中获得消息
TranslateMessage(&Msg);//翻译消息
DispatchMessage(&Msg);//发送消息
}
MainWindowThreadCleanup (hMainWnd);//释放资源
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -