대화 상자를 제어하는 DLL을 만들고 있습니다. 나는 빨간 글씨가있는 특정 영역을 얻는 것을 좋아한다. 이 코드는 컴파일되지만 효과는 나타나지 않습니다. 여기에 dialogProc이 완료되는 영역은 다음과 같습니다정적 텍스트 색상 설정 Win32
LRESULT CALLBACK DialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_INITDIALOG:
CheckDlgButton(hDlg, IDC_CHECK, FALSE);
EnableWindow(GetDlgItem(hDlg, IDOK), FALSE);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_CHECK:
if (IsDlgButtonChecked(hDlg, IDC_CHECK))
{
EnableWindow(GetDlgItem(hDlg, IDOK), TRUE);
EnableWindow(GetDlgItem(hDlg, IDCANCEL), FALSE);
}
else
{
EnableWindow(GetDlgItem(hDlg, IDOK), FALSE);
EnableWindow(GetDlgItem(hDlg, IDCANCEL), TRUE);
}
break;
case IDOK:
{
EndDialog(hDlg, TRUE);
return FALSE;
}
case IDCANCEL:
{
EndDialog(hDlg, FALSE);
return FALSE;
}
case WM_CTLCOLORSTATIC:
// Set the colour of the text for our URL
if ((HWND)lParam == GetDlgItem(hDlg,IDC_WARNING))
{
// we're about to draw the static
// set the text colour in (HDC)lParam
SetBkMode((HDC)wParam,TRANSPARENT);
SetTextColor((HDC)wParam, RGB(255,0,0));
return (BOOL)CreateSolidBrush (GetSysColor(COLOR_MENU));
}
return TRUE;
}
}
return FALSE;
}
코드 블록이 실행 되었습니까? –
case 문은 그렇지만 버튼을 클릭하는 것과 같은 사용자 상호 작용에 기반한다고 생각합니다. Win32 API에서 색상을 정적으로 설정하는 방법이 너무 명확하지 않습니다. 나는 C++에서 객체에 색상 속성이있는 곳이 많다. –
음, 파란색이 이제 작동 중입니다. 이제는 흰색 배경이 도처에 있습니다! –