Win32 DLL 추가 대화 상자 등
1234 단어 windows
먼저 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를 저장합니다.이 메시지를 확장할 수 있습니다. 예를 들어 컨트롤의 글꼴 스타일, 크기, 컨트롤 배경색 등을 수정할 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
제한된 크기의 디렉토리를 만드는 방법오늘 저는 장치에 공간이 없을 때 백업 중에 응용 프로그램이 어떻게 작동하는지 테스트(및 수정)하는 작업이 있습니다. 결과적으로 "남은 공간 없음"오류로 백업이 실패하면 새 파일이 없어야 합니다. 지금까지 문제를 재...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.