如何去觸發Form2的觸發事件 |
尚未結案
|
octto741023
一般會員 發表:13 回覆:3 積分:3 註冊:2008-11-25 發送簡訊給我 |
|
ikk
尊榮會員 發表:4 回覆:413 積分:768 註冊:2003-06-30 發送簡訊給我 |
|
octto741023
一般會員 發表:13 回覆:3 積分:3 註冊:2008-11-25 發送簡訊給我 |
===================引 用 ikk 文 章=================== 最好是把code post上來, 通常講的跟實際code都有差別... 看樣子是form2找不到form1, 可能是程式未產生視窗?? form1 與 form2 都有出現?? 又或是呼叫的錯誤form1 instance, --> extern PACKAGE TForm1 *Form1; 應該使用Form1 又或是存取到form1的private 成員. ============================================== ikk大大你好: 這是我寫的程式,我是利用paint去描繪出我要的影像,可是要怎麼去觸發Form2的paint的事件哩,我是有想過是不是可以要使Form2得到Handle勒。 void __fastcall TForm1::OnFormPaint(TObject *Sender) { // Protection if (m_pCurrent==NULL) return; // Get DC of the window HDC hDevice = GetDC (Handle); SetDIBitsToDevice (hDevice, 220, 0, m_SizeX, m_SizeY, //增加子視窗 右上 0, 0, 0, m_SizeY, m_pCurrent, m_pBitmapInfo, DIB_RGB_COLORS); // Release DC ReleaseDC(Handle,hDevice); // Display channel info on status bar // Retrieve the channel state McGetParamInt (m_Channel, MC_ChannelState, &m_ChannelState); // Retrieve the frame rate double frameRate_Hz; McGetParamFloat(m_Channel, MC_PerSecond_Fr, &frameRate_Hz); // Display frame rate and channel state StatusBar1->SimpleText = m_StatusBarText.sprintf("Frame Rate: %.2f, Channel State: %s", frameRate_Hz, (m_ChannelState == MC_ChannelState_ACTIVE? "ACTIVE" : "NOT ACTIVE")); } //--------------------------------------------------------------------------- void WINAPI GlobalCallback (PMCSIGNALINFO SigInfo) { if (SigInfo && SigInfo->Context) { TForm1* pTForm1 = (TForm1*) SigInfo->Context ; pTForm1->Callback (SigInfo); } } //--------------------------------------------------------------------------- void TForm1::Callback(PMCSIGNALINFO SigInfo) { if (SigInfo->Signal == MC_SIG_SURFACE_PROCESSING) { // Update "current" surface address pointer McGetParamInt (SigInfo->SignalInfo, MC_SurfaceAddr, (PINT32) &m_pCurrent); // Post screen refresh message RECT recpict ; recpict.left =0; recpict.top =0; recpict.right = m_SizeX-1; recpict.bottom = m_SizeY-1; InvalidateRect(Handle,&recpict,false); Form2->Show(); HDC hDevice =Form2->Handle; } else if (SigInfo->Signal == MC_SIG_SURFACE_PROCESSING) { // Insert your failure handling code here. } } |
ikk
尊榮會員 發表:4 回覆:413 積分:768 註冊:2003-06-30 發送簡訊給我 |
|
octto741023
一般會員 發表:13 回覆:3 積分:3 註冊:2008-11-25 發送簡訊給我 |
|
ikk
尊榮會員 發表:4 回覆:413 積分:768 註冊:2003-06-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |