Win32 DLL 추가 대화 상자 등

1234 단어 windows
한 항목에서 공통적인 DLL 모듈을 만들어야 합니다. 이 DLL은 팝업 창이 있어야 기록, 메모를 할 수 있습니다!
먼저 Win32 DLL 프로젝트를 vs2008로 새로 만듭니다.
vs2008에서 프로젝트 이름을 선택하고 오른쪽으로 눌러서 Dialog 자원 추가를 선택하십시오
팝업 창이 필요한 위치에 다음 코드를 삽입합니다.
ret = DialogBoxParamW(g_dllmodule, MAKEINTRESOURCEW(IDD_DIALOG1), parent_hwnd, callback_dlgproc, (LPARAM)si);

매개 변수 gdllmodule는 DllMain에서 전달해야 합니다. 그렇지 않으면 창을 표시하거나 처리할 수 없습니다.
매개변수 IDDDIALOG1에 추가된 Dialog 자원 ID 이름
매개변수parenthwnd는 창의 부모 창 핸들이거나 NULL일 수 있습니다
매개 변수 콜백dlgproc 창의 메시지 순환 처리를 위한 리셋 함수
매개변수 si는 사용자 정의 데이터 유형이며, 이 매개변수를 통해 WM 에 데이터를 전달할 수 있습니다.INITDIALOG 메시지, 거의 WM이 매개변수는 INITDIALOG 메시지에 유효합니다.
프로젝트에서 STATIC 컨트롤의 글꼴 색상을 수정해야 하며, 검색을 통해 유사한 솔루션을 찾아 적용된 항목을 수정해야 합니다.
case WM_CTLCOLORSTATIC:
		{
			if(IDC_STATIC_NOTE == GetDlgCtrlID((HWND)lp))
			{
				HDC dc = (HDC)wp;
				SetTextColor(dc, RGB(255, 0, 0));
				SetBkMode(dc, TRANSPARENT);
				return (INT_PTR)GetStockObject(NULL_BRUSH);
			}
		}
메시지 루프 콜백 함수에서 메시지 유형 WM 증가CTLCOLOTSTATIC, STATIC 컨트롤의 글꼴 색상을 수정하고GetDlgCtrlID를 통해 수정해야 할 STATIC 컨트롤을 가져옵니다. 매개 변수lp는 메시지 순환 리셋 함수 중의 마지막 매개 변수인 LPARAMlp입니다. 이 매개 변수는 STATIC 컨트롤의 ID를 저장합니다.
이 메시지를 확장할 수 있습니다. 예를 들어 컨트롤의 글꼴 스타일, 크기, 컨트롤 배경색 등을 수정할 수 있습니다.

좋은 웹페이지 즐겨찾기