⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tongxunlu.c

📁 基于LINUX和MINIGUI的通讯录.实现了添加删除修改查看查找等功能
💻 C
📖 第 1 页 / 共 2 页
字号:

    {CTRL_BUTTON,WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,100, 120, 60, 30,IDC_TX_CANCLE,"CANCLE",0},

    {CTRL_BUTTON,WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,30, 120, 60, 30,IDC_TX_KEYBORD,"KEYBORD",0},


};

/*******************************************************************************
* File Name: tongxunlu.c
* Copy Right: GaoHaibo
* Author:  GaoHaibo
* Function discription:判断光标的当前位置
*******************************************************************************/
static void NotifInput (HWND hwnd,int id,int nc,DWORD add_data)
{
    if(nc == EN_SETFOCUS)
    {
        InputEdit=hwnd;
    }
}
static int InitDialogBoxProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {

        //注意这个和主窗口创建的区别,这个是对话框特有的,在主窗口基础上增添的。和CREATE一个时机发送出来的。
        case MSG_INITDIALOG:
        FN = GetDlgItem(hDlg,IDC_TX_FINDNAME);
        SetNotificationCallback(FN,NotifInput);
        SendMessage (FN, EM_LIMITTEXT, 20, 0L);
        return 1;
        
        //处理通知消息
        case MSG_COMMAND:
        switch (wParam)
        {
            case IDC_TX_FIND:
            FindUserInfo();

            break;
            case IDC_TX_CANCLE:
            EndDialog (hDlg, wParam);
            break;


            case IDC_TX_KEYBORD:
            {
                        if(flat==0)
                        {
                            flat=1;
                            KeyBoard(hDlg);
                        }
                        else
                        {
                            DestroyMainWindow(hKB);
                            PostQuitMessage(hKB);
                            flat=0;
                        }

            }
            break;         /*未添加*/
        }
        break;


          case MSG_CLOSE:
          EndDialog (hDlg,0);
          return 0;

        
    }
    
    return DefaultDialogProc (hDlg, message, wParam, lParam);
}
static void InitDialogBox (HWND hWnd)
{
    //制定对话框模版
    DlgInitProgress.controls = CtrlInitProgress;
    DialogBoxIndirectParam (&DlgInitProgress, hWnd, InitDialogBoxProc, 0L);
}

