![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
GetDC(0) vs GetDC(GetDesktopWindow) [D7, WinXP]
IGray © (2003-08-15 11:12:00)
Пожалуйста, помогите понять разницу между
результатом GetDC(0) и GetDC(GetDesktopWindow)
В примерах по рисованию на десктопе встречаются
оба варианта, но у меня на XP вариант
GetDC(GetDesktopWindow) не работает.
Очень хочется понять суть различий...
app (2003-08-17 11:42:00) [1]
Не одно и тоже
Экран и область окна рабочего стола, первое физическое, а второе логическое, но не обязательно что бы десктоп был равен физическому жкрану. И десктопов может быть несколько, а экран один. Считай что экран это как бы просто видеобуфер.
Viktorious (2003-08-16 17:16:00) [2]
The GetDesktopWindowfunction returns the handle of the Windows desktop window. The desktop window covers the entire screen.The desktop window is the area on top of which all icons and other windows are painted.
То есть реально это одно и то же.
Игорь Шевченко (2003-08-15 12:14:00) [3]
HDC GetDC(
HWND hWnd // handle to window
);
Parameters
hWnd
[in] Handle to the window whose DC is to be retrieved. If this value is NULL, GetDC retrieves the DC for the entire screen.
Если параметр равен нулю, то GetDC возвращает Device Context для всей области окна DesktopWindow, а не только для его клиентской части, то есть работает, как GetWindowDC. Весьма вероятно, что в этом и причина. На XP можно попробовать GetWindowDC(GetDesktopWindow). У меня XP под рукой нету, проверить не могу.