資源簡介
本人為公司編寫的基于hi3531方案下,minigui3.0的界面編寫樣例,屬于公司內部絕密資料,里面包含了矢量字體,滾動字幕等等的實現,對剛接觸minigui編程的有很大的提升作用。不管是做ipc,nvr,會議系統等的界面的設計,都可能要用到本代碼。
代碼片段和文件信息
#include??
#include??
#include???
#include?
#include??
#include??
#include??
#include??
#include???
#include?“gloable.h“
#include?“address.h“
float?AddrBitrate;
HWND?AddrEdit;
static?void?AddrAdd_notif_proc?(HWND?hDlg?int?id?int?nc?DWORD?add_data)
{
int?pos;
//float?bitrate;
????if?(nc?==?BN_CLICKED)?{
if(id?==?IDC_BITRATE1)
{
AddrBitrate?=?1;
}
if(id?==?IDC_BITRATE2)
{
AddrBitrate?=?1.5;
}
if(id?==?IDC_BITRATE3)
{
AddrBitrate?=?2;
}
if(id?==?IDC_BITRATE4)
{
AddrBitrate?=?2.5;
}
if(id?==?IDC_BITRATE5)
{
AddrBitrate?=?3;
}
if(id?==?IDC_BITRATE6)
{
AddrBitrate?=?4;
}
if(id?==?IDC_BITRATE7)
{
AddrBitrate?=?5;
}
if(id?==?IDC_BITRATE8)
{
AddrBitrate?=?6;
}
if(id?==?IDC_BITRATE9)
{
AddrBitrate?=?8;
}
????}
}
static?int?AddressAddProc?(HWND?hDlg?int?message?WPARAM?wParam?LPARAM?lParam)
{
int?i;
contract?add;
//char?*AddrString?=?NULL;
????switch?(message)?{
????case?MSG_INITDIALOG:
for(i?=?IDC_BITRATE1;?i?<=?IDC_BITRATE9;?i++)
SetNotificationCallback?(GetDlgItem?(hDlg?i)?AddrAdd_notif_proc);
????????return?1;
????????
????case?MSG_COMMAND:
????????switch?(wParam)?{
?case?IDC_ADDNAME:
?case?IDC_ADDNO:
? break;
?case?IDC_GIVEUP:
? EndDialog?(hDlg?wParam);
? break;
?case?IDC_ADDCOMFIRM:
memset(&add0x20sizeof(contract));
? GetWindowText(GetDlgItem?(hDlgIDC_ADDNAME)add.nameGetWindowTextLength(GetDlgItem?(hDlgIDC_ADDNAME)));?
GetWindowText(GetDlgItem?(hDlgIDC_ADDNO)add.numberGetWindowTextLength(GetDlgItem?(hDlgIDC_ADDNO)));
if(strcmp(add.name““)?==?0)
{
MessageBox(hDlgg_System_Message[289]g_System_Message[288]MB_OK);
}else?if(strcmp(add.number““)?==?0)
{
MessageBox(hDlgg_System_Message[290]g_System_Message[288]MB_OK);
}
else
{
//后續還需添加判斷當前的地址名是否已經存在,如果存在則不需要添加,如果不存在,則添加進去.
FILE?*fp;
fp?=?fopen(“/mnt/test/addrbooks.txt““a+“);
//將內容寫進文件里去
sprintf(add.bitrate“%.1fM“AddrBitrate);
add.lbreak[0]?=?0x0d;
add.lbreak[1]?=?0x0a;
fwrite(&add1sizeof(contract)fp);
fclose(fp);
fp?=?NULL;
sync();
//system(“cp?/mnt/test/addrbooks.txt?/mnt/HTgui/“);
initAddressBook(hDlg);
? //EndDialog?(hDlg?wParam);
}
? break;
????????case?IDOK:
????????case?IDCANCEL:
????????????EndDialog?(hDlg?wParam);
????????????break;
????????}
????????break;
????case?MSG_CLOSE:
????????EndDialog?(hDlg?IDCANCEL);
????????break;
????}
????
????return?DefaultDialogProc?(hDlg?message?wParam?lParam);
}
static?void?initAddressAdd(HWND?parent)
{
CTRLDATA?CtrlAddrAdd[]?=
{?
????{
????????CTRL_BUTTON
????????WS_VISIBLE|BS_BITMAP
????????//00720576
????????GUI_Main[0][0]GUI_Main[0][1]GUI_Main[0][2]GUI_Main[0][3]
????????0
????????““
????????(DWORD)&Bg
評論
共有 條評論