VC中如何自定義控制元件?
uj5u.com熱心網友回復:
注冊一個 類名 如
// CMyAnimateCtrl
BOOL CMyAnimateCtrl::RegisterMyself()
{// Register the window class if it has not already been registered.
WNDCLASS wc;
HINSTANCE hInst = AfxGetInstanceHandle();
if(!(::GetClassInfo(hInst, "MySysAnimate32", &wc)))
{// otherwise we need to register a new class,must have CS_OWNDC !
wc.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;// | CS_OWNDC;// | CS_GLOBALCLASS;
wc.lpfnWndProc = ::DefWindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;//SPINCUBE_EXTRA;//=4
wc.hInstance = hInst;
wc.hIcon = NULL;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = NULL;
wc.lpszMenuName = (LPSTR)NULL;
wc.lpszClassName = (LPSTR)"MySysAnimate32";
if (!AfxRegisterClass(&wc))
{
AfxMessageBox("Register a custom control failed!");
return FALSE;
}
}
return TRUE;
}
uj5u.com熱心網友回復:
https://www.baidu.com/baidu?wd=MFC+ActiveX&tn=monline_4_dg&ie=utf-8uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
一般從已有類中派生,像視窗啊,按鈕啊,在上面重繪就好了,重寫DrawItem,或者在OnPaint中直接畫。其他別的操作類似于滑鼠按下,添加訊息回應就好了uj5u.com熱心網友回復:
很多都是直接拖進去的,如果是要自定義的話,直接把OnPaint函式重新寫過就好了轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/79688.html
上一篇:VC2008上開發的DLL能在VC2010上呼叫嗎?
下一篇:我寫了一個作業執行緒是打開txt檔案然后逐行發送出去,在發送按鈕的訊息處理函式里呼叫這個執行緒編譯成功,就是出現卡死的現象。
