VC++ 사용자 정의 컨트롤 구축 및 사용 방법
delphi, vb는 file-new-other에서 만듭니다.vc++는 도구 모음에 사용자 정의 컨트롤이 있지만 컨트롤 형식을 넣어야 합니다.
많은 서적들이 분류 가이드들 사이에서 세워졌다.내가 여기에서 소개한 것은 수동으로 세운 것이고 그 결과는 같다.
둘.사용자 정의 컨트롤 유형이 설정된 경우:
2.1 도구 모음에 있는 사용자 정의 컨트롤을 대화 상자에 2.2 배치하고 Mycontrol을 만듭니다.h, Mycontrol.cpp 파일 2.3, Mycontrol.h의 정의는
#ifndef __MYCTROLTRL_H__
#define __MYCTROLTRL_H__
#define MYWNDCLASS "mycontrol"
#include
class CMycontrol: public CWnd
{
private:
public:
static BOOL RegisterWndClass();
CMycontrol();
void customfun();//
};
#endif
2.4 Mycontrol.cpp의 실현 부분
#include "StdAfx.h"
#include "mycontrol.h"
CMycontrol::CMycontrol()
{
CMycontrol::RegisterWndClass();
}
// RegisterWndClass 。
CMycontrol::RegisterWndClass()
{
WNDCLASS windowclass;
HINSTANCE hInst = AfxGetInstanceHandle();
//Check weather the class is registerd already
if (!(::GetClassInfo(hInst, MYWNDCLASS, &windowclass)))
{
//If not then we have to register the new class
windowclass.style = CS_DBLCLKS;// | CS_HREDRAW | CS_VREDRAW;
windowclass.lpfnWndProc = ::DefWindowProc;
windowclass.cbClsExtra = windowclass.cbWndExtra = 0;
windowclass.hInstance = hInst;
windowclass.hIcon = NULL;
windowclass.hCursor = AfxGetApp()->LoadStandardCursor(IDC_ARROW);
windowclass.hbrBackground = ::GetSysColorBrush(COLOR_WINDOW);
windowclass.lpszMenuName = NULL;
windowclass.lpszClassName = MYWNDCLASS;
if (!AfxRegisterClass(&windowclass))
{
AfxThrowResourceException();
return FALSE;
}
}
return TRUE;
}
//
void CMycontrol::customfun()
{
AfxMessageBox(_T("my control!"));
}
3. 사용자 정의 컨트롤 사용
3.1.클래스 마법사에서 사용자 정의 컨트롤을 연결할 때 방금 정의한 형식을 찾을 수 없기 때문에 수동으로 코드를 추가하는 방법을 사용합니다. 3.2.대화상자에서.h 파일에 수동으로 추가:public: CMycontrol mmycontrol; 3.3.대화상자에서.cpp 파일에 수동으로 추가:DDXControl(pDX,IDC_CUSTOM1,m_mycontrol); 3.4.대화 상자에 Button을 추가하고 클릭 이벤트에 테스트 코드를 추가합니다.
void CCustomcontrolDlg::OnButton1()
{
// TODO: Add your control notification handler code here
m_mycontrol.customfun();
}
4.vc++ 사용자 정의 컨트롤을 실행하는 대화상자 창을 컴파일합니다.컴파일에 성공했지만 아무것도 보이지 않는 해결
사용자 정의 컨트롤->속성->유형에 "mycontrol"을 입력하면 다시 OK!
이 VC++ 사용자 정의 컨트롤을 모두 소개합니다. 형식에 당신이 실현할 방법을 추가할 수 있습니다.
위에서 말한 것이 바로 본문의 전부이니 여러분들이 좋아해 주시기 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.