/*******************************************************************************
* File Name: tongxunlu.c
* Copy Right: GaoHaibo
* Author:  GaoHaibo
* Function discription:通讯录窗口建立
*******************************************************************************/
int tongxunluProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
{

    switch (message) 
    {

            case MSG_CREATE:

            CreateWindow(CTRL_STATIC,"NAME:",WS_VISIBLE | SS_SIMPLE,IDC_TX_STATICHXM,30, 18, 40, 30,hWnd,0);   /*姓名 的静态框*/

            CreateWindow(CTRL_STATIC,"MPHONE:",WS_VISIBLE | SS_SIMPLE,IDC_TX_STATICSJ,30, 50, 50, 30,hWnd,0);   /*手机 的静态框*/

            CreateWindow(CTRL_STATIC,"HPHONE:",WS_VISIBLE | SS_SIMPLE,IDC_TX_STATICZD,30, 82, 50, 30,hWnd,0);   /*宅电 的静态框*/

            CreateWindow(CTRL_STATIC,"REMARK:",WS_VISIBLE | SS_SIMPLE,IDC_TX_STATICBZ,30, 114, 50, 30,hWnd,0);   /*宅电 的静态框*/

            TN = CreateWindow(CTRL_SLEDIT,"",WS_CHILD | WS_VISIBLE | WS_BORDER,IDC_TX_N,85,18,200,25,hWnd,0);    /*姓名显示*/
            SetNotificationCallback(TN,NotifInput);
            SendMessage (TN, EM_LIMITTEXT, 20, 0L);

            THDF = CreateWindow(CTRL_SLEDIT,"",WS_CHILD | WS_VISIBLE | WS_BORDER,IDC_TX_M,85,50,200,25,hWnd,0);    /*手机显示*/
            SetNotificationCallback(THDF,NotifInput);
            SendMessage (THDF, EM_LIMITTEXT, 11, 0L);

            THMF = CreateWindow(CTRL_SLEDIT,"",WS_CHILD | WS_VISIBLE | WS_BORDER,IDC_TX_H,85,82,200,25,hWnd,0);    /*宅电显示*/
            SetNotificationCallback(THMF,NotifInput);
            SendMessage (THMF, EM_LIMITTEXT, 12, 0L);

            TRM = CreateWindow(CTRL_SLEDIT,"",WS_CHILD | WS_VISIBLE | WS_BORDER,IDC_TX_B,85,114,200,25,hWnd,0);    /*备注显示*/
            SetNotificationCallback(TRM,NotifInput);
            SendMessage (TRM, EM_LIMITTEXT, 50, 0L);

            CreateWindow (CTRL_BUTTON,"ADD",WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,IDC_TX_ADD,30, 141, 53, 30,hWnd,0);  /*添加按钮*/

            CreateWindow (CTRL_BUTTON,"DELETE",WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,IDC_TX_DELETE,85, 141, 53, 30,hWnd,0);  /*删除按钮*/

            CreateWindow (CTRL_BUTTON,"UP",WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,IDC_TX_UP,140, 141, 53, 30,hWnd,0);  /*上一条按钮*/

            CreateWindow (CTRL_BUTTON,"DOWN",WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,IDC_TX_DOWN,195, 141, 53, 30,hWnd,0);  /*下一条按钮*/

            CreateWindow (CTRL_BUTTON,"MODIFI",WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,IDC_TX_REWORK,30, 173, 53, 30,hWnd,0);  /*修改按钮*/

            CreateWindow (CTRL_BUTTON,"LOOKUP",WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,IDC_TX_LOOKUP,85, 173, 53, 30,hWnd,0);  /*查找按钮*/

            CreateWindow (CTRL_BUTTON,"BACK",WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,IDC_TX_CALL,140, 173, 53, 30,hWnd,0);  /*通话按钮*/

            CreateWindow (CTRL_BUTTON,"SAVE",WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,IDC_TX_SURE,195, 173, 53, 30,hWnd,0);  /*确定按钮*/

            CreateWindow (CTRL_BUTTON,"KB",WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,IDC_TX_KB,250, 141, 35, 62,hWnd,0);

                    case MSG_COMMAND:
            {
              switch(wParam)
              {
                  case IDC_TX_ADD:
                  AddUserInfo(hWnd);
                  mark=1;
                  break;     /*ADD*/

                  case IDC_TX_SURE:
                  if(mark==1)
                  {
                        SaveUserInfo(hWnd);/*ADD 后SAVE */
                        mark=0;
                  }

                  break;

                  case IDC_TX_UP:
                  UpUserInfo(hWnd);     /*调用上一条记录*/
                  break;

                  case IDC_TX_DOWN:
                  DownUserInfo(hWnd);   /*调用下一条记录*/
                  break;

                  case IDC_TX_REWORK:
                  ModUserInfo(hWnd);    /*修改当前记录*/
                  break;

                  case IDC_TX_DELETE:
                  DeleteUserInfo(hWnd); /*删除当前记录*/
                  break;

                  case IDC_TX_LOOKUP:
                  InitDialogBox(hWnd);  /*查找记录*/
                  break;

                  case IDC_TX_CALL:
                  DestroyMainWindow (hWnd);
                  PostQuitMessage (hWnd);
                 break;

                  case IDC_TX_KB:
                  {
                        if(flat==0)
                        {
                            flat=1;
                            KeyBoard(hWnd);
                        }
                        else
                        {
                            DestroyMainWindow(hKB);
                            PostQuitMessage(hKB);
                            UpdateWindow(hWnd,1);
                            flat=0;
                        }

                  }
                  break;

              }
            }
                    
             break;
             case MSG_ERASEBKGND:
            {
                HDC hdc;
                static BITMAP bmp_txl;
                BOOL fGetDC=0;
                hdc=(HDC)wParam;
                if(hdc==0)
                {
                    hdc=GetClientDC(hWnd);
                    fGetDC=1;
                }
                if(LoadBitmap(HDC_SCREEN,& bmp_txl,"main.jpg"))
                    return 1;
                FillBoxWithBitmap(hdc,0,0,320,240,& bmp_txl);
                UnloadBitmap(& bmp_txl);
                if(fGetDC)
                    ReleaseDC(hdc);
                return 0;
            }       
                 case MSG_CLOSE:
                 SaveFile();
                 DestroyMainWindow (hWnd);
                 PostQuitMessage (hWnd);

                 return 0;
    }

    return DefaultMainWinProc(hWnd, message, wParam, lParam);
}

int CreateTongxunlu(HWND hWnd)
{
    MSG Msg;
    HWND hMainWnd;
    MAINWINCREATE CreateInfo;

#ifdef _LITE_VERSION
    SetDesktopRect(0, 0, 1024, 768);
#endif

    CreateInfo.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION;
    CreateInfo.dwExStyle = WS_EX_NONE;
    CreateInfo.spCaption = "Address List";
    CreateInfo.hMenu = 0;
    CreateInfo.hCursor = GetSystemCursor(0);
    CreateInfo.hIcon = 0;
    CreateInfo.MainWindowProc = tongxunluProc;
    CreateInfo.lx = 0;
    CreateInfo.ty = 0;
    CreateInfo.rx = 320;
    CreateInfo.by = 240;
    CreateInfo.iBkColor = COLOR_lightgray;
    CreateInfo.dwAddData = 0;
    CreateInfo.hHosting = HWND_DESKTOP;
    
    hMainWnd = CreateMainWindow (&CreateInfo);
    
    if (hMainWnd == HWND_INVALID)
        return -1;

    ShowWindow(hMainWnd, SW_SHOWNORMAL);

    ShowUserInfo(hMainWnd);

    while (GetMessage(&Msg, hMainWnd)) 
    {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }

    MainWindowThreadCleanup (hMainWnd);

    return 0;
}
/*
#ifndef _LITE_VERSION
#include <minigui/dti.c>
#endif
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -