Цитата:
ЛеднеFF:
COLORREF SetPixel (HDC,x,y, color )
|
Это функция из Win API, и для консольных приложений просто так применять нельзя. Нужно преварительно получить хендл и контекст устройства.
Код:
#include "stdafx.h"
#include "windows.h"
using namespace std;
BOOL CALLBACK EnumWndProc(HWND hwnd, LPARAM lParam)
{
if(GetWindowThreadProcessId(hwnd, NULL) == GetCurrentThreadId())
{
*(HWND*)lParam = hwnd;
return FALSE;
}
return TRUE;
}
int main(int argc, _TCHAR* argv[])
{
HWND hWnd;
HDC hDc;
EnumWindows(EnumWndProc, (LPARAM)&hWnd);
hDc = GetDC(hWnd);
for (int i=20; i<100; i++)
::SetPixel(hDc,i,i,RGB(255,0,0));
getchar();
return 0;
}
Если у Вас MS VS 6.0, закомментируйте строку
Код:
using namespace std;
По идее должно работать и выводить наклонную красную черту.
Цитата:
ЛеднеFF:
особенно касающиеся какого там HDC
|
Это контекст устройства, получаемого через хендл, для выполнения опеpаций интеpфейса GDI, куда вы хотите вывести данный пиксель.
Хендл - говоря простым языком, описатетель или идентификатор объекта. Под объектом может подразумеваться все что угодно. (окно, кнопка, даже устройство). При этом гарантируется, что все хендлы (handle) в пределах одного процесса(?) будут уникальны.