对话框中很多控件,其中有一个是视频采集窗口,怎么实现双击全屏?...
对话框中很多控件,其中有一个是视频采集窗口,怎么实现双击全屏?... --------------------编程问答-------------------- 处理内部消息 获取机电部件文件进度上报 加载模块信号量初始化 文件方式加载接口内存方式加载接口 加载模块初始化
UINT32s y1 CHECK_RET_OK_RN(ulRet, ulRet); y2
CCU_NULL_BYTE y3 CCU_NULL_PTR y4 return CCU_ERR y5 return CCU_OK y6
CCU_FClose(fp) y7 stFileData y8
y1 Proc485InterCmd(PDOWN_485_FRAME pSt485Msg)
y1 ulRet = CCU_NULL_LONG;UCHAR ucIsProcess = CCU_FALSE;
ulRet = Proc485InterFileCmd(pSt485Msg, &ucIsProcess);
CHECK_PARA_RTN_VALUE(ucIsProcess, CCU_TRUE, ulRet);.. = Proc485InterFruCmd(..); ..;y6;
y1 ReportGetFileSchedToPdt(y1 ulResId, LABEL_TYPE enType, y1 ulSched)
DBG_DOWNLOAD(LP_INFO,"", (UINT)ulResId,enType,(INT)ulSched);
if (DOWNLOAD_SUCCESS_FLAG == (INT)ulSched ){(VOID)CCU_LogWrite;}y6;}
y1 Init485LoadSem()
y1 i = 0;y1 j = 0;for ( i = 0 ; i < MAX_CCU_CHAN_NUM; i++ ){
for ( j = 0 ; j < GET_FRU_TAB_SIZE ; j++ )
{if ( CCU_OK != ADA_CreatSynSem((key_t)(SEM_IPC_LOAD_POS_TIMER + i*GET_FRU_TAB_SIZE
+j), &g_ast485GetFruTab[i].astFruUint[j].ulSynSemId)){打; y5; }打}}
for ..{if ( ..(SEM_IPC_LOAD_POS_TIMER + (GET_FRU_TAB_SIZE * MAX_CCU_CHAN_NUM
+ i)), (INT32 *)&g_ast485GetFruTab[i].ulMutexSem4Id) ){打;y5;}}y6;
y1 CCU_LoadOnlineByFile(y1 ulResId, CCU_LOAD_TYPE_ENUM enType, CHAR *pstrMainFileName )
y1 ulRet = CCU_ERR;
CHAR *pcTmp = y4; y1 ulLen = CCU_NULL_LONG;UINT16 uwIndex = CCU_NULL_WORD;
UCHAR ucNetFn = y3;UCHAR ucCmd = y3;RS485_FILE_LOAD y8;
UINT8 ucChanNum = y3;UINT8 ucAddr = y3;FILE *fp = y4;INT32 iLen = -1;CHECK;
CHECK_PARA_RTN_VALUE(g_ulIsDownHasInit, CCU_FALSE, CCU_ERR_MPI_NOT_INIT_CCUMAIN);
CHECK_LOAD_TYPE_RTN_VALUE(enType,CCU_ERR_MPI_LOAD_PARAMS_ILLEGAL);
ulRet = IsResIdRight(ulResId, &ucChanNum, &ucAddr);y2;
if (g_ast485BoardInfo[ucChanNum][ucAddr].enHswState != CCU_NODE_STATE_SYNC){return ;}
fp = CCU_FOpen(pstrMainFileName, "rb");if (y4 == fp){打;return ;}
if (0 != CCU_FSeek(fp, 0, SEEK_END)){打;y7;y5;}
iLen = CCU_FTell(fp);if (iLen <= 0){打;y7;return;}
if ( CCU_LOAD_ELABEL == enType )
{ if (iLen > ELABEL_MAX_SIZE){打;y7; return;} }
if (0 != y7){打;y5;}y8.enType = enType;
pcTmp = pstrMainFileName;ulLen = (y1)CCU_StrLen(pstrMainFileName);
//包括\0 if (ulLen + 1 > MAX_485_DATA_LEN){return ;}
CCU_MemCpy((CHAR *)&(y8.aucData[0]), pcTmp, (INT)ulLen + 1);
ucNetFn = CCU_485LOAD_TYPE;
ucCmd = CCU_485_DOWN_FILE_CMD;ulLen = ulLen + 1 + sizeof(y8.enType);
ulRet = RS485Rq(ulResId, uwIndex, 0, ucNetFn, ucCmd, (UCHAR *)&y8, ulLen);
(VOID)CCU_LogWrite ;return ulRet;
y1 CCU_LoadOnlineByBuf(y1 ulResourceId,CCU_LOAD_TYPE_ENUM enType,
UCHAR *pucMainBuf,y1 ulMainBufLen)
y1 DownLoad485Init()
y1 ulRet = CCU_ERR;ulRet = DownLoad485TabInit();y2;ulRet = Rs485RdFruTabInit()
;y2;ulRet = Init485LoadSem();y2;g_ulIsDownHasInit = CCU_TRUE;y6;
--------------------编程问答-------------------- 处理内部文件传输消息
--------------------编程问答-------------------- UINT32 ulRet = CCU_OK;
UCHAR *pLoadBuf = CCU_NULL_PTR;
UINT8 ucChanNum = 0;
RS485_FILE_LOAD* pFile = CCU_NULL_PTR;
CHECK_PARA2_NULL_RN(pSt485Msg, pucIsProcess, CCU_ERR_MPI_INVALID_PARAMS);
ucChanNum = Get485ChanNo(pSt485Msg->ulResId);
if ( ucChanNum >= MAX_CCU_CHAN_NUM )
{
return CCU_ERR_MPI_INVALID_PARAMS;
}
switch(pSt485Msg->ucCmd)
{
case CCU_485_DOWN_FILE_CMD:
*pucIsProcess = CCU_TRUE;
ulRet = ProcRs485FileLoad(pSt485Msg);
if (CCU_OK != ulRet )
{
ConvRetToRet(ulRet);
pFile = (RS485_FILE_LOAD*)&pSt485Msg->aucData[0];
ReportLoadSchedToPdt(pSt485Msg->ulResId, pFile->enType ,ulRet);
}
return ulRet;
case CCU_485_LOAD_EXC_CMD:
*pucIsProcess = CCU_TRUE;
ulRet = ProcRs485DownExec(pSt485Msg);
if (CCU_OK != ulRet )
{
ConvRetToRet(ulRet);
ReportLoadSchedToPdt(g_ast485DownLoadTab[ucChanNum].astDataUint[pSt485Msg->uwSeq].ulResourceId,\
g_ast485DownLoadTab[ucChanNum].astDataUint[pSt485Msg->uwSeq].enLoadType,ulRet);
CCU485ClearLoadData(ucChanNum, pSt485Msg->uwSeq);
}
return ulRet;
case CCU_485_DOWN_BUF_CMD:
*pucIsProcess = CCU_TRUE;
ulRet = ProcRs485BufLoad(pSt485Msg,&pLoadBuf);
if (CCU_OK != ulRet )
{
ConvRetToRet(ulRet);
ReportLoadSchedToPdt(g_ast485DownLoadTab[ucChanNum].astDataUint[pSt485Msg->uwSeq].ulResourceId,\
g_ast485DownLoadTab[ucChanNum].astDataUint[pSt485Msg->uwSeq].enLoadType,ulRet);
}
if (CCU_NULL_PTR != pLoadBuf)
{
CCU_MemFree(CCU_MEM_INFO, pLoadBuf);
pLoadBuf = CCU_NULL_PTR;
}
return ulRet;
default:
break;
}
return CCU_OK;
补充:.NET技术 , 其他语